LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TrackStateImpl.h
Go to the documentation of this file.
1 #ifndef IMPL_TRACKSTATEIMPL_H
2 #define IMPL_TRACKSTATEIMPL_H 1
3 
4 
5 #include "EVENT/TrackState.h"
6 #include "AccessChecked.h"
7 #include <map>
8 
9 
10 #define TRKSTATENCOVMATRIX 15
11 #define TRKSTATENREFSIZE 3
12 
13 namespace IMPL {
14 
24 
25  public:
26 
29  TrackStateImpl() ;
30  TrackStateImpl(int location, float d0, float phi, float omega, float z0, float tanLambda, const float* covMatrix, const float* reference) ;
31  TrackStateImpl(int location, float d0, float phi, float omega, float z0, float tanLambda, const EVENT::FloatVec& covMatrix, const float* reference) ;
34 
35 
36 
38  virtual ~TrackStateImpl() ;
39 
40 
41  virtual int id() const { return simpleUID() ; }
42 
43 
47  virtual int getLocation() const ;
48 
52  virtual float getD0() const ;
53 
56  virtual float getPhi() const ;
57 
61  virtual float getOmega() const ;
62 
66  virtual float getZ0() const ;
67 
70  virtual float getTanLambda() const ;
71 
76  virtual const EVENT::FloatVec & getCovMatrix() const ;
77 
81  virtual const float* getReferencePoint() const ;
82 
83 
84  // setters
85  virtual void setLocation( int location ) ;
86  virtual void setD0( float d0 ) ;
87  virtual void setPhi( float phi ) ;
88  virtual void setOmega( float omega ) ;
89  virtual void setZ0( float z0 ) ;
90  virtual void setTanLambda( float tanLambda ) ;
91 
92  virtual void setCovMatrix( const float* cov ) ;
93  virtual void setCovMatrix( const EVENT::FloatVec& cov ) ;
94 
95  virtual void setReferencePoint( const float* rPnt) ;
96 
97 
98  protected:
99 
100  int _location{} ; // location defined by TrackStateLocationEnum
101  float _d0 ;
102  float _phi ;
103  float _omega ;
104  float _z0 ;
105  float _tanLambda ;
106 
109 
110 }; // class
111 
112 } // namespace IMPL
113 #endif /* ifndef IMPL_TRACKSTATEIMLP_H */
114 
virtual float getZ0() const
Impact paramter of the track in (r-z).
virtual void setD0(float d0)
virtual float getOmega() const
Omega is the signed curvature of the track in [1/mm].
virtual void setTanLambda(float tanLambda)
The LCIO TrackState class.
Definition: TrackState.h:26
Implementation of the LCIO TrackState class.
virtual void setReferencePoint(const float *rPnt)
virtual int getLocation() const
The location of the track state.
virtual void setLocation(int location)
virtual void setCovMatrix(const float *cov)
virtual float getTanLambda() const
Lambda is the dip angle of the track in r-z at the reference point.
virtual float getD0() const
Impact paramter of the track in (r-phi).
virtual int id() const
Returns an object id for internal (debugging) use in LCIO.
virtual void setZ0(float z0)
virtual const float * getReferencePoint() const
Reference point of the track parameters, e.g.
virtual ~TrackStateImpl()
Destructor.
virtual void setPhi(float phi)
virtual const EVENT::FloatVec & getCovMatrix() const
Covariance matrix of the track parameters.
TrackStateImpl()
Default constructor, initializes values to 0.
virtual int simpleUID() const
Definition: AccessChecked.h:26
#define TRKSTATENREFSIZE
virtual void setOmega(float omega)
Controls access to objects.
Definition: AccessChecked.h:18
float _reference[TRKSTATENREFSIZE]
virtual float getPhi() const
Phi of the track at reference point.
EVENT::FloatVec _covMatrix