ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::AtlasStepper::State Struct Reference

Nested State struct for the local caching. More...

#include <Acts/Propagator/AtlasStepper.hpp>

Collaboration diagram for Acts::AtlasStepper::State:
[legend]

Public Member Functions

 State (const Options &optionsIn, MagneticFieldProvider::Cache fieldCacheIn)
 Constructor.

Public Attributes

Covariance cov = Covariance::Zero()
 Local covariance matrix storage.
const Covariancecovariance = nullptr
 Pointer to external covariance matrix.
bool covTransport = false
 Flag indicating whether covariance transport is enabled.
bool debug = false
 Debug output the string where debug messages are stored (optionally).
std::size_t debugMsgWidth = 50
 Width for debug message formatting.
std::size_t debugPfxWidth = 30
 buffer & formatting for consistent output
std::string debugString = ""
 String buffer for debug output messages.
Vector3 field = Vector3::Zero()
 Current magnetic field vector.
MagneticFieldProvider::Cache fieldCache
 It caches the current magnetic field cell and stays (and interpolates) within as long as this is valid.
double jacobian [eBoundSize *eBoundSize] = {}
 Jacobian matrix storage for parameter derivatives.
double maxPathLength = 0
 Maximum path length for this propagation.
bool mcondition = false
 Flag indicating magnetic field boundary conditions.
bool needgradient = false
 Flag indicating whether magnetic field gradients are needed.
bool newfield = true
 Flag indicating new magnetic field evaluation needed.
std::size_t nSteps = 0
 Total number of performed steps.
std::size_t nStepTrials = 0
 Totoal number of attempted steps.
Options options
 Stepper options for this propagation.
double parameters [eBoundSize] = {0., 0., 0., 0., 0., 0.}
 Storage pattern of pVector /dL0 /dL1 /dPhi /the /dCM /dT X ->P[0] dX / P[ 8] P[16] P[24] P[32] P[40] P[48] Y ->P[1] dY / P[ 9] P[17] P[25] P[33] P[41] P[49] Z ->P[2] dZ / P[10] P[18] P[26] P[34] P[42] P[50] T ->P[3] dT/ P[11] P[19] P[27] P[35] P[43] P[51] Ax ->P[4] dAx/ P[12] P[20] P[28] P[36] P[44] P[52] Ay ->P[5] dAy/ P[13] P[21] P[29] P[37] P[45] P[53] Az ->P[6] dAz/ P[14] P[22] P[30] P[38] P[46] P[54] CM ->P[7] dCM/ P[15] P[23] P[31] P[39] P[47] P[55] Cache: P[56] - P[59].
ParticleHypothesis particleHypothesis = ParticleHypothesis::pion()
 Particle hypothesis used for energy loss calculations.
double pathAccumulated = 0.
 Accumulated path length during propagation.
double previousStepSize = 0.
 Previous step size for overstep estimation.
std::array< double, 60 > pVector {}
 Parameter vector for track state and derivatives.
bool state_ready = false
 Flag indicating whether the state is ready for stepping.
StepperStatistics statistics
 The statistics of the stepper.
double step = 0
 Current step size.
ConstrainedStep stepSize
 Constrained step size for adaptive integration.
bool useJacobian = false
 Flag indicating whether Jacobian calculation is enabled.

Detailed Description

Nested State struct for the local caching.

Constructor & Destructor Documentation

◆ State()

Acts::AtlasStepper::State::State ( const Options & optionsIn,
MagneticFieldProvider::Cache fieldCacheIn )

Constructor.

Template Parameters
Typeof TrackParameters
Parameters
[in]optionsInThe options for the stepper
[in]fieldCacheInThe magnetic field cache

Member Data Documentation

◆ cov

Covariance Acts::AtlasStepper::State::cov = Covariance::Zero()

Local covariance matrix storage.

◆ covariance

const Covariance* Acts::AtlasStepper::State::covariance = nullptr

Pointer to external covariance matrix.

◆ covTransport

