Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PLMD::switchContainers::baseSwitch Class Referenceabstract

container for the actual switching function used by PLMD::SwitchingFunction More...

#include <SwitchingFunction.h>

Inheritance diagram for PLMD::switchContainers::baseSwitch:
Inheritance graph
[legend]

Public Member Functions

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

Protected Member Functions

virtual double function (double rdist, double &dfunc) const =0
 
virtual std::string specificDescription () const
 

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...
 

Detailed Description

container for the actual switching function used by PLMD::SwitchingFunction

Constructor & Destructor Documentation

◆ baseSwitch()

PLMD::switchContainers::baseSwitch::baseSwitch ( double  D0,
double  DMAX,
double  R0,
std::string_view  name 
)

◆ ~baseSwitch()

PLMD::switchContainers::baseSwitch::~baseSwitch ( )
virtualdefault

Member Function Documentation

◆ calculate()

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

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

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

◆ calculateSqr()

double PLMD::switchContainers::baseSwitch::calculateSqr ( double  distance2,
double &  dfunc 
) const
virtual

◆ description()

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

◆ function()

virtual double PLMD::switchContainers::baseSwitch::function ( double  rdist,
double &  dfunc 
) const
protectedpure virtual

◆ get_d0()

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

◆ get_dmax()

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

◆ get_dmax2()

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

◆ get_r0()

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

◆ removeStretch()

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

◆ setupStretch()

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

◆ specificDescription()

std::string PLMD::switchContainers::baseSwitch::specificDescription ( ) const
protectedvirtual

Member Data Documentation

◆ d0

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

Minimum distance (before this, function is one)

◆ dmax

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

Maximum distance (after this, function is zero)

◆ dmax_2

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

Square of dmax, useful in calculateSqr()

◆ invr0

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

We store the inverse to avoid a division.

◆ invr0_2

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

Square of invr0, useful in calculateSqr()

◆ mytype

std::string PLMD::switchContainers::baseSwitch::mytype
protected

◆ shift

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

◆ stretch

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

Parameters for stretching the function to zero at d_max.


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