Analysis Software
Documentation for sPHENIX simulation software
|
Helper to store different limits on the stepsize for the RKTRackRep. More...
#include <GenFit/blob/master/trackReps/include/StepLimits.h>
Public Member Functions | |
StepLimits () | |
StepLimits (const StepLimits &)=default | |
StepLimits & | operator= (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 |
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
|
inline |
Definition at line 57 of file StepLimits.h.
View newest version in sPHENIX GitHub at line 57 of file StepLimits.h
|
default |
|
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().
|
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().
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().
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().
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().
|
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().
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().
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.
|
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().
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().
|
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().
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().
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_.
|
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().
|
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().
|
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().