Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
PLMD::switchContainers::rational< isFast, nis2m > Class Template Reference
Inheritance diagram for PLMD::switchContainers::rational< isFast, nis2m >:
Inheritance graph
[legend]

Public Member Functions

 rational (double D0, double DMAX, double R0, int N, int M)
 
virtual double calculate (double distance, double &dfunc) const
 the driver for the function (prepares rdist or returns 1 or 0 automatically) More...
 
double calculateSqr (double distance2, double &dfunc) const override
 
std::string description () const
 
double function (double rdist, double &dfunc) const override
 
double get_d0 () const
 
double get_dmax () const
 
double get_dmax2 () const
 
double get_r0 () const
 
void removeStretch ()
 
void setupStretch ()
 

Static Public Member Functions

static double doRational (const double rdist, double &dfunc, double secDev, const int N, const int M, double result=0.0)
 

Protected Member Functions

std::string specificDescription () const override
 

Protected Attributes

double d0 =0.0
 Minimum distance (before this, function is one) More...
 
double dmax =0.0
 Maximum distance (after this, function is zero) More...
 
double dmax_2 =0.0
 Square of dmax, useful in calculateSqr() More...
 
double invr0 =0.0
 We store the inverse to avoid a division. More...
 
double invr0_2 =0.0
 Square of invr0, useful in calculateSqr() More...
 
const int mm =12
 
const int mmf
 
std::string mytype
 
const int nn =6
 
const int nnf
 
const double preDfunc
 
const double preDfuncF
 
const double preRes
 
const double preSecDev
 
const double preSecDevF
 
double shift =0.0
 
double stretch =1.0
 Parameters for stretching the function to zero at d_max. More...
 

Static Protected Attributes

static constexpr double lessThanOne =1.0-5.0e10*PLMD::epsilon
 
static constexpr double moreThanOne =1.0+5.0e10*PLMD::epsilon
 

Constructor & Destructor Documentation

◆ rational()

template<rationalPow isFast, rationalForm nis2m>
PLMD::switchContainers::rational< isFast, nis2m >::rational ( double  D0,
double  DMAX,
double  R0,
int  N,
int  M 
)
inline

Member Function Documentation

◆ calculate()

double PLMD::switchContainers::baseSwitch::calculate ( double  distance,
double &  dfunc 
) const
virtualinherited

the driver for the function (prepares rdist or returns 1 or 0 automatically)

Reimplemented in PLMD::switchContainers::leptonSwitch, and PLMD::switchContainers::nativeqSwitch.

◆ calculateSqr()

template<rationalPow isFast, rationalForm nis2m>
double PLMD::switchContainers::rational< isFast, nis2m >::calculateSqr ( double  distance2,
double &  dfunc 
) const
inlineoverridevirtual

◆ description()

std::string PLMD::switchContainers::baseSwitch::description ( ) const
inherited

◆ doRational()

template<rationalPow isFast, rationalForm nis2m>
static double PLMD::switchContainers::rational< isFast, nis2m >::doRational ( const double  rdist,
double &  dfunc,
double  secDev,
const int  N,
const int  M,
double  result = 0.0 
)
inlinestatic

◆ function()

template<rationalPow isFast, rationalForm nis2m>
double PLMD::switchContainers::rational< isFast, nis2m >::function ( double  rdist,
double &  dfunc 
) const
inlineoverridevirtual

◆ get_d0()

double PLMD::switchContainers::baseSwitch::get_d0 ( ) const
inherited

◆ get_dmax()

double PLMD::switchContainers::baseSwitch::get_dmax ( ) const
inherited

◆ get_dmax2()

double PLMD::switchContainers::baseSwitch::get_dmax2 ( ) const
inherited

◆ get_r0()

double PLMD::switchContainers::baseSwitch::get_r0 ( ) const
inherited

◆ removeStretch()

void PLMD::switchContainers::baseSwitch::removeStretch ( )
inherited

◆ setupStretch()

void PLMD::switchContainers::baseSwitch::setupStretch ( )
inherited

◆ specificDescription()

template<rationalPow isFast, rationalForm nis2m>
std::string PLMD::switchContainers::rational< isFast, nis2m >::specificDescription ( ) const
inlineoverrideprotectedvirtual

Member Data Documentation

◆ d0

double PLMD::switchContainers::baseSwitch::d0 =0.0
protectedinherited

Minimum distance (before this, function is one)

◆ dmax

double PLMD::switchContainers::baseSwitch::dmax =0.0
protectedinherited

Maximum distance (after this, function is zero)

◆ dmax_2

double PLMD::switchContainers::baseSwitch::dmax_2 =0.0
protectedinherited

Square of dmax, useful in calculateSqr()

◆ invr0

double PLMD::switchContainers::baseSwitch::invr0 =0.0
protectedinherited

We store the inverse to avoid a division.

◆ invr0_2

double PLMD::switchContainers::baseSwitch::invr0_2 =0.0
protectedinherited

Square of invr0, useful in calculateSqr()

◆ lessThanOne

template<rationalPow isFast, rationalForm nis2m>
constexpr double PLMD::switchContainers::rational< isFast, nis2m >::lessThanOne =1.0-5.0e10*PLMD::epsilon
staticconstexprprotected

◆ mm

template<rationalPow isFast, rationalForm nis2m>
const int PLMD::switchContainers::rational< isFast, nis2m >::mm =12
protected

◆ mmf

template<rationalPow isFast, rationalForm nis2m>
const int PLMD::switchContainers::rational< isFast, nis2m >::mmf
protected

◆ moreThanOne

template<rationalPow isFast, rationalForm nis2m>
constexpr double PLMD::switchContainers::rational< isFast, nis2m >::moreThanOne =1.0+5.0e10*PLMD::epsilon
staticconstexprprotected

◆ mytype

std::string PLMD::switchContainers::baseSwitch::mytype
protectedinherited

◆ nn

template<rationalPow isFast, rationalForm nis2m>
const int PLMD::switchContainers::rational< isFast, nis2m >::nn =6
protected

◆ nnf

template<rationalPow isFast, rationalForm nis2m>
const int PLMD::switchContainers::rational< isFast, nis2m >::nnf
protected

◆ preDfunc

template<rationalPow isFast, rationalForm nis2m>
const double PLMD::switchContainers::rational< isFast, nis2m >::preDfunc
protected

◆ preDfuncF

template<rationalPow isFast, rationalForm nis2m>
const double PLMD::switchContainers::rational< isFast, nis2m >::preDfuncF
protected

◆ preRes

template<rationalPow isFast, rationalForm nis2m>
const double PLMD::switchContainers::rational< isFast, nis2m >::preRes
protected

◆ preSecDev

template<rationalPow isFast, rationalForm nis2m>
const double PLMD::switchContainers::rational< isFast, nis2m >::preSecDev
protected

◆ preSecDevF

template<rationalPow isFast, rationalForm nis2m>
const double PLMD::switchContainers::rational< isFast, nis2m >::preSecDevF
protected

◆ shift

double PLMD::switchContainers::baseSwitch::shift =0.0
protectedinherited

◆ stretch

double PLMD::switchContainers::baseSwitch::stretch =1.0
protectedinherited

Parameters for stretching the function to zero at d_max.


The documentation for this class was generated from the following file: