ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ConstrainedStep Struct Reference

A constrained step class for the steppers. More...

#include <acts/blob/master/Core/include/Acts/Propagator/ConstrainedStep.hpp>

+ Collaboration diagram for Acts::ConstrainedStep:

Public Types

enum  Type : int { accuracy = 0, actor = 1, aborter = 2, user = 3 }
 

Public Member Functions

void update (const double &value, Type type, bool releaseStep=false)
 
void release (Type type)
 
 ConstrainedStep (double value)
 
ConstrainedStepoperator= (const double &value)
 
 operator double () const
 
double value (Type type) const
 
double max () const
 
double min () const
 
Type currentType () const
 
std::string toString () const
 return the split value as string for debugging
 

Public Attributes

std::array< double, 4 > values
 the step size tuple
 
NavigationDirection direction = forward
 The Navigation direction.
 

Detailed Description

A constrained step class for the steppers.

Definition at line 22 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 22 of file ConstrainedStep.hpp

Member Enumeration Documentation

the types of constraints from accuracy - this can vary up and down given a good step estimator from actor - this would be a typical navigation step from aborter - this would be a target condition from user - this is user given for what reason ever

Enumerator:
accuracy 
actor 
aborter 
user 

Definition at line 28 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 28 of file ConstrainedStep.hpp

Constructor & Destructor Documentation

Acts::ConstrainedStep::ConstrainedStep ( double  value)
inline

constructor from double value is the user given initial value

Definition at line 68 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 68 of file ConstrainedStep.hpp

References aborter, accuracy, actor, direction, user, value(), and values.

+ Here is the call graph for this function:

Member Function Documentation

Type Acts::ConstrainedStep::currentType ( ) const
inline

Access to currently leading min type

Definition at line 116 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 116 of file ConstrainedStep.hpp

References direction, Acts::forward, and values.

double Acts::ConstrainedStep::max ( ) const
inline

Return the maximum step constraint

Returns
The max step constraint

Definition at line 104 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 104 of file ConstrainedStep.hpp

References values.

double Acts::ConstrainedStep::min ( ) const
inline

Return the minimum step constraint

Returns
The min step constraint

Definition at line 110 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 110 of file ConstrainedStep.hpp

References values.

Acts::ConstrainedStep::operator double ( ) const
inline

Cast operator to double, returning the min/max value depending on the direction

Definition at line 90 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 90 of file ConstrainedStep.hpp

References direction, Acts::forward, and values.

ConstrainedStep& Acts::ConstrainedStep::operator= ( const double &  value)
inline

The assignment operator from one double

Note
this will set only the accuracy, as this is the most exposed to the Propagator, this adapts also the direction
Parameters
valueis the new accuracy value

set the accuracy value

Definition at line 80 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 80 of file ConstrainedStep.hpp

References accuracy, Acts::backward, direction, Acts::forward, value(), and values.

+ Here is the call graph for this function:

void Acts::ConstrainedStep::release ( Type  type)
inline

release a certain constraint value to the (signed) biggest value available, hence it depends on the direction

Parameters
typeis the constraint type to be released

Definition at line 59 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 59 of file ConstrainedStep.hpp

References direction, Acts::forward, and values.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Test::PropagatorState::Stepper::releaseStepSize(), Acts::StraightLineStepper::releaseStepSize(), and update().

+ Here is the caller graph for this function:

std::string Acts::ConstrainedStep::toString ( ) const
inline

return the split value as string for debugging

Definition at line 129 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 129 of file ConstrainedStep.hpp

References aborter, kdfinder::abs(), accuracy, actor, max, user, and values.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Test::PropagatorState::Stepper::outputStepSize(), and Acts::StraightLineStepper::outputStepSize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Acts::ConstrainedStep::update ( const double &  value,
Type  type,
bool  releaseStep = false 
)
inline

Update the step size of a certain type

Only navigation and target abortion step size updates may change the sign due to overstepping

Parameters
valueis the new value to be updated
typeis the constraint type

Definition at line 45 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 45 of file ConstrainedStep.hpp

References release(), value(), and values.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Test::PropagatorState::Stepper::setStepSize(), and Acts::StraightLineStepper::setStepSize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double Acts::ConstrainedStep::value ( Type  type) const
inline

Access to a specific value

Parameters
typeis the resquested parameter type

Definition at line 100 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 100 of file ConstrainedStep.hpp

References values.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), ConstrainedStep(), operator=(), and update().

+ Here is the caller graph for this function:

Member Data Documentation

NavigationDirection Acts::ConstrainedStep::direction = forward

The Navigation direction.

Definition at line 36 of file ConstrainedStep.hpp.

View newest version in sPHENIX GitHub at line 36 of file ConstrainedStep.hpp

Referenced by ConstrainedStep(), currentType(), operator double(), operator=(), and release().

std::array<double, 4> Acts::ConstrainedStep::values

The documentation for this struct was generated from the following file: