OversteppingLimit and pathLimit setting
Closes #672 (closed)
This MR concludes the shift to the new intersect(...) method:
- the last path/limit settings are moved from the
Navigatorto theStepper. This prepares for theMultiComponentStepper - it harmonises the
updateSurfaceStatus(...), i.e. it lets theStepperdecide how to set the step estimation to a surface - it moves the
releaseStep()to theStepperitself - it moves the public API of
ConstrainedStepout of thedetailnamespace - it fixes the
LoopCorrectionto know about negative path lengths - adapts the
StepperConceptfor this. - it finally removes the HACK code (which becomes dead code, tested on 5*10^6 tracks) :
// @HOTFIX to break the RK step trying, @TODO will be replaced
// by proper overstepping mechanism
if (++stepAttempts == 100) {
// step in mm steps, costly but should do
state.stepping.stepSize = state.stepping.navDir * 1_mm;
break;
}
This MR also fixes the problem of potential loops (still present in the GenericDetector examples), this is an example of pT = 50 MeV tracks with full loop protection.
With this MR, mu~200 fatras simulation will run finally at Hz level:

Edited by Andreas Salzburger
