Loading...
Searching...
No Matches
PLMD::HistogramBead Class Reference

A class for calculating whether or not values are within a given range using : \( \sum_i \int_a^b G( s_i, \sigma*(b-a) ) \). More...

#include <HistogramBead.h>

Public Types

enum class  KernelType { gaussian , triangular }
 

Public Member Functions

 HistogramBead (const HistogramBead &)
 
 HistogramBead (HistogramBead &&)
 
 HistogramBead (KernelType, double l, double h, double w)
 
 HistogramBead (KernelType, double mlow, double mhigh, double l, double h, double w)
 
double calculate (double x, double &df) const
 
double calculateWithCutoff (double x, double &df) const
 
double calculateWithCutoff (double x, double l, double u, double s, double &df) const
 
std::string description () const
 
double getbigb () const
 
double getCutoff () const
 
double getlowb () const
 
void isNotPeriodic ()
 
void isPeriodic (double mlow, double mhigh)
 
double lboundDerivative (double x) const
 
HistogramBeadoperator= (const HistogramBead &)
 
HistogramBeadoperator= (HistogramBead &&)
 
void removeFromACCDevice () const
 
void set (const std::string &params, std::string &errormsg)
 
void set (double l, double h, double w)
 
void setKernelType (const std::string &ktype)
 
void setKernelType (KernelType ktype)
 
void toACCDevice () const
 
double uboundDerivative (double x) const
 

Static Public Member Functions

static void generateBins (const std::string &params, std::vector< std::string > &bins)
 
static KernelType getKernelType (const std::string &ktype)
 
static void registerKeywords (Keywords &keys)
 

Private Types

enum class  Periodicity { periodic , notperiodic }
 

Private Member Functions

double difference (double d1, double d2) const
 

Private Attributes

double cutoff {std::numeric_limits<double>::max()}
 
double highb {0.0}
 
double inv_max_minus_min {0.0}
 
double lowb {0.0}
 
double max {0.0}
 
double max_minus_min {0.0}
 
double min {0.0}
 
Periodicity periodicity {Periodicity::notperiodic}
 
KernelType type {KernelType::gaussian}
 
double width {0.0}
 

Detailed Description

A class for calculating whether or not values are within a given range using : \( \sum_i \int_a^b G( s_i, \sigma*(b-a) ) \).

Member Enumeration Documentation

◆ KernelType

Enumerator
gaussian 
triangular 

◆ Periodicity

enum class PLMD::HistogramBead::Periodicity
strongprivate
Enumerator
periodic 
notperiodic 

Constructor & Destructor Documentation

◆ HistogramBead() [1/4]

PLMD::HistogramBead::HistogramBead ( KernelType kt,
double l,
double h,
double w )
explicit

◆ HistogramBead() [2/4]

PLMD::HistogramBead::HistogramBead ( KernelType kt,
double mlow,
double mhigh,
double l,
double h,
double w )

◆ HistogramBead() [3/4]

PLMD::HistogramBead::HistogramBead ( const HistogramBead & )
default

◆ HistogramBead() [4/4]

PLMD::HistogramBead::HistogramBead ( HistogramBead && )
default

Member Function Documentation

◆ calculate()

double PLMD::HistogramBead::calculate ( double x,
double & df ) const

◆ calculateWithCutoff() [1/2]

double PLMD::HistogramBead::calculateWithCutoff ( double x,
double & df ) const

◆ calculateWithCutoff() [2/2]

double PLMD::HistogramBead::calculateWithCutoff ( double x,
double l,
double u,
double s,
double & df ) const

◆ description()

std::string PLMD::HistogramBead::description ( ) const

◆ difference()

double PLMD::HistogramBead::difference ( double d1,
double d2 ) const
inlineprivate

◆ generateBins()

void PLMD::HistogramBead::generateBins ( const std::string & params,
std::vector< std::string > & bins )
static

◆ getbigb()

double PLMD::HistogramBead::getbigb ( ) const
inline

◆ getCutoff()

double PLMD::HistogramBead::getCutoff ( ) const
inline

◆ getKernelType()

HistogramBead::KernelType PLMD::HistogramBead::getKernelType ( const std::string & ktype)
static

◆ getlowb()

double PLMD::HistogramBead::getlowb ( ) const
inline

◆ isNotPeriodic()

void PLMD::HistogramBead::isNotPeriodic ( )
inline

◆ isPeriodic()

void PLMD::HistogramBead::isPeriodic ( double mlow,
double mhigh )
inline

◆ lboundDerivative()

double PLMD::HistogramBead::lboundDerivative ( double x) const

◆ operator=() [1/2]

HistogramBead & PLMD::HistogramBead::operator= ( const HistogramBead & )
default

◆ operator=() [2/2]

HistogramBead & PLMD::HistogramBead::operator= ( HistogramBead && )
default

◆ registerKeywords()

void PLMD::HistogramBead::registerKeywords ( Keywords & keys)
static

◆ removeFromACCDevice()

void PLMD::HistogramBead::removeFromACCDevice ( ) const
inline

◆ set() [1/2]

void PLMD::HistogramBead::set ( const std::string & params,
std::string & errormsg )

◆ set() [2/2]

void PLMD::HistogramBead::set ( double l,
double h,
double w )

◆ setKernelType() [1/2]

void PLMD::HistogramBead::setKernelType ( const std::string & ktype)

◆ setKernelType() [2/2]

void PLMD::HistogramBead::setKernelType ( KernelType ktype)

◆ toACCDevice()

void PLMD::HistogramBead::toACCDevice ( ) const
inline

◆ uboundDerivative()

double PLMD::HistogramBead::uboundDerivative ( double x) const

Member Data Documentation

◆ cutoff

double PLMD::HistogramBead::cutoff {std::numeric_limits<double>::max()}
private

◆ highb

double PLMD::HistogramBead::highb {0.0}
private

◆ inv_max_minus_min

double PLMD::HistogramBead::inv_max_minus_min {0.0}
private

◆ lowb

double PLMD::HistogramBead::lowb {0.0}
private

◆ max

double PLMD::HistogramBead::max {0.0}
private

◆ max_minus_min

double PLMD::HistogramBead::max_minus_min {0.0}
private

◆ min

double PLMD::HistogramBead::min {0.0}
private

◆ periodicity

Periodicity PLMD::HistogramBead::periodicity {Periodicity::notperiodic}
private

◆ type

KernelType PLMD::HistogramBead::type {KernelType::gaussian}
private

◆ width

double PLMD::HistogramBead::width {0.0}
private

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