File Common.hpp

namespace Acts

Set the Geometry Context PLUGIN.

Set the Calibration Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.

Set the Mangetic Field Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.

Currently implemented for the two most common formats: rz and xyz.

Enums

enum CoordinateIndices

Components of coordinate vectors.

To be used to access coordinate components by named indices instead of magic numbers. This must be a regular enum and not a scoped enum class to allow implicit conversion to an integer. The enum value are thus visible directly in namespace Acts.

This index enum is not user-configurable (in contrast e.g. to the track parameter index enums) since it must be compatible with varying dimensionality (2d-4d) and other access methods (.{x,y,z}() accessors).

Values:

enumerator ePos0
enumerator ePos1
enumerator ePos2
enumerator eTime
enumerator eMom0
enumerator eMom1
enumerator eMom2
enumerator eEnergy
enumerator eX
enumerator eY
enumerator eZ
enum MaterialUpdateStage

This is a steering enum to tell which material update stage:

  • PreUpdate : update on approach of a surface

  • FullUpdate : update when passing a surface

  • PostUpdate : update when leaving a surface

Values:

enumerator PreUpdate
enumerator FullUpdate
enumerator PostUpdate
enum NavigationDirection

The navigation direction is always with respect to a given momentum or direction.

Values:

enumerator Backward
enumerator Forward
enum NoiseUpdateMode

to tell how to deal with noise term in covariance transport

  • removeNoise: subtract noise term

  • addNoise: add noise term

Values:

enumerator removeNoise
enumerator addNoise

Functions

inline constexpr NavigationDirection directionFromStepSize(double value)
inline constexpr auto operator*(NavigationDirection dir, int value)
inline constexpr auto operator*(NavigationDirection dir, float value)
inline constexpr auto operator*(NavigationDirection dir, double value)
inline Acts::Vector3 operator*(NavigationDirection dir, Acts::Vector3 value)
inline constexpr auto operator*(int value, NavigationDirection dir)
inline constexpr auto operator*(float value, NavigationDirection dir)
inline constexpr auto operator*(double value, NavigationDirection dir)
inline Acts::Vector3 operator*(Acts::Vector3 value, NavigationDirection dir)
inline constexpr auto operator*=(int &value, NavigationDirection dir)
inline constexpr auto operator*=(float &value, NavigationDirection dir)
inline constexpr auto operator*=(double &value, NavigationDirection dir)
inline Acts::Vector3 &operator*=(Acts::Vector3 &value, NavigationDirection dir)
std::ostream &operator<<(std::ostream &os, NavigationDirection navDir)
std::ostream &operator<<(std::ostream &os, MaterialUpdateStage matUpdate)

Variables

static constexpr ActsScalar s_curvilinearProjTolerance = 0.999995

Tolerance for not being within curvilinear projection this allows using the same curvilinear frame to eta = 6, validity tested with IntegrationTests/PropagationTest.

static constexpr ActsScalar s_epsilon = 3 * std::numeric_limits<ActsScalar>::epsilon()

Tolerance for being numerical equal for geometry building.

static constexpr ActsScalar s_onSurfaceTolerance = 1e-4

Tolerance for being on Surface.

Note

This is intentionally given w/o an explicit unit to avoid having to include the units header unneccessarily. With the native length unit of mm this corresponds to 0.1um.