00001
00002 #ifndef IMPL_TRACKERHITIMPL_H
00003 #define IMPL_TRACKERHITIMPL_H 1
00004
00005 #include <string>
00006
00007 #include "EVENT/TrackerHit.h"
00008 #include "IMPL/AccessChecked.h"
00009
00010
00011 #define TRKHITNCOVMATRIX 6
00012
00013 namespace IMPL {
00014
00021 class TrackerHitImpl : public EVENT::TrackerHit , public AccessChecked {
00022
00023 public:
00024
00025 TrackerHitImpl() ;
00026
00028 virtual ~TrackerHitImpl() ;
00029
00030
00031 virtual int id() const { return simpleUID() ; }
00032
00035 virtual int getCellID0() const ;
00036
00041 virtual int getCellID1() const ;
00042
00045 virtual const double* getPosition() const ;
00046
00049 virtual const EVENT::FloatVec & getCovMatrix() const ;
00050
00055 virtual float getdEdx() const ;
00056
00059 virtual float getEDep() const { return _EDep ; }
00060
00063 virtual float getEDepError() const { return _EDepError ; }
00064
00067 virtual float getTime() const ;
00068
00069
00070
00071
00072
00073
00074
00079 virtual int getType() const ;
00080
00083 virtual int getQuality() const { return _quality ; }
00084
00088 virtual const EVENT::LCObjectVec & getRawHits() const ;
00089
00090
00093 virtual EVENT::LCObjectVec & rawHits() ;
00094
00095
00096
00097
00100 void setCellID0(int id0) ;
00101
00106 void setCellID1(int id1) ;
00107
00108 void setType(int type) ;
00109 void setPosition( const double pos[3]) ;
00110 void setCovMatrix( const EVENT::FloatVec& cov );
00111 void setCovMatrix( const float cov[TRKHITNCOVMATRIX] );
00112 void setdEdx( float dedx ) ;
00113 void setEDep( float e ) ;
00114 void setEDepError( float e ) ;
00115 void setTime( float t ) ;
00116 void setQuality( int quality ) ;
00117 void setQualityBit( int bit , bool val=true ) ;
00118
00119
00120 protected:
00121
00122 int _cellID0{0} ;
00123 int _cellID1{0} ;
00124
00125 int _type{0} ;
00126 double _pos[3] = {0.,0.,0.} ;
00127 EVENT::FloatVec _cov{} ;
00128 float _EDep{0} ;
00129 float _EDepError{0} ;
00130 float _time{0} ;
00131 int _quality{0} ;
00132 EVENT::LCObjectVec _rawHits{} ;
00133
00134
00135 };
00136 }
00137 #endif