ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::EigenStepper< extension_t >::State Struct Reference

State for track parameter propagation. More...

#include <Acts/Propagator/EigenStepper.hpp>

Collaboration diagram for Acts::EigenStepper< extension_t >::State:
[legend]

Public Member Functions

 State (const Options &optionsIn, MagneticFieldProvider::Cache fieldCacheIn)
 Constructor from the initial bound track parameters.

Public Attributes

Covariance cov = Covariance::Zero()
 Covariance matrix for track parameter uncertainties.
bool covTransport = false
 Covariance matrix (and indicator) associated with the initial error on track parameters.
FreeVector derivative = FreeVector::Zero()
 The propagation derivative.
extension_t extension
 Algorithmic extension.
MagneticFieldProvider::Cache fieldCache
 This caches the current magnetic field cell and stays (and interpolates) within it as long as this is valid.
Jacobian jacobian = Jacobian::Identity()
 The full jacobian of the transport entire transport.
BoundToFreeMatrix jacToGlobal = BoundToFreeMatrix::Zero()
 Jacobian from local to the global frame.
FreeMatrix jacTransport = FreeMatrix::Identity()
 Pure transport jacobian part from runge kutta integration.
std::size_t nSteps = 0
 Total number of performed steps.
std::size_t nStepTrials = 0
 Totoal number of attempted steps.
Options options
 Configuration options for the Eigen stepper.
FreeVector pars = FreeVector::Zero()
 Internal free vector parameters.
ParticleHypothesis particleHypothesis = ParticleHypothesis::pion()
 Particle hypothesis.
double pathAccumulated = 0.
 Accumulated path length state.
double previousStepSize = 0.
 Last performed step (for overstep limit calculation).
StepperStatistics statistics
 Statistics of the stepper.