bool Acts::AtlasStepper::State::covTransport = false

Flag indicating whether covariance transport is enabled.

◆ debug

bool Acts::AtlasStepper::State::debug = false

Debug output the string where debug messages are stored (optionally).

◆ debugMsgWidth

std::size_t Acts::AtlasStepper::State::debugMsgWidth = 50

Width for debug message formatting.

◆ debugPfxWidth

std::size_t Acts::AtlasStepper::State::debugPfxWidth = 30

buffer & formatting for consistent output

◆ debugString

std::string Acts::AtlasStepper::State::debugString = ""

String buffer for debug output messages.

◆ field

Vector3 Acts::AtlasStepper::State::field = Vector3::Zero()

Current magnetic field vector.

◆ fieldCache

MagneticFieldProvider::Cache Acts::AtlasStepper::State::fieldCache

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

See step() code for details.

◆ jacobian

double Acts::AtlasStepper::State::jacobian[eBoundSize *eBoundSize] = {}

Jacobian matrix storage for parameter derivatives.

◆ maxPathLength

double Acts::AtlasStepper::State::maxPathLength = 0

Maximum path length for this propagation.

◆ mcondition

bool Acts::AtlasStepper::State::mcondition = false

Flag indicating magnetic field boundary conditions.

◆ needgradient

bool Acts::AtlasStepper::State::needgradient = false

Flag indicating whether magnetic field gradients are needed.

◆ newfield

bool Acts::AtlasStepper::State::newfield = true

Flag indicating new magnetic field evaluation needed.

◆ nSteps

std::size_t Acts::AtlasStepper::State::nSteps = 0

Total number of performed steps.

◆ nStepTrials

std::size_t Acts::AtlasStepper::State::nStepTrials = 0

Totoal number of attempted steps.

◆ options

Options Acts::AtlasStepper::State::options

Stepper options for this propagation.

◆ parameters

double Acts::AtlasStepper::State::parameters[eBoundSize] = {0., 0., 0., 0., 0., 0.}

Storage pattern of pVector /dL0 /dL1 /dPhi /the /dCM /dT X ->P[0] dX / P[ 8] P[16] P[24] P[32] P[40] P[48] Y ->P[1] dY / P[ 9] P[17] P[25] P[33] P[41] P[49] Z ->P[2] dZ / P[10] P[18] P[26] P[34] P[42] P[50] T ->P[3] dT/ P[11] P[19] P[27] P[35] P[43] P[51] Ax ->P[4] dAx/ P[12] P[20] P[28] P[36] P[44] P[52] Ay ->P[5] dAy/ P[13] P[21] P[29] P[37] P[45] P[53] Az ->P[6] dAz/ P[14] P[22] P[30] P[38] P[46] P[54] CM ->P[7] dCM/ P[15] P[23] P[31] P[39] P[47] P[55] Cache: P[56] - P[59].

◆ particleHypothesis

ParticleHypothesis Acts::AtlasStepper::State::particleHypothesis = ParticleHypothesis::pion()

Particle hypothesis used for energy loss calculations.

◆ pathAccumulated

double Acts::AtlasStepper::State::pathAccumulated = 0.

Accumulated path length during propagation.

◆ previousStepSize

double Acts::AtlasStepper::State::previousStepSize = 0.

Previous step size for overstep estimation.

◆ pVector

std::array<double, 60> Acts::AtlasStepper::State::pVector {}

Parameter vector for track state and derivatives.

◆ state_ready

bool Acts::AtlasStepper::State::state_ready = false

Flag indicating whether the state is ready for stepping.

◆ statistics

StepperStatistics Acts::AtlasStepper::State::statistics

The statistics of the stepper.

◆ step

double Acts::AtlasStepper::State::step = 0

Current step size.

◆ stepSize

ConstrainedStep Acts::AtlasStepper::State::stepSize

Constrained step size for adaptive integration.

◆ useJacobian

bool Acts::AtlasStepper::State::useJacobian = false

Flag indicating whether Jacobian calculation is enabled.