24 #ifndef genfit_StepLimits_h
25 #define genfit_StepLimits_h
58 : limits_(ENUM_NR_ITEMS, maxLimit_), stepSign_(1) {;}
65 double getLimit(StepLimitType type)
const {
return limits_[type];}
66 double getLimitSigned(StepLimitType type)
const {
77 std::pair<StepLimitType, double>
getLowestLimit(
double margin = 1.E-3)
const;
86 char getStepSign()
const {
return stepSign_;}
91 void setLimit(StepLimitType type,
double value) {limits_[type] = fabs(value);}
97 void removeLimit(StepLimitType type) {limits_[type] = maxLimit_;}
103 std::vector<double> limits_;
104 signed char stepSign_;
105 static const double maxLimit_;
Helper to store different limits on the stepsize for the RKTRackRep.
std::pair< StepLimitType, double > getLowestLimit(double margin=1.E-3) const
Get the lowest limit.
void setStepSign(char signedVal)
sets #stepSign_ to sign of signedVal
double getLowestLimitSignedVal(double margin=1.E-3) const
Get the numerical value of the lowest limit, signed with #stepSign_.
double getLimit(StepLimitType type) const
Get limit of type. If that limit has not yet been set, return max double value.
void setLimit(StepLimitType type, double value)
absolute of value will be taken! If limit is already lower, it will be set to value anyway.
double getLowestLimitVal(double margin=1.E-3) const
Get the unsigned numerical value of the lowest limit.
void reduceLimit(StepLimitType type, double value)
absolute of value will be taken! If limit is already lower, it will stay.
Defines for I/O streams used for error and debug printing.