LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TrackerHitPlaneImpl.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 #ifndef IMPL_TrackerHitPlaneImpl_H
3 #define IMPL_TrackerHitPlaneImpl_H 1
4 
5 #include <string>
6 
8 #include "IMPL/AccessChecked.h"
9 #include "LCIODeprecated.h"
10 
11 #define TRKHITPLANENCOVMATRIX 6
12 
13 namespace IMPL {
14 
22 
23  public:
24  // C'tor
26 
28  virtual ~TrackerHitPlaneImpl() ;
29 
30 
31  virtual int id() const { return simpleUID() ; }
32 
33 
36  virtual int getCellID0() const { return _cellID0; }
37 
42  virtual int getCellID1() const { return _cellID1; }
43 
44 
47  virtual const double* getPosition() const { return _pos ; } ;
48 
52  virtual const float* getU() const { return _u ; }
53 
57  virtual const float* getV() const { return _v ; }
58 
60  virtual float getdU() const { return _du ; }
61 
63  virtual float getdV() const { return _dv ; }
64 
65 
68  virtual const EVENT::FloatVec & getCovMatrix() const ;
69 
74  LCIO_DEPRECATED( "Use getEDep() instead" , virtual float getdEdx() const ) ;
75 
78  virtual float getEDep() const { return _EDep ; }
79 
82  virtual float getEDepError() const { return _EDepError ; }
83 
86  virtual float getTime() const { return _time ; } ;
87 
92  virtual int getType() const { return _type ; }
93 
94 
97  virtual int getQuality() const { return _quality ; }
98 
102  virtual const EVENT::LCObjectVec & getRawHits() const { return _rawHits ; }
103 
104 
107  virtual EVENT::LCObjectVec & rawHits() { return _rawHits ; }
108 
109 
110  // setters
111 
114  void setCellID0(int id0) ;
115 
120  void setCellID1(int id1) ;
121  void setType(int type) ;
122  void setPosition( const double pos[3]) ;
123  void setU( const float u[2] ) { setU( u[0] , u[1] ) ; }
124  void setU( float theta, float phi);
125  void setV( const float v[2] ) { setV( v[0] , v[1] ) ; };
126  void setV( float theta, float phi);
127  void setdU( float du );
128  void setdV( float dv );
129  void setEDep( float e ) ;
130  void setEDepError( float e ) ;
131  void setTime( float t ) ;
132  void setQuality( int quality ) ;
133  void setQualityBit( int bit , bool val=true ) ;
134 
135 protected:
136 
137  int _cellID0 ;
138  int _cellID1 ;
139 
140  int _type ;
141  double _pos[3] = {0,0,0};
142  float _u[2] = {0,0};
143  float _v[2] = {0,0};
144  float _du ;
145  float _dv ;
146  float _EDep ;
147  float _EDepError ;
148  float _time ;
149  int _quality ;
152 
153 
154 }; // class
155 } // namespace IMPL
156 #endif // #ifndef IMPL_TrackerHitPlaneImpl_H
virtual const EVENT::LCObjectVec & getRawHits() const
The raw data hits.
virtual EVENT::LCObjectVec & rawHits()
Use to manipulate the raw hits.
virtual const float * getV() const
Direction of second measurement - given as (theta, phi).
void setCellID1(int id1)
Sets the second cell id; Only store if the flag word (bit RTHPBIT_ID1) of the collection is set...
virtual int getCellID1() const
Same name as in CalorimeterHit, even though there are no &#39;cells&#39; in this case 0 if information is not...
A tracker hit on a planar surface - the hit is stored as: x,y,z, u(theta, phi), v(theta,phi), du, dv where (x,y,z) is the position in global cartesian coordinates, u,v are the the meassurement directions (unit vectors, spanning the plane) and du,dv are the measurement errors along these directions.
virtual float getEDepError() const
The error measured on EDep [GeV].
virtual float getdV() const
Error along v.
void setU(const float u[2])
virtual int getCellID0() const
Same name as in CalorimeterHit, even though there are no &#39;cells&#39; in this case.
virtual const EVENT::FloatVec & getCovMatrix() const
Covariance of the position (x,y,z)
virtual const float * getU() const
Direction of first measurement - given as (theta, phi).
virtual int getQuality() const
The quality bit flag of the hit.
virtual float getdU() const
Error along u.
void setQualityBit(int bit, bool val=true)
virtual ~TrackerHitPlaneImpl()
Destructor.
virtual float getdEdx() const =0
The dE/dx of the hit in [GeV].
virtual int simpleUID() const
Definition: AccessChecked.h:26
Implementation of the planar tracker hit.
virtual float getTime() const
The time of the hit in [ns].
void setCellID0(int id0)
Sets the first cell id;.
virtual const double * getPosition() const
The hit position in [mm].
virtual int getType() const
Type of hit.
virtual int id() const
Returns an object id for internal (debugging) use in LCIO.
void setPosition(const double pos[3])
virtual float getEDep() const
The deposited energy of the hit [GeV].
Controls access to objects.
Definition: AccessChecked.h:18
void setV(const float v[2])
LCIO_DEPRECATED("Use getEDep() instead", virtual float getdEdx() const )
The dE/dx of the hit in [GeV/mm].