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

Charged and Neutrial Curvilinear Track representation This is a single-component representation. More...

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

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

Public Types

using CovMatrix_t = typename SingleTrackParameters< ChargePolicy >::CovMatrix_t
 type of covariance matrix
 
- 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>
 SingleCurvilinearTrackParameters (std::optional< CovMatrix_t > cov, const ActsVectorD< 3 > &position, const ActsVectorD< 3 > &momentum, double dCharge, double dTime)
 constructor for curvilienear representation 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>
 SingleCurvilinearTrackParameters (std::optional< CovMatrix_t > cov, const ActsVectorD< 3 > &position, const ActsVectorD< 3 > &momentum, double dTime)
 constructor for curvilienear representation This is the constructor from global parameters, enabled only for charged representations.
 
 SingleCurvilinearTrackParameters (const SingleCurvilinearTrackParameters< ChargePolicy > &copy)
 copy constructor - charged/neutral
 
 SingleCurvilinearTrackParameters (SingleCurvilinearTrackParameters< ChargePolicy > &&other)
 move constructor - charged/neutral
 
 ~SingleCurvilinearTrackParameters () final=default
 
SingleCurvilinearTrackParameters
< ChargePolicy > & 
operator= (const SingleCurvilinearTrackParameters< ChargePolicy > &rhs)
 copy assignment operator - charged/netural virtual constructor for type creation without casting
 
SingleCurvilinearTrackParameters
< ChargePolicy > & 
operator= (SingleCurvilinearTrackParameters< ChargePolicy > &&rhs)
 move assignment operator - charged/netural virtual constructor for type creation without casting
 
template<ParID_t par, std::enable_if_t< std::is_same_v< BoundParameterType< par >, local_parameter >, int > = 0>
void set (const GeometryContext &gctx, ParValue_t newValue)
 update of the track parameterisation only possible on non-const objects, enable for local parameters
 
template<ParID_t par, std::enable_if_t< not std::is_same_v< BoundParameterType< par >, local_parameter >, int > = 0>
void set (const GeometryContext &gctx, ParValue_t newValue)
 update of the track parameterisation only possible on non-const objects enable for parameters that are not local parameters
 
const SurfacereferenceSurface () const final
 access 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< PlaneSurfacem_upSurface
 

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<typename ChargePolicy>
class Acts::SingleCurvilinearTrackParameters< ChargePolicy >

Charged and Neutrial Curvilinear Track representation This is a single-component representation.

Note
the curvilinear representation is bound to the curvilinear planar surface represenation. I.e. the local parameters are by construction (0,0), the curvilinear surface is characterised by being perpendicular to the track direction. It's internal frame is constructed with the help of the global z axis.

Definition at line 26 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 26 of file SingleCurvilinearTrackParameters.hpp

Member Typedef Documentation

template<typename ChargePolicy>
using Acts::SingleCurvilinearTrackParameters< ChargePolicy >::CovMatrix_t = typename SingleTrackParameters<ChargePolicy>::CovMatrix_t

type of covariance matrix

Definition at line 30 of file SingleCurvilinearTrackParameters.hpp.

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

Constructor & Destructor Documentation

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

constructor for curvilienear representation This is the constructor from global parameters, enabled only for charged representations.

Parameters
[in]covThe covariance matrix w.r.t. curvilinear frame
[in]positionThe global position of this track parameterisation
[in]momentumThe global momentum of this track parameterisation
[in]dChargeThe charge of this track parameterisation

Definition at line 42 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 42 of file SingleCurvilinearTrackParameters.hpp

template<typename ChargePolicy>
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, NeutralPolicy >::value, int > = 0>
Acts::SingleCurvilinearTrackParameters< ChargePolicy >::SingleCurvilinearTrackParameters ( std::optional< CovMatrix_t cov,
const ActsVectorD< 3 > &  position,
const ActsVectorD< 3 > &  momentum,
double  dTime 
)
inline

constructor for curvilienear representation This is the constructor from global parameters, enabled only for charged representations.

Parameters
[in]covThe covariance matrix w.r.t. curvilinear frame
[in]positionThe global position of this track parameterisation
[in]momentumThe global momentum of this track parameterisation

Definition at line 62 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 62 of file SingleCurvilinearTrackParameters.hpp

template<typename ChargePolicy>
Acts::SingleCurvilinearTrackParameters< ChargePolicy >::SingleCurvilinearTrackParameters ( const SingleCurvilinearTrackParameters< ChargePolicy > &  copy)
inline

copy constructor - charged/neutral

Parameters
[in]copyThe source parameters

Definition at line 74 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 74 of file SingleCurvilinearTrackParameters.hpp

template<typename ChargePolicy>
Acts::SingleCurvilinearTrackParameters< ChargePolicy >::SingleCurvilinearTrackParameters ( SingleCurvilinearTrackParameters< ChargePolicy > &&  other)
inline

move constructor - charged/neutral

Parameters
[in]otherThe source parameters

Definition at line 82 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 82 of file SingleCurvilinearTrackParameters.hpp

