LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
TrackerHitPlaneImpl.h
1 // -*- C++ -*-
2 #ifndef IMPL_TrackerHitPlaneImpl_H
3 #define IMPL_TrackerHitPlaneImpl_H 1
4 
5 #include <string>
6 
7 #include "EVENT/TrackerHitPlane.h"
8 #include "IMPL/AccessChecked.h"
9 
10 #define TRKHITPLANENCOVMATRIX 6
11 
12 namespace IMPL {
13 
21 
22  public:
23  // C'tor
25 
27  virtual ~TrackerHitPlaneImpl() ;
28 
29 
30  virtual int id() const { return simpleUID() ; }
31 
32 
35  virtual int getCellID0() const { return _cellID0; }
36 
41  virtual int getCellID1() const { return _cellID1; }
42 
43 
46  virtual const double* getPosition() const { return _pos ; } ;
47 
51  virtual const float* getU() const { return _u ; }
52 
56  virtual const float* getV() const { return _v ; }
57 
59  virtual float getdU() const { return _du ; }
60 
62  virtual float getdV() const { return _dv ; }
63 
64 
67  virtual const EVENT::FloatVec & getCovMatrix() const ;
68 
73  virtual float getdEdx() const ;
74 
77  virtual float getEDep() const { return _EDep ; }
78 
81  virtual float getEDepError() const { return _EDepError ; }
82 
85  virtual float getTime() const { return _time ; } ;
86 
91  virtual int getType() const { return _type ; }
92 
93 
96  virtual int getQuality() const { return _quality ; }
97 
101  virtual const EVENT::LCObjectVec & getRawHits() const { return _rawHits ; }
102 
103 
106  virtual EVENT::LCObjectVec & rawHits() { return _rawHits ; }
107 
108 
109  // setters
110 
113  void setCellID0(int id0) ;
114 
119  void setCellID1(int id1) ;
120  void setType(int type) ;
121  void setPosition( const double pos[3]) ;
122  void setU( const float u[2] ) { setU( u[0] , u[1] ) ; }
123  void setU( float theta, float phi);
124  void setV( const float v[2] ) { setV( v[0] , v[1] ) ; };
125  void setV( float theta, float phi);
126  void setdU( float du );
127  void setdV( float dv );
128  void setEDep( float e ) ;
129  void setEDepError( float e ) ;
130  void setTime( float t ) ;
131  void setQuality( int quality ) ;
132  void setQualityBit( int bit , bool val=true ) ;
133  //void setCovMatrix( const EVENT::FloatVec& cov );
134  //void setCovMatrix( float cov[TRKHITPLANENCOVMATRIX] );
135 
136 protected:
137 
138  int _cellID0 ;
139  int _cellID1 ;
140 
141  int _type ;
142  double _pos[3] ;
143  float _u[2] ;
144  float _v[2] ;
145  float _du ;
146  float _dv ;
147  float _EDep ;
148  float _EDepError ;
149  float _time ;
150  int _quality ;
151  mutable EVENT::FloatVec _cov ;
152  EVENT::LCObjectVec _rawHits ;
153 
154 
155 }; // class
156 } // namespace IMPL
157 #endif // #ifndef IMPL_TrackerHitPlaneImpl_H
virtual const EVENT::LCObjectVec & getRawHits() const
The raw data hits.
Definition: TrackerHitPlaneImpl.h:101
virtual EVENT::LCObjectVec & rawHits()
Use to manipulate the raw hits.
Definition: TrackerHitPlaneImpl.h:106
virtual const float * getV() const
Direction of second measurement - given as (theta, phi).
Definition: TrackerHitPlaneImpl.h:56
void setCellID1(int id1)
Sets the second cell id; Only store if the flag word (bit RTHPBIT_ID1) of the collection is set...
Definition: TrackerHitPlaneImpl.cc:57
std::vector< LCObject * > LCObjectVec
Vector of (pointers to) LCObjects.
Definition: LCObject.h:17
virtual int getCellID1() const
Same name as in CalorimeterHit, even though there are no 'cells' in this case 0 if information is not...
Definition: TrackerHitPlaneImpl.h:41
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.
Definition: TrackerHitPlane.h:30
virtual float getEDepError() const
The error measured on EDep [GeV].
Definition: TrackerHitPlaneImpl.h:81
std::vector< float > FloatVec
Vector of floats.
Definition: LCIOSTLTypes.h:18
virtual float getdV() const
Error along v.
Definition: TrackerHitPlaneImpl.h:62
virtual int getCellID0() const
Same name as in CalorimeterHit, even though there are no 'cells' in this case.
Definition: TrackerHitPlaneImpl.h:35
virtual const EVENT::FloatVec & getCovMatrix() const
Covariance of the position (x,y,z)
Definition: TrackerHitPlaneImpl.cc:37
virtual const float * getU() const
Direction of first measurement - given as (theta, phi).
Definition: TrackerHitPlaneImpl.h:51
virtual int getQuality() const
The quality bit flag of the hit.
Definition: TrackerHitPlaneImpl.h:96
virtual float getdU() const
Error along u.
Definition: TrackerHitPlaneImpl.h:59
virtual ~TrackerHitPlaneImpl()
Destructor.
Definition: TrackerHitPlaneImpl.cc:33
Implementation of the planar tracker hit.
Definition: TrackerHitPlaneImpl.h:20
virtual float getTime() const
The time of the hit in [ns].
Definition: TrackerHitPlaneImpl.h:85
void setCellID0(int id0)
Sets the first cell id;.
Definition: TrackerHitPlaneImpl.cc:52
virtual const double * getPosition() const
The hit position in [mm].
Definition: TrackerHitPlaneImpl.h:46
virtual float getdEdx() const
The dE/dx of the hit in [GeV/mm].
Definition: TrackerHitPlaneImpl.cc:44
virtual int getType() const
Type of hit.
Definition: TrackerHitPlaneImpl.h:91
virtual int id() const
Returns an object id for internal (debugging) use in LCIO.
Definition: TrackerHitPlaneImpl.h:30
virtual float getEDep() const
The deposited energy of the hit [GeV].
Definition: TrackerHitPlaneImpl.h:77
Controls access to objects.
Definition: AccessChecked.h:17