ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::SingleBoundTrackParameters< ChargePolicy > Class Template Reference

Charged and Neutrial Track Parameterisation classes bound to to a reference surface. This is a single-component representation. More...

#include <acts/blob/master/Core/include/Acts/EventData/SingleBoundTrackParameters.hpp>

+ Inheritance diagram for Acts::SingleBoundTrackParameters< ChargePolicy >:
+ Collaboration diagram for Acts::SingleBoundTrackParameters< ChargePolicy >:

Public Types

using ParVector_t = typename SingleTrackParameters< ChargePolicy >::ParVector_t
 
using CovMatrix_t = typename SingleTrackParameters< ChargePolicy >::CovMatrix_t
 
- Public Types inherited from Acts::SingleTrackParameters< ChargePolicy >
using ParVector_t = BoundVector
 vector type for stored track parameters
 
using CovMatrix_t = BoundSymMatrix
 type of covariance matrix
 

Public Member Functions

template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, ChargedPolicy >::value, int > = 0>
 SingleBoundTrackParameters (const GeometryContext &gctx, std::optional< CovMatrix_t > cov, const ParVector_t &parValues, std::shared_ptr< const Surface > surface)
 Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for charged representations.
 
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, ChargedPolicy >::value, int > = 0>
 SingleBoundTrackParameters (const GeometryContext &gctx, std::optional< CovMatrix_t > cov, const ActsVectorD< 3 > &position, const ActsVectorD< 3 > &momentum, double dCharge, double dTime, std::shared_ptr< const Surface > surface)
 Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for charged representations.
 
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, NeutralPolicy >::value, int > = 0>
 SingleBoundTrackParameters (const GeometryContext &gctx, std::optional< CovMatrix_t > cov, const ParVector_t &parValues, std::shared_ptr< const Surface > surface)
 Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for neutral representations.
 
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, NeutralPolicy >::value, int > = 0>
 SingleBoundTrackParameters (const GeometryContext &gctx, std::optional< CovMatrix_t > cov, const ActsVectorD< 3 > &position, const ActsVectorD< 3 > &momentum, double dTime, std::shared_ptr< const Surface > surface)
 Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for neutral representations.
 
 SingleBoundTrackParameters (const SingleBoundTrackParameters< ChargePolicy > &copy)
 copy constructor - charged/neutral
 
 SingleBoundTrackParameters (SingleBoundTrackParameters< ChargePolicy > &&other)
 move constructor - charged/neutral
 
 ~SingleBoundTrackParameters () final=default
 desctructor - charged/neutral checks if the surface is free and in such a case deletes it
 
SingleBoundTrackParameters
< ChargePolicy > & 
operator= (const SingleBoundTrackParameters< ChargePolicy > &rhs)
 copy assignment operator - charged/neutral
 
SingleBoundTrackParameters
< ChargePolicy > & 
operator= (SingleBoundTrackParameters< ChargePolicy > &&rhs)
 move assignment operator - charged/neutral checks if the surface is free and in such a case delete-clones it
 
template<ParID_t par>
void set (const GeometryContext &gctx, ParValue_t newValue)
 set method for parameter updates obviously only allowed on non-const objects
 
const SurfacereferenceSurface () const final
 access method to the reference surface
 
RotationMatrix3D referenceFrame (const GeometryContext &gctx) const
 access to the measurement frame, i.e. the rotation matrix with respect to the global coordinate system, in which the local error is described.
 
- Public Member Functions inherited from Acts::SingleTrackParameters< ChargePolicy >
virtual ~SingleTrackParameters ()=default
 default destructor
 
Vector3D position () const
 access position in global coordinate system
 
Vector3D momentum () const
 access momentum in global coordinate system
 
bool operator== (const SingleTrackParameters &rhs) const
 equality operator
 
double charge () const
 retrieve electric charge
 
double time () const
 retrieve time
 
const FullParameterSet & getParameterSet () const
 access to the internally stored ParameterSet
 
const std::optional
< CovMatrix_t > & 
covariance () const
 access covariance matrix of track parameters
 
ParVector_t parameters () const
 access track parameters
 
template<ParID_t par>
ParValue_t get () const
 access track parameter
 
template<ParID_t par>
ParValue_t uncertainty () const
 access track parameter uncertainty
 
double pT () const
 convenience method to retrieve transverse momentum
 
double eta () const
 convenience method to retrieve pseudorapidity
 
FullParameterSet & getParameterSet ()
 

Private Attributes

std::shared_ptr< const Surfacem_pSurface
 

Additional Inherited Members