struct { 
   Vector3   B_first {} 
 Magnetic field evaluations. More...
   Vector3   B_last {} 
   Vector3   B_middle {} 
   Vector3   k1 {} 
 k_i of the RKN4 algorithm More...
   Vector3   k2 {} 
   Vector3   k3 {} 
   Vector3   k4 {} 
   std::array< double, 4 >   kQoP {} 
 k_i elements of the momenta More...
stepData
 Storage of magnetic field and the sub steps during a RKN4 step.
ConstrainedStep stepSize
 Adaptive step size of the runge-kutta integration.

Detailed Description

template<typename extension_t = EigenStepperDefaultExtension>
struct Acts::EigenStepper< extension_t >::State

State for track parameter propagation.

It contains the stepping information and is provided thread local by the propagator

Constructor & Destructor Documentation

◆ State()

template<typename extension_t = EigenStepperDefaultExtension>
Acts::EigenStepper< extension_t >::State::State ( const Options & optionsIn,
MagneticFieldProvider::Cache fieldCacheIn )

Constructor from the initial bound track parameters.

Parameters
[in]optionsInis the options object for the stepper
[in]fieldCacheInis the cache object for the magnetic field
Note
the covariance matrix is copied when needed

Member Data Documentation

◆ B_first

template<typename extension_t = EigenStepperDefaultExtension>
Vector3 Acts::EigenStepper< extension_t >::State::B_first {}

Magnetic field evaluations.

◆ B_last

template<typename extension_t = EigenStepperDefaultExtension>
Vector3 Acts::EigenStepper< extension_t >::State::B_last {}

◆ B_middle

template<typename extension_t = EigenStepperDefaultExtension>
Vector3 Acts::EigenStepper< extension_t >::State::B_middle {}

◆ cov

template<typename extension_t = EigenStepperDefaultExtension>
Covariance Acts::EigenStepper< extension_t >::State::cov = Covariance::Zero()

Covariance matrix for track parameter uncertainties.

◆ covTransport

template<typename extension_t = EigenStepperDefaultExtension>
bool Acts::EigenStepper< extension_t >::State::covTransport = false

Covariance matrix (and indicator) associated with the initial error on track parameters.

◆ derivative

template<typename extension_t = EigenStepperDefaultExtension>
FreeVector Acts::EigenStepper< extension_t >::State::derivative = FreeVector::Zero()

The propagation derivative.

◆ extension

template<typename extension_t = EigenStepperDefaultExtension>
extension_t Acts::EigenStepper< extension_t >::State::extension

Algorithmic extension.

◆ fieldCache

template<typename extension_t = EigenStepperDefaultExtension>
MagneticFieldProvider::Cache Acts::EigenStepper< extension_t >::State::fieldCache

This caches the current magnetic field cell and stays (and interpolates) within it as long as this is valid.

See step() code for details.

◆ jacobian

template<typename extension_t = EigenStepperDefaultExtension>
Jacobian Acts::EigenStepper< extension_t >::State::jacobian = Jacobian::Identity()

The full jacobian of the transport entire transport.

◆ jacToGlobal

template<typename extension_t = EigenStepperDefaultExtension>
BoundToFreeMatrix Acts::EigenStepper< extension_t >::State::jacToGlobal = BoundToFreeMatrix::Zero()

Jacobian from local to the global frame.

◆ jacTransport

template<typename extension_t = EigenStepperDefaultExtension>
FreeMatrix Acts::EigenStepper< extension_t >::State::jacTransport = FreeMatrix::Identity()

Pure transport jacobian part from runge kutta integration.

◆ k1

template<typename extension_t = EigenStepperDefaultExtension>
Vector3 Acts::EigenStepper< extension_t >::State::k1 {}

k_i of the RKN4 algorithm

◆ k2

template<typename extension_t = EigenStepperDefaultExtension>
Vector3 Acts::EigenStepper< extension_t >::State::k2 {}

◆ k3

template<typename extension_t = EigenStepperDefaultExtension>
Vector3 Acts::EigenStepper< extension_t >::State::k3 {}

◆ k4

template<typename extension_t = EigenStepperDefaultExtension>
Vector3 Acts::EigenStepper< extension_t >::State::k4 {}

◆ kQoP

template<typename extension_t = EigenStepperDefaultExtension>
std::array<double, 4> Acts::EigenStepper< extension_t >::State::kQoP {}

k_i elements of the momenta

◆ nSteps

template<typename extension_t = EigenStepperDefaultExtension>
std::size_t Acts::EigenStepper< extension_t >::State::nSteps = 0

Total number of performed steps.

◆ nStepTrials

template<typename extension_t = EigenStepperDefaultExtension>
std::size_t Acts::EigenStepper< extension_t >::State::nStepTrials = 0

Totoal number of attempted steps.

◆ options

template<typename extension_t = EigenStepperDefaultExtension>
Options Acts::EigenStepper< extension_t >::State::options

Configuration options for the Eigen stepper.

◆ pars

template<typename extension_t = EigenStepperDefaultExtension>
FreeVector Acts::EigenStepper< extension_t >::State::pars = FreeVector::Zero()

Internal free vector parameters.

◆ particleHypothesis

template<typename extension_t = EigenStepperDefaultExtension>
ParticleHypothesis Acts::EigenStepper< extension_t >::State::particleHypothesis = ParticleHypothesis::pion()

Particle hypothesis.

◆ pathAccumulated

template<typename extension_t = EigenStepperDefaultExtension>
double Acts::EigenStepper< extension_t >::State::pathAccumulated = 0.

Accumulated path length state.

◆ previousStepSize

template<typename extension_t = EigenStepperDefaultExtension>
double Acts::EigenStepper< extension_t >::State::previousStepSize = 0.

Last performed step (for overstep limit calculation).

◆ statistics

template<typename extension_t = EigenStepperDefaultExtension>
StepperStatistics Acts::EigenStepper< extension_t >::State::statistics

Statistics of the stepper.

◆ [struct]

struct { ... } Acts::EigenStepper< extension_t >::State::stepData

Storage of magnetic field and the sub steps during a RKN4 step.

◆ stepSize

template<typename extension_t = EigenStepperDefaultExtension>
ConstrainedStep Acts::EigenStepper< extension_t >::State::stepSize

Adaptive step size of the runge-kutta integration.