Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
genfit::StepLimits Class Reference

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

#include <GenFit/blob/master/trackReps/include/StepLimits.h>

+ Collaboration diagram for genfit::StepLimits:

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, doublegetLowestLimit (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< doublelimits_
 
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.

View newest version in sPHENIX GitHub at line 54 of file StepLimits.h

Constructor & Destructor Documentation

genfit::StepLimits::StepLimits ( )
inline

Definition at line 57 of file StepLimits.h.

View newest version in sPHENIX GitHub at line 57 of file StepLimits.h

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

Member Function Documentation

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.

View newest version in sPHENIX GitHub at line 65 of file StepLimits.h

References limits_, and parse_cmake_options::type.

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

+ Here is the caller graph for this function:

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

Definition at line 66 of file StepLimits.h.

View newest version in sPHENIX GitHub at line 66 of file StepLimits.h

References getLimit(), and stepSign_.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 44 of file StepLimits.cc

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

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

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 82 of file StepLimits.h

References getLowestLimitVal(), and stepSign_.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 65 of file StepLimits.cc

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

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

+ Here is the caller graph for this function:

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

Definition at line 86 of file StepLimits.h.

View newest version in sPHENIX GitHub at line 86 of file StepLimits.h

References stepSign_.

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

+ Here is the caller graph for this function:

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

Definition at line 33 of file StepLimits.cc.

View newest version in sPHENIX GitHub at line 33 of file StepLimits.cc

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

void genfit::StepLimits::Print ( )

Definition at line 116 of file StepLimits.cc.

View newest version in sPHENIX GitHub at line 116 of file StepLimits.cc

References genfit::ENUM_NR_ITEMS, i, limits_, maxLimit_, genfit::printOut, genfit::stp_boundary, genfit::stp_fieldCurv, genfit::stp_momLoss, genfit::stp_noLimit, genfit::stp_plane, genfit::stp_sMax, and genfit::stp_sMaxArg.

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

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 84 of file StepLimits.cc

References assert, limits_, genfit::stp_noLimit, parse_cmake_options::type, and value.

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

Definition at line 97 of file StepLimits.h.

View newest version in sPHENIX GitHub at line 97 of file StepLimits.h

References limits_, maxLimit_, and parse_cmake_options::type.

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

+ Here is the caller graph for this function:

void genfit::StepLimits::reset ( )

Definition at line 108 of file StepLimits.cc.

View newest version in sPHENIX GitHub at line 108 of file StepLimits.cc

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

Referenced by genfit::RKTrackRep::Extrap(), and genfit::RKTrackRep::initArrays().

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 91 of file StepLimits.h

References limits_, and parse_cmake_options::type.

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

+ Here is the caller graph for this function:

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

sets stepSign_ to sign of signedVal

Definition at line 93 of file StepLimits.cc.

View newest version in sPHENIX GitHub at line 93 of file StepLimits.cc

References stepSign_.

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

+ Here is the caller graph for this function:

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

sets stepSign_ to sign of signedVal

Definition at line 100 of file StepLimits.cc.

View newest version in sPHENIX GitHub at line 100 of file StepLimits.cc

References stepSign_.

Member Data Documentation

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

Definition at line 103 of file StepLimits.h.

View newest version in sPHENIX GitHub at line 103 of file StepLimits.h

Referenced by getLimit(), getLowestLimit(), getLowestLimitVal(), operator=(), Print(), reduceLimit(), removeLimit(), reset(), and setLimit().

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

Definition at line 105 of file StepLimits.h.

View newest version in sPHENIX GitHub at line 105 of file StepLimits.h

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

signed char genfit::StepLimits::stepSign_
private

Definition at line 104 of file StepLimits.h.

View newest version in sPHENIX GitHub at line 104 of file StepLimits.h

Referenced by getLimitSigned(), getLowestLimitSignedVal(), getStepSign(), operator=(), reset(), and setStepSign().


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