Loading...
Searching...
No Matches
pair6_12RDFIntegrator.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: pair6_12RDFIntegrator.h,v 1.24 2005/12/23 17:01:59 amoll Exp $
//
#ifndef BALL_SOLVATION_PAIR6_12RDFINTEGRATOR_H
#define BALL_SOLVATION_PAIR6_12RDFINTEGRATOR_H
#ifndef BALL_STRUCTURE_RDFINTEGRATOR_H
# include <BALL/STRUCTURE/RDFIntegrator.h>
#endif
#ifndef BALL_MATHS_PIECEWISEFUNCTION_H
# include <BALL/MATHS/piecewiseFunction.h>
#endif
#ifndef BALL_DATATYPE_OPTIONS_H
# include <BALL/DATATYPE/options.h>
#endif
// ?????: DOCU ... documentation for constants
namespace BALL
{
class BALL_EXPORT Pair6_12RDFIntegrator
: public RDFIntegrator
{
public:
BALL_CREATE(Pair6_12RDFIntegrator)
struct BALL_EXPORT Option
{
static const char* METHOD;
static const char* SAMPLES;
static const char* VERBOSITY;
};
struct BALL_EXPORT Default
{
static const Size VERBOSITY;
static const Size METHOD;
static const Size SAMPLES;
};
enum IntegrationMethod
{
METHOD__UNKNOWN = 0,
METHOD__ANALYTICAL = 1,
METHOD__TRAPEZIUM = 2
};
Pair6_12RDFIntegrator();
Pair6_12RDFIntegrator(const Pair6_12RDFIntegrator& integrator);
Pair6_12RDFIntegrator(double A, double B, double k1, double k2,
const RadialDistributionFunction& rdf);
virtual ~Pair6_12RDFIntegrator();
const Pair6_12RDFIntegrator& operator =
(const Pair6_12RDFIntegrator& integrator);
virtual void clear();
void setConstants(double A, double B, double k1, double k2);
void getConstants(double& A, double& B, double& k1, double& k2);
double integrateToInf(double from) const;
double integrateToInf(double from, double A, double B, double k1,
double k2);
double integrate(double from, double to) const;
double integrate(double from, double to, double A, double B, double k1,
double k2);
virtual double operator () (double x) const;
bool operator == (const Pair6_12RDFIntegrator& integrator) const;
Options options;
virtual void dump (std::ostream& s = std::cout, Size depth = 0) const;
protected:
/*_ Repulsion constant
*/
double A_;
/*_ Dispersion constant
*/
double B_;
/*_ Geometry constant
*/
double k1_;
/*_ Geometry constant
*/
double k2_;
private:
/*_ Integrate an interval analytically. This method does the actual work.
@param interval the interval to be integrated
@param coeffs the coefficients for this interval
@param x0 the value to be subtracted from x
@return the value of the integral
*/
double analyticallyIntegrateInterval(const Interval& interval,
const Coefficients& coeffs, float x0) const;
/*_ Integrate an interval numerically.
@param interval the interval to be integrated
@return the value of the integral
*/
double numericallyIntegrateInterval(const Interval& interval) const;
/*_ Project a number from the integration beam to the projection beam
of an atom center for the rdf thingy.
@param x the value to be projected
@return the projection of <b> x </b>
*/
double project(double x) const;
/*_ Do the reverse of project().
@param x the valut to be reversly projected
@return the projection of <b> x </b>
*/
double unproject(double x) const;
};
} // namespace BALL
#endif // BALL_SOLVATION_PAIR6_12RDFINTEGRATOR_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
RDFIntegrator.h
BALL::Options
Definition options.h:48
BALL::Pair6_12RDFIntegrator::k1_
double k1_
Definition pair6_12RDFIntegrator.h:246
BALL::Pair6_12RDFIntegrator::integrate
double integrate(double from, double to) const
BALL::Pair6_12RDFIntegrator::integrateToInf
double integrateToInf(double from, double A, double B, double k1, double k2)
BALL::Pair6_12RDFIntegrator::Pair6_12RDFIntegrator
Pair6_12RDFIntegrator(double A, double B, double k1, double k2, const RadialDistributionFunction &rdf)
BALL::Pair6_12RDFIntegrator::dump
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
BALL::Pair6_12RDFIntegrator::setConstants
void setConstants(double A, double B, double k1, double k2)
BALL::Pair6_12RDFIntegrator::getConstants
void getConstants(double &A, double &B, double &k1, double &k2)
BALL::Pair6_12RDFIntegrator::k2_
double k2_
Definition pair6_12RDFIntegrator.h:250
BALL::Pair6_12RDFIntegrator::options
Options options
Definition pair6_12RDFIntegrator.h:219
BALL::Pair6_12RDFIntegrator::Pair6_12RDFIntegrator
Pair6_12RDFIntegrator(const Pair6_12RDFIntegrator &integrator)
BALL::Pair6_12RDFIntegrator::A_
double A_
Definition pair6_12RDFIntegrator.h:238
BALL::Pair6_12RDFIntegrator::integrate
double integrate(double from, double to, double A, double B, double k1, double k2)
BALL::Pair6_12RDFIntegrator::clear
virtual void clear()
BALL::Pair6_12RDFIntegrator::integrateToInf
double integrateToInf(double from) const
BALL::Pair6_12RDFIntegrator::IntegrationMethod
IntegrationMethod
Definition pair6_12RDFIntegrator.h:90
BALL::Pair6_12RDFIntegrator::METHOD__ANALYTICAL
@ METHOD__ANALYTICAL
Definition pair6_12RDFIntegrator.h:92
BALL::Pair6_12RDFIntegrator::METHOD__TRAPEZIUM
@ METHOD__TRAPEZIUM
Definition pair6_12RDFIntegrator.h:93
BALL::Pair6_12RDFIntegrator::METHOD__UNKNOWN
@ METHOD__UNKNOWN
Definition pair6_12RDFIntegrator.h:91
BALL::Pair6_12RDFIntegrator::~Pair6_12RDFIntegrator
virtual ~Pair6_12RDFIntegrator()
BALL::Pair6_12RDFIntegrator::Pair6_12RDFIntegrator
Pair6_12RDFIntegrator()
BALL::Pair6_12RDFIntegrator::B_
double B_
Definition pair6_12RDFIntegrator.h:242
BALL::RDFIntegrator::RDFIntegrator
RDFIntegrator()
BALL::RadialDistributionFunction
Definition radialDistributionFunction.h:23
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
BALL::Coefficients
std::vector< double > Coefficients
Definition piecewiseFunction.h:19
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Interval
std::pair< double, double > Interval
Definition piecewiseFunction.h:23
options.h
piecewiseFunction.h
BALL::Pair6_12RDFIntegrator::Default
Definition pair6_12RDFIntegrator.h:70
BALL::Pair6_12RDFIntegrator::Default::SAMPLES
static const Size SAMPLES
Definition pair6_12RDFIntegrator.h:84
BALL::Pair6_12RDFIntegrator::Default::VERBOSITY
static const Size VERBOSITY
Definition pair6_12RDFIntegrator.h:74
BALL::Pair6_12RDFIntegrator::Default::METHOD
static const Size METHOD
Definition pair6_12RDFIntegrator.h:79
BALL::Pair6_12RDFIntegrator::Option
Definition pair6_12RDFIntegrator.h:46
BALL::Pair6_12RDFIntegrator::Option::VERBOSITY
static const char * VERBOSITY
Definition pair6_12RDFIntegrator.h:66
BALL::Pair6_12RDFIntegrator::Option::METHOD
static const char * METHOD
Definition pair6_12RDFIntegrator.h:52
BALL::Pair6_12RDFIntegrator::Option::SAMPLES
static const char * SAMPLES
Definition pair6_12RDFIntegrator.h:59