Loading...
Searching...
No Matches
pairExpRDFIntegrator.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: pairExpRDFIntegrator.h,v 1.24 2005/12/23 17:02:00 amoll Exp $
//
#ifndef BALL_SOLVATION_PAIREXPRDFINTEGRATOR_H
#define BALL_SOLVATION_PAIREXPRDFINTEGRATOR_H
#ifndef BALL_COMMON_H
# include <BALL/common.h>
#endif
#ifndef BALL_STRUCTURE_RDFINTEGRATOR_H
# include <BALL/STRUCTURE/RDFIntegrator.h>
#endif
#ifndef BALL_MATHS_PIECEWISEFUNCTION_H
# include <BALL/STRUCTURE/piecewiseFunction.h>
#endif
#ifndef BALL_DATATYPE_OPTIONS_H
# include <BALL/DATATYPE/options.h>
#endif
namespace BALL
{
class BALL_EXPORT PairExpRDFIntegrator
: public RDFIntegrator
{
public:
BALL_CREATE(PairExpRDFIntegrator)
struct BALL_EXPORT Option
{
static const char* VERBOSITY;
static const char* SAMPLES;
};
struct BALL_EXPORT Default
{
static const int VERBOSITY;
static const int SAMPLES;
};
PairExpRDFIntegrator();
PairExpRDFIntegrator(const PairExpRDFIntegrator& integrator);
PairExpRDFIntegrator(double alpha, double C1, double C2, double R_ij_o,
double k1, double k2, const RadialDistributionFunction& rdf);
virtual ~PairExpRDFIntegrator();
const PairExpRDFIntegrator& operator =
(const PairExpRDFIntegrator& integrator) ;
virtual void clear();
void setConstants(double alpha, double C1, double C2, double R_ij_o,
double k1, double k2);
void getConstants(double& alpha, double& C1, double& C2, double& R_ij_o,
double& k1, double& k2) ;
double integrateToInf(double from) const;
double integrateToInf(double from, double alpha, double C1, double C2,
double R_ij_o, double k1, double k2);
double integrate(double from, double to) const ;
double integrate(double from, double to, double alpha, double C1,
double C2, double R_ij_o, double k1, double k2) ;
virtual double operator () (double x) const;
bool operator == (const PairExpRDFIntegrator& integrator) const;
Options options;
virtual void dump (std::ostream& s = std::cout, Size depth = 0) const;
protected:
/*_ potential constant
*/
double alpha_;
/*_ potential constant
*/
double C1_;
/*_ potential constant
*/
double C2_;
/*_ potential constant
*/
double R_ij_o_;
/*_ geometric correction
*/
double k1_;
/*_ geometric correction
*/
double k2_;
private:
/*_ Integrate an interval numerically.
@param interval the interval to be integrated
@return the value of the integral
*/
double numericallyIntegrateInterval(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_PAIREXPRDFINTEGRATOR_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
RDFIntegrator.h
BALL::Options
Definition options.h:48
BALL::PairExpRDFIntegrator::C2_
double C2_
Definition pairExpRDFIntegrator.h:241
BALL::PairExpRDFIntegrator::R_ij_o_
double R_ij_o_
Definition pairExpRDFIntegrator.h:245
BALL::PairExpRDFIntegrator::alpha_
double alpha_
Definition pairExpRDFIntegrator.h:233
BALL::PairExpRDFIntegrator::clear
virtual void clear()
BALL::PairExpRDFIntegrator::C1_
double C1_
Definition pairExpRDFIntegrator.h:237
BALL::PairExpRDFIntegrator::PairExpRDFIntegrator
PairExpRDFIntegrator(const PairExpRDFIntegrator &integrator)
BALL::PairExpRDFIntegrator::PairExpRDFIntegrator
PairExpRDFIntegrator(double alpha, double C1, double C2, double R_ij_o, double k1, double k2, const RadialDistributionFunction &rdf)
BALL::PairExpRDFIntegrator::integrateToInf
double integrateToInf(double from, double alpha, double C1, double C2, double R_ij_o, double k1, double k2)
BALL::PairExpRDFIntegrator::integrateToInf
double integrateToInf(double from) const
BALL::PairExpRDFIntegrator::options
Options options
Definition pairExpRDFIntegrator.h:215
BALL::PairExpRDFIntegrator::dump
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
BALL::PairExpRDFIntegrator::getConstants
void getConstants(double &alpha, double &C1, double &C2, double &R_ij_o, double &k1, double &k2)
BALL::PairExpRDFIntegrator::k1_
double k1_
Definition pairExpRDFIntegrator.h:249
BALL::PairExpRDFIntegrator::PairExpRDFIntegrator
PairExpRDFIntegrator()
BALL::PairExpRDFIntegrator::integrate
double integrate(double from, double to) const
BALL::PairExpRDFIntegrator::~PairExpRDFIntegrator
virtual ~PairExpRDFIntegrator()
BALL::PairExpRDFIntegrator::setConstants
void setConstants(double alpha, double C1, double C2, double R_ij_o, double k1, double k2)
BALL::PairExpRDFIntegrator::k2_
double k2_
Definition pairExpRDFIntegrator.h:253
BALL::PairExpRDFIntegrator::integrate
double integrate(double from, double to, double alpha, double C1, double C2, double R_ij_o, double k1, double k2)
BALL::RDFIntegrator::RDFIntegrator
RDFIntegrator()
BALL::RadialDistributionFunction
Definition radialDistributionFunction.h:23
common.h
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
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
BALL::PairExpRDFIntegrator::Default
Definition pairExpRDFIntegrator.h:66
BALL::PairExpRDFIntegrator::Default::VERBOSITY
static const int VERBOSITY
Definition pairExpRDFIntegrator.h:70
BALL::PairExpRDFIntegrator::Default::SAMPLES
static const int SAMPLES
Definition pairExpRDFIntegrator.h:74
BALL::PairExpRDFIntegrator::Option
Definition pairExpRDFIntegrator.h:50
BALL::PairExpRDFIntegrator::Option::VERBOSITY
static const char * VERBOSITY
Definition pairExpRDFIntegrator.h:56
BALL::PairExpRDFIntegrator::Option::SAMPLES
static const char * SAMPLES
Definition pairExpRDFIntegrator.h:62