- Protected Member Functions inherited from Acts::SingleTrackParameters< ChargePolicy >
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, ChargedPolicy >::value, int > = 0>
 SingleTrackParameters (std::optional< CovMatrix_t > cov, const ParVector_t &parValues, const Vector3D &position, const Vector3D &momentum)
 standard constructor for track parameters of charged particles
 
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, NeutralPolicy >::value, int > = 0>
 SingleTrackParameters (std::optional< CovMatrix_t > cov, const ParVector_t &parValues, const Vector3D &position, const Vector3D &momentum)
 standard constructor for track parameters of neutral particles
 
 SingleTrackParameters (const SingleTrackParameters< ChargePolicy > &copy)=default
 default copy constructor
 
 SingleTrackParameters (SingleTrackParameters< ChargePolicy > &&copy)=default
 default move constructor
 
SingleTrackParameters
< ChargePolicy > & 
operator= (const SingleTrackParameters< ChargePolicy > &rhs)
 copy assignment operator
 
SingleTrackParameters
< ChargePolicy > & 
operator= (SingleTrackParameters< ChargePolicy > &&rhs)
 move assignment operator
 
template<typename T >
void updateGlobalCoordinates (const GeometryContext &, const T &)
 update global momentum from current parameter values
 
void updateGlobalCoordinates (const GeometryContext &gctx, const local_parameter &)
 update global position from current parameter values
 
std::ostream & print (std::ostream &sl) const
 print information to output stream
 
- Protected Attributes inherited from Acts::SingleTrackParameters< ChargePolicy >
ChargePolicy m_oChargePolicy
 
FullParameterSet m_oParameters
 
Vector3D m_vPosition
 3D vector with global position
 
Vector3D m_vMomentum
 3D vector with global momentum
 

Detailed Description

template<class ChargePolicy>
class Acts::SingleBoundTrackParameters< ChargePolicy >

Charged and Neutrial Track Parameterisation classes bound to to a reference surface. This is a single-component representation.

Bound track parameters are delegating the transformation of local to global coordinate transformations to the reference surface Surface and thus need at contruction a Context object

Note
This class holds shared ownership on the surface it is associated to.

Definition at line 27 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 27 of file SingleBoundTrackParameters.hpp

Member Typedef Documentation

template<class ChargePolicy>
using Acts::SingleBoundTrackParameters< ChargePolicy >::CovMatrix_t = typename SingleTrackParameters<ChargePolicy>::CovMatrix_t

Definition at line 30 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 30 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
using Acts::SingleBoundTrackParameters< ChargePolicy >::ParVector_t = typename SingleTrackParameters<ChargePolicy>::ParVector_t

Definition at line 29 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 29 of file SingleBoundTrackParameters.hpp

Constructor & Destructor Documentation

template<class ChargePolicy>
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, ChargedPolicy >::value, int > = 0>
Acts::SingleBoundTrackParameters< ChargePolicy >::SingleBoundTrackParameters ( const GeometryContext gctx,
std::optional< CovMatrix_t cov,
const ParVector_t parValues,
std::shared_ptr< const Surface surface 
)
inline

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for charged representations.

The transformations declared in the coordinate_transformation yield the global parameters and momentum representation

Parameters
[in]gctxis the Context object that is forwarded to the surface for local to global coordinate transformation
[in]covThe covaraniance matrix (optional, can be nullptr) it is given in the measurement frame
[in]parValuesThe parameter vector
[in]surfaceThe reference surface the parameters are bound to

Definition at line 46 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 46 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, ChargedPolicy >::value, int > = 0>
Acts::SingleBoundTrackParameters< ChargePolicy >::SingleBoundTrackParameters ( const GeometryContext gctx,
std::optional< CovMatrix_t cov,
const ActsVectorD< 3 > &  position,
const ActsVectorD< 3 > &  momentum,
double  dCharge,
double  dTime,
std::shared_ptr< const Surface surface 
)
inline

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for charged representations.

The transformations declared in the coordinate_transformation yield the local parameters

Parameters
[in]gctxis the Context object that is forwarded to the surface for local to global coordinate transformation
[in]covThe covaraniance matrix (optional, can be nullptr) it is given in the curvilinear frame
[in]positionThe global position of the track parameterisation
[in]momentumThe global momentum of the track parameterisation
[in]dChargeThe charge of the particle track parameterisation
[in]dTimeThe time component of the parameters
[in]surfaceThe reference surface the parameters are bound to

