GENFIT Rev: NoNumberAvailable
Loading...
Searching...
No Matches
genfit::StepLimits Class Reference

Helper to store different limits on the stepsize for the RKTRackRep. More...

#include <StepLimits.h>

Collaboration diagram for genfit::StepLimits:
Collaboration graph

Public Member Functions

 StepLimits ()
 
 StepLimits (const StepLimits &)=default
 
StepLimitsoperator= (const StepLimits &other)
 
double getLimit (StepLimitType type) const
 Get limit of type. If that limit has not yet been set, return max double value.
 
double getLimitSigned (StepLimitType type) const
 
std::pair< StepLimitType, double > getLowestLimit (double margin=1.E-3) const
 Get the lowest limit.
 
double getLowestLimitVal (double margin=1.E-3) const
 Get the unsigned numerical value of the lowest limit.
 
double getLowestLimitSignedVal (double margin=1.E-3) const
 Get the numerical value of the lowest limit, signed with stepSign_.
 
char getStepSign () const
 
void reduceLimit (StepLimitType type, double value)
 absolute of value will be taken! If limit is already lower, it will stay.
 
void setLimit (StepLimitType type, double value)
 absolute of value will be taken! If limit is already lower, it will be set to value anyway.
 
void setStepSign (char signedVal)
 sets stepSign_ to sign of signedVal
 
void setStepSign (double signedVal)
 sets stepSign_ to sign of signedVal
 
void removeLimit (StepLimitType type)
 
void reset ()
 
void Print ()
 

Private Attributes

std::vector< double > limits_
 
signed char stepSign_
 

Static Private Attributes

static const double maxLimit_ = 99.E99
 

Detailed Description

Helper to store different limits on the stepsize for the RKTRackRep.

Definition at line 54 of file StepLimits.h.

Constructor & Destructor Documentation

◆ StepLimits() [1/2]

genfit::StepLimits::StepLimits ( )
inline

Definition at line 57 of file StepLimits.h.

References genfit::ENUM_NR_ITEMS, limits_, maxLimit_, and stepSign_.

Referenced by operator=(), and StepLimits().

◆ StepLimits() [2/2]

genfit::StepLimits::StepLimits ( const StepLimits & )
default

References StepLimits().

Member Function Documentation

◆ getLimit()

double genfit::StepLimits::getLimit ( StepLimitType type) const
inline

Get limit of type. If that limit has not yet been set, return max double value.

Definition at line 65 of file StepLimits.h.

References limits_.

Referenced by genfit::RKTrackRep::estimateStep(), and getLimitSigned().

◆ getLimitSigned()

double genfit::StepLimits::getLimitSigned ( StepLimitType type) const
inline

Definition at line 66 of file StepLimits.h.

References getLimit(), and stepSign_.

Referenced by genfit::RKTrackRep::estimateStep().

◆ getLowestLimit()

std::pair< StepLimitType, double > genfit::StepLimits::getLowestLimit ( double margin = 1.E-3) const

Get the lowest limit.

If hard limits are there, medium limits can be exceeded by up to margin (default margin is 0.1, i.e. medium limits can be exceeded by up to 10%). If no limit has been set yet, return std::pair<stp_noLimit, std::numeric_limits<double>::max>.

Definition at line 44 of file StepLimits.cc.

References genfit::ENUM_NR_ITEMS, limits_, maxLimit_, and genfit::stp_sMaxArg.

Referenced by genfit::RKTrackRep::RKutta().

◆ getLowestLimitSignedVal()

double genfit::StepLimits::getLowestLimitSignedVal ( double margin = 1.E-3) const
inline

Get the numerical value of the lowest limit, signed with stepSign_.

Definition at line 82 of file StepLimits.h.

References getLowestLimitVal(), and stepSign_.

Referenced by genfit::RKTrackRep::estimateStep(), and genfit::MaterialEffects::stepper().

◆ getLowestLimitVal()

double genfit::StepLimits::getLowestLimitVal ( double margin = 1.E-3) const

Get the unsigned numerical value of the lowest limit.

Definition at line 65 of file StepLimits.cc.

References genfit::ENUM_NR_ITEMS, limits_, maxLimit_, and genfit::stp_sMaxArg.

Referenced by genfit::RKTrackRep::estimateStep(), getLowestLimitSignedVal(), and genfit::MaterialEffects::stepper().

◆ getStepSign()

char genfit::StepLimits::getStepSign ( ) const
inline

Definition at line 86 of file StepLimits.h.

References stepSign_.

Referenced by genfit::RKTrackRep::estimateStep(), and genfit::MaterialEffects::stepper().

◆ operator=()

StepLimits & genfit::StepLimits::operator= ( const StepLimits & other)

Definition at line 33 of file StepLimits.cc.

References genfit::ENUM_NR_ITEMS, limits_, StepLimits(), and stepSign_.

◆ Print()

◆ reduceLimit()

void genfit::StepLimits::reduceLimit ( StepLimitType type,
double value )

absolute of value will be taken! If limit is already lower, it will stay.

Definition at line 84 of file StepLimits.cc.

References limits_, and genfit::stp_noLimit.

◆ removeLimit()

void genfit::StepLimits::removeLimit ( StepLimitType type)
inline

Definition at line 97 of file StepLimits.h.

References limits_, and maxLimit_.

Referenced by genfit::RKTrackRep::estimateStep(), and genfit::RKTrackRep::RKutta().

◆ reset()

void genfit::StepLimits::reset ( )

Definition at line 108 of file StepLimits.cc.

References genfit::ENUM_NR_ITEMS, limits_, maxLimit_, and stepSign_.

◆ setLimit()

void genfit::StepLimits::setLimit ( StepLimitType type,
double value )
inline

absolute of value will be taken! If limit is already lower, it will be set to value anyway.

Definition at line 91 of file StepLimits.h.

References limits_.

Referenced by genfit::RKTrackRep::estimateStep(), and genfit::MaterialEffects::stepper().

◆ setStepSign() [1/2]

void genfit::StepLimits::setStepSign ( char signedVal)

sets stepSign_ to sign of signedVal

Definition at line 93 of file StepLimits.cc.

References stepSign_.

Referenced by genfit::RKTrackRep::estimateStep().

◆ setStepSign() [2/2]

void genfit::StepLimits::setStepSign ( double signedVal)

sets stepSign_ to sign of signedVal

Definition at line 100 of file StepLimits.cc.

References stepSign_.

Member Data Documentation

◆ limits_

std::vector<double> genfit::StepLimits::limits_
private

◆ maxLimit_

const double genfit::StepLimits::maxLimit_ = 99.E99
staticprivate

Definition at line 105 of file StepLimits.h.

Referenced by getLowestLimit(), getLowestLimitVal(), Print(), removeLimit(), reset(), and StepLimits().

◆ stepSign_

signed char genfit::StepLimits::stepSign_
private

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