Skip to content

Commit

Permalink
refactor: Align overstep limit (#2441)
Browse files Browse the repository at this point in the history
Overstep limits are defined differently in our 3 steppers. This PR aligns them to the convention in the `EigenStepper`. The `StraightLineStepper` returned the wrong sign which might have affected Fatras simulation for neutral particles.

Pulled out of #2336
  • Loading branch information
andiwand committed Sep 14, 2023
1 parent e8600a4 commit f581704
Show file tree
Hide file tree
Showing 8 changed files with 9 additions and 7 deletions.
Binary file modified CI/physmon/reference/performance_ambi_ttbar.root
Binary file not shown.
Binary file modified CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root
Binary file not shown.
Binary file modified CI/physmon/reference/performance_amvf_ttbar_hist.root
Binary file not shown.
Binary file modified CI/physmon/reference/performance_ckf_ttbar.root
Binary file not shown.
Binary file modified CI/physmon/reference/performance_gsf.root
Binary file not shown.
Binary file modified CI/physmon/reference/performance_seeding_ttbar.root
Binary file not shown.
6 changes: 4 additions & 2 deletions Core/include/Acts/Propagator/AtlasStepper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,9 @@ class AtlasStepper {
}

/// Overstep limit
double overstepLimit(const State& /*state*/) const { return m_overstepLimit; }
double overstepLimit(const State& /*state*/) const {
return -m_overstepLimit;
}

/// Time access
double time(const State& state) const { return state.pVector[3]; }
Expand Down Expand Up @@ -1416,7 +1418,7 @@ class AtlasStepper {
std::shared_ptr<const MagneticFieldProvider> m_bField;

/// Overstep limit: could/should be dynamic
double m_overstepLimit = -100 * UnitConstants::um;
double m_overstepLimit = 100 * UnitConstants::um;
};

} // namespace Acts
10 changes: 5 additions & 5 deletions Core/include/Acts/Propagator/StraightLineStepper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -218,11 +218,8 @@ class StraightLineStepper {
double time(const State& state) const { return state.pars[eFreeTime]; }

/// Overstep limit
///
/// @param state The stepping state (thread-local cache)
double overstepLimit(const State& state) const {
(void)state;
return s_onSurfaceTolerance;
double overstepLimit(const State& /*state*/) const {
return -m_overstepLimit;
}

/// Update surface status
Expand Down Expand Up @@ -418,6 +415,9 @@ class StraightLineStepper {
// return h
return h;
}

private:
double m_overstepLimit = s_onSurfaceTolerance;
};

} // namespace Acts

0 comments on commit f581704

Please sign in to comment.