Definition at line 78 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 78 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, NeutralPolicy >::value, int > = 0>
Acts::SingleBoundTrackParameters< ChargePolicy >::SingleBoundTrackParameters ( const GeometryContext gctx,
std::optional< CovMatrix_t cov,
const ParVector_t parValues,
std::shared_ptr< const Surface surface 
)
inline

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for neutral representations.

The transformations declared in the coordinate_transformation yield the global parameters and momentum representation

Parameters
[in]gctxis the Context object that is forwarded to the surface for local to global coordinate transformation
[in]covThe covaraniance matrix (optional, can be nullptr) it is given in the measurement frame
[in]parValuesThe parameter vector
[in]surfaceThe reference surface the parameters are bound to

Definition at line 108 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 108 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, NeutralPolicy >::value, int > = 0>
Acts::SingleBoundTrackParameters< ChargePolicy >::SingleBoundTrackParameters ( const GeometryContext gctx,
std::optional< CovMatrix_t cov,
const ActsVectorD< 3 > &  position,
const ActsVectorD< 3 > &  momentum,
double  dTime,
std::shared_ptr< const Surface surface 
)
inline

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for neutral representations.

The transformations declared in the coordinate_transformation yield the local parameters

Parameters
[in]gctxis the Context object that is forwarded to the surface for local to global coordinate transformation
[in]covThe covaraniance matrix (optional, can be nullptr) it is given in the curvilinear frame
[in]positionThe global position of the track parameterisation
[in]momentumThe global momentum of the track parameterisation
[in]dChargeThe charge of the particle track parameterisation
[in]surfaceThe reference surface the parameters are bound to

Definition at line 140 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 140 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
Acts::SingleBoundTrackParameters< ChargePolicy >::SingleBoundTrackParameters ( const SingleBoundTrackParameters< ChargePolicy > &  copy)
inline

copy constructor - charged/neutral

Parameters
[in]copyThe source parameters

Definition at line 154 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 154 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
Acts::SingleBoundTrackParameters< ChargePolicy >::SingleBoundTrackParameters ( SingleBoundTrackParameters< ChargePolicy > &&  other)
inline

move constructor - charged/neutral

Parameters
[in]otherThe source parameters

Definition at line 162 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 162 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
Acts::SingleBoundTrackParameters< ChargePolicy >::~SingleBoundTrackParameters ( )
finaldefault

desctructor - charged/neutral checks if the surface is free and in such a case deletes it

Member Function Documentation

template<class ChargePolicy>
SingleBoundTrackParameters<ChargePolicy>& Acts::SingleBoundTrackParameters< ChargePolicy >::operator= ( const SingleBoundTrackParameters< ChargePolicy > &  rhs)
inline

copy assignment operator - charged/neutral

Definition at line 171 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 171 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
SingleBoundTrackParameters<ChargePolicy>& Acts::SingleBoundTrackParameters< ChargePolicy >::operator= ( SingleBoundTrackParameters< ChargePolicy > &&  rhs)
inline

move assignment operator - charged/neutral checks if the surface is free and in such a case delete-clones it

Definition at line 183 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 183 of file SingleBoundTrackParameters.hpp

template<class ChargePolicy>
RotationMatrix3D Acts::SingleBoundTrackParameters< ChargePolicy >::referenceFrame ( const GeometryContext gctx) const
inline

access to the measurement frame, i.e. the rotation matrix with respect to the global coordinate system, in which the local error is described.

Parameters
[in]gctxis the Context object that is forwarded to the surface for local to global coordinate transformation

For planar surface, this is identical to the rotation matrix of the surface frame, for measurements with respect to a line this has to be constructed by the point of clostest approach to the line, for cylindrical surfaces this is (by convention) the tangential plane.

Definition at line 219 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 219 of file SingleBoundTrackParameters.hpp

Referenced by Acts::Test::BOOST_DATA_TEST_CASE(), and Acts::AtlasStepper< ConstantBField >::update().

+ Here is the caller graph for this function:

template<class ChargePolicy>
const Surface& Acts::SingleBoundTrackParameters< ChargePolicy >::referenceSurface ( ) const
inlinefinalvirtual
template<class ChargePolicy>
template<ParID_t par>
void Acts::SingleBoundTrackParameters< ChargePolicy >::set ( const GeometryContext gctx,
ParValue_t  newValue 
)
inline

set method for parameter updates obviously only allowed on non-const objects

Parameters
[in]gctxis the Context object that is forwarded to the surface for local to global coordinate transformation

Definition at line 200 of file SingleBoundTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 200 of file SingleBoundTrackParameters.hpp

Referenced by Acts::Test::BOOST_DATA_TEST_CASE().

+ Here is the caller graph for this function:

Member Data Documentation


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