ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
the AtlasStepper implementation for the More...
#include <acts/blob/master/Core/include/Acts/Propagator/AtlasStepper.hpp>
Classes | |
struct | State |
Nested State struct for the local caching. More... | |
Public Types | |
using | Jacobian = BoundMatrix |
using | Covariance = BoundSymMatrix |
using | BoundState = std::tuple< BoundParameters, Jacobian, double > |
using | CurvilinearState = std::tuple< CurvilinearParameters, Jacobian, double > |
using | BField = bfield_t |
Public Member Functions | |
AtlasStepper (bfield_t bField=bfield_t()) | |
Vector3D | getField (State &state, const Vector3D &pos) const |
Vector3D | position (const State &state) const |
Vector3D | direction (const State &state) const |
double | momentum (const State &state) const |
double | charge (const State &state) const |
Charge access. | |
double | overstepLimit (const State &) const |
double | time (const State &state) const |
Time access. | |
Intersection::Status | updateSurfaceStatus (State &state, const Surface &surface, const BoundaryCheck &bcheck) const |
template<typename object_intersection_t > | |
void | updateStepSize (State &state, const object_intersection_t &oIntersection, bool release=true) const |
void | setStepSize (State &state, double stepSize, ConstrainedStep::Type stype=ConstrainedStep::actor) const |
void | releaseStepSize (State &state) const |
std::string | outputStepSize (const State &state) const |
BoundState | boundState (State &state, const Surface &surface) const |
CurvilinearState | curvilinearState (State &state) const |
void | update (State &state, const BoundParameters &pars) const |
void | update (State &state, const Vector3D &uposition, const Vector3D &udirection, double up, double time) const |
void | covarianceTransport (State &state) const |
void | covarianceTransport (State &state, const Surface &surface) const |
template<typename propagator_state_t > | |
Result< double > | step (propagator_state_t &state) const |
Private Attributes | |
bfield_t | m_bField |
double | m_overstepLimit = -50_um |
Overstep limit: could/should be dynamic. | |
the AtlasStepper implementation for the
Definition at line 31 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 31 of file AtlasStepper.hpp
using Acts::AtlasStepper< bfield_t >::BField = bfield_t |
Definition at line 38 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 38 of file AtlasStepper.hpp
using Acts::AtlasStepper< bfield_t >::BoundState = std::tuple<BoundParameters, Jacobian, double> |
Definition at line 35 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 35 of file AtlasStepper.hpp
using Acts::AtlasStepper< bfield_t >::Covariance = BoundSymMatrix |
Definition at line 34 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 34 of file AtlasStepper.hpp
using Acts::AtlasStepper< bfield_t >::CurvilinearState = std::tuple<CurvilinearParameters, Jacobian, double> |
Definition at line 36 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 36 of file AtlasStepper.hpp
using Acts::AtlasStepper< bfield_t >::Jacobian = BoundMatrix |
Definition at line 33 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 33 of file AtlasStepper.hpp
|
inline |
Definition at line 300 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 300 of file AtlasStepper.hpp
|
inline |
Create and return the bound state at the current position
[in] | state | State that will be presented as BoundState |
[in] | surface | The surface to which we bind the state |
The transport of the position
Definition at line 405 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 405 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Charge access.
Definition at line 328 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 328 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Method for on-demand transport of the covariance to a new curvilinear frame at current position, or direction of the state
[in,out] | state | State of the stepper |
Definition at line 657 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 657 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Method for on-demand transport of the covariance to a new curvilinear frame at current position, or direction of the state
[in,out] | state | State of the stepper |
[in] | surface | is the surface to which the covariance is forwarded to |
Definition at line 808 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 808 of file AtlasStepper.hpp
|
inline |
Create and return a curvilinear state at the current position
[in] | state | State that will be presented as CurvilinearState |
Definition at line 440 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 440 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Definition at line 319 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 319 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Get the field for the stepping It checks first if the access is still within the Cell, and updates the cell if necessary, then it takes the field from the cell
[in,out] | state | is the stepper state associated with the track the magnetic field cell is used (and potentially updated) |
[in] | pos | is the field position |
Definition at line 309 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 309 of file AtlasStepper.hpp
|
inline |
Definition at line 323 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 323 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Output the Step Size - single component
state | [in,out] The stepping state (thread-local cache) |
Definition at line 391 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 391 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Overstep limit
state | [in] The stepping state (thread-local cache) |
Definition at line 335 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 335 of file AtlasStepper.hpp
|
inline |
Definition at line 315 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 315 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Release the Step size
state | [in,out] The stepping state (thread-local cache) |
Definition at line 384 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 384 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Set Step size - explicitely with a double
state | [in,out] The stepping state (thread-local cache) |
stepSize | [in] The step size value |
stype | [in] The step size type to be set |
Definition at line 375 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 375 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Perform the actual step on the state
state | is the provided stepper state (caller keeps thread locality) |
Definition at line 1064 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 1064 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Time access.
Definition at line 338 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 338 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
The state update method
[in,out] | state | The stepper state for |
[in] | pars | The new track parameters at start |
Definition at line 465 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 465 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Method to update momentum, direction and p
uposition | the updated position |
udirection | the updated direction |
p | the updated momentum value |
Definition at line 637 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 637 of file AtlasStepper.hpp
|
inline |
Update step size
It checks the status to the reference surface & updates the step size accordingly
state | [in,out] The stepping state (thread-local cache) |
oIntersection | [in] The ObjectIntersection to layer, boundary, etc |
release | [in] boolean to trigger step size release |
Definition at line 365 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 365 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Update surface status
This method intersect the provided surface and update the navigation step estimation accordingly (hence it changes the state). It also returns the status of the intersection to trigger onSurface in case the surface is reached.
state | [in,out] The stepping state (thread-local cache) |
surface | [in] The surface provided |
bcheck | [in] The boundary check for this status update |
Definition at line 350 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 350 of file AtlasStepper.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
private |
Definition at line 1306 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 1306 of file AtlasStepper.hpp
|
private |
Overstep limit: could/should be dynamic.
Definition at line 1309 of file AtlasStepper.hpp.
View newest version in sPHENIX GitHub at line 1309 of file AtlasStepper.hpp