47 unsigned int iLowest(0);
61 return std::pair<StepLimitType, double>(
static_cast<StepLimitType>(iLowest), lowest);
122 switch (static_cast<StepLimitType>(i)) {
126 printOut <<
"stp_fieldCurv (medium limit): stepsize limited by curvature and magnetic field inhomogenities";
129 printOut <<
"stp_momLoss (medium limit): stepsize limited by stepper because maximum momLoss is reached";
132 printOut <<
"stp_sMax (medium limit): stepsize limited by SMax defined in #estimateStep()";
135 printOut <<
"stp_sMaxArg (hard limit): stepsize limited by argument maxStepArg passed to #estimateStep()";
138 printOut <<
"stp_boundary (hard limit): stepsize limited by stepper because material boundary is encountered";
141 printOut <<
"stp_plane (hard limit): stepsize limited because destination plane is reached";
Helper to store different limits on the stepsize for the RKTRackRep.
void reduceLimit(StepLimitType type, double value)
absolute of value will be taken! If limit is already lower, it will stay.
std::pair< StepLimitType, double > getLowestLimit(double margin=1.E-3) const
Get the lowest limit.
StepLimits & operator=(const StepLimits &other)
std::vector< double > limits_
void setStepSign(char signedVal)
sets stepSign_ to sign of signedVal
double getLowestLimitVal(double margin=1.E-3) const
Get the unsigned numerical value of the lowest limit.
static const double maxLimit_
Defines for I/O streams used for error and debug printing.