template<typename ChargePolicy>
Acts::SingleCurvilinearTrackParameters< ChargePolicy >::~SingleCurvilinearTrackParameters ( )
finaldefault

Member Function Documentation

template<typename ChargePolicy>
SingleCurvilinearTrackParameters<ChargePolicy>& Acts::SingleCurvilinearTrackParameters< ChargePolicy >::operator= ( const SingleCurvilinearTrackParameters< ChargePolicy > &  rhs)
inline

copy assignment operator - charged/netural virtual constructor for type creation without casting

Definition at line 91 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 91 of file SingleCurvilinearTrackParameters.hpp

References Acts::SingleCurvilinearTrackParameters< ChargePolicy >::m_upSurface, Acts::SingleTrackParameters< ChargePolicy >::momentum(), Acts::SingleTrackParameters< ChargePolicy >::operator=(), and Acts::SingleTrackParameters< ChargePolicy >::position().

+ Here is the call graph for this function:

template<typename ChargePolicy>
SingleCurvilinearTrackParameters<ChargePolicy>& Acts::SingleCurvilinearTrackParameters< ChargePolicy >::operator= ( SingleCurvilinearTrackParameters< ChargePolicy > &&  rhs)
inline

move assignment operator - charged/netural virtual constructor for type creation without casting

Definition at line 104 of file SingleCurvilinearTrackParameters.hpp.

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

References Acts::SingleCurvilinearTrackParameters< ChargePolicy >::m_upSurface, and Acts::SingleTrackParameters< ChargePolicy >::operator=().

+ Here is the call graph for this function:

template<typename ChargePolicy>
RotationMatrix3D Acts::SingleCurvilinearTrackParameters< 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
gctxThe current geometry context object, e.g. alignment It is ignored for Curvilinear parameters
Note
For a curvilinear track parameterisation this is identical to the rotation matrix of the intrinsic planar surface.

Definition at line 173 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 173 of file SingleCurvilinearTrackParameters.hpp

References Acts::SingleCurvilinearTrackParameters< ChargePolicy >::m_upSurface.

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

+ Here is the caller graph for this function:

template<typename ChargePolicy>
const Surface& Acts::SingleCurvilinearTrackParameters< ChargePolicy >::referenceSurface ( ) const
inlinefinalvirtual

access to the reference surface

Implements Acts::SingleTrackParameters< ChargePolicy >.

Definition at line 162 of file SingleCurvilinearTrackParameters.hpp.

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

References Acts::SingleCurvilinearTrackParameters< ChargePolicy >::m_upSurface.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_DATA_TEST_CASE(), and Acts::Test::runTest().

+ Here is the caller graph for this function:

template<typename ChargePolicy>
template<ParID_t par, std::enable_if_t< std::is_same_v< BoundParameterType< par >, local_parameter >, int > = 0>
void Acts::SingleCurvilinearTrackParameters< ChargePolicy >::set ( const GeometryContext gctx,
ParValue_t  newValue 
)
inline

update of the track parameterisation only possible on non-const objects, enable for local parameters

Template Parameters
ParID_tThe parameter type
Parameters
gctxThe current geometry context object, e.g. alignment
newValueThe new updaed value

For curvilinear parameters the local parameters are forced to be (0,0), hence an update is an effective shift of the reference

Definition at line 128 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 128 of file SingleCurvilinearTrackParameters.hpp

References Acts::Test::gctx, Acts::SingleTrackParameters< ChargePolicy >::getParameterSet(), Acts::SingleCurvilinearTrackParameters< ChargePolicy >::m_upSurface, Acts::SingleTrackParameters< ChargePolicy >::momentum(), Acts::SingleTrackParameters< ChargePolicy >::position(), and Acts::SingleTrackParameters< ChargePolicy >::updateGlobalCoordinates().

+ Here is the call graph for this function:

template<typename ChargePolicy>
template<ParID_t par, std::enable_if_t< not std::is_same_v< BoundParameterType< par >, local_parameter >, int > = 0>
void Acts::SingleCurvilinearTrackParameters< ChargePolicy >::set ( const GeometryContext gctx,
ParValue_t  newValue 
)
inline

update of the track parameterisation only possible on non-const objects enable for parameters that are not local parameters

Template Parameters
ParID_tThe parameter type
Parameters
gctxThe current geometry context object, e.g. alignment
newValueThe new updaed value

For curvilinear parameters the directional change of parameters causes a recalculation of the surface

Definition at line 153 of file SingleCurvilinearTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 153 of file SingleCurvilinearTrackParameters.hpp

References Acts::Test::gctx, Acts::SingleTrackParameters< ChargePolicy >::getParameterSet(), Acts::SingleCurvilinearTrackParameters< ChargePolicy >::m_upSurface, Acts::SingleTrackParameters< ChargePolicy >::momentum(), Acts::SingleTrackParameters< ChargePolicy >::position(), and Acts::SingleTrackParameters< ChargePolicy >::updateGlobalCoordinates().

+ Here is the call graph for this function:

Member Data Documentation


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