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

Public Member Functions

 fixedRational (double D0, double DMAX, double R0)
 
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

template<int POW>
static double doRational (const double rdist, double &dfunc, double result=0.0)
 

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...
 
std::string mytype
 
double shift =0.0
 
double stretch =1.0
 Parameters for stretching the function to zero at d_max. More...
 

Private Member Functions

std::string specificDescription () const override
 

Constructor & Destructor Documentation

◆ fixedRational()

template<int N, std::enable_if_t<(N >0), bool > = true, std::enable_if_t<(N %2==0), bool > = true>
PLMD::switchContainers::fixedRational< N,, >::fixedRational ( double  D0,
double  DMAX,
double  R0 
)
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<int N, std::enable_if_t<(N >0), bool > = true, std::enable_if_t<(N %2==0), bool > = true>
double PLMD::switchContainers::fixedRational< N,, >::calculateSqr ( double  distance2,
double &  dfunc 
) const
inlineoverridevirtual

◆ description()

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

◆ doRational()

template<int N, std::enable_if_t<(N >0), bool > = true, std::enable_if_t<(N %2==0), bool > = true>
template<int POW>
static double PLMD::switchContainers::fixedRational< N,, >::doRational ( const double  rdist,
double &  dfunc,
double  result = 0.0 
)
inlinestatic

◆ function()

template<int N, std::enable_if_t<(N >0), bool > = true, std::enable_if_t<(N %2==0), bool > = true>
double PLMD::switchContainers::fixedRational< N,, >::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<int N, std::enable_if_t<(N >0), bool > = true, std::enable_if_t<(N %2==0), bool > = true>
std::string PLMD::switchContainers::fixedRational< N,, >::specificDescription ( ) const
inlineoverrideprivatevirtual

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()

◆ mytype

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

◆ 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: