00001 #ifndef IMPL_TrackerPulseImpl_H
00002 #define IMPL_TrackerPulseImpl_H 1
00003
00004 #include "EVENT/TrackerPulse.h"
00005 #include "AccessChecked.h"
00006
00007 #define TRKPULSENCOVMATRIX 3
00008
00009 namespace IMPL {
00010
00017 class TrackerPulseImpl : public EVENT::TrackerPulse , public AccessChecked {
00018
00019 public:
00020
00023 TrackerPulseImpl() ;
00024
00026 TrackerPulseImpl(const TrackerPulseImpl&) = default ;
00027
00029 TrackerPulseImpl& operator=(const TrackerPulseImpl&) = default ;
00030
00032 virtual ~TrackerPulseImpl() ;
00033
00034 virtual int id() const { return simpleUID() ; }
00035
00036
00039 virtual int getCellID0() const { return _cellID0 ; }
00040
00044 virtual int getCellID1() const { return _cellID1 ; }
00045
00048 virtual float getTime() const { return _time ; }
00049
00050
00051
00052
00055 virtual float getCharge() const { return _charge ; }
00056
00057
00058
00059
00064 virtual const EVENT::FloatVec & getCovMatrix() const { return _cov ; }
00065
00066
00069 virtual int getQuality() const { return _quality ; }
00070
00075 virtual EVENT::TrackerData * getTrackerData() const { return _corrData ; }
00076
00077
00078
00079 void setCellID0( int cellID0 ) ;
00080 void setCellID1( int cellID1 ) ;
00081 void setTime( float time ) ;
00082
00083 void setCharge( float charge ) ;
00084
00085
00086 void setCovMatrix( const float* cov ) ;
00087 void setCovMatrix( const EVENT::FloatVec & ) ;
00088 void setQuality( int quality ) ;
00089 void setQualityBit( int bit , bool val=true ) ;
00090 void setTrackerData( EVENT::TrackerData * corrData ) ;
00091
00092 protected:
00093
00094 int _cellID0 ;
00095 int _cellID1 ;
00096 float _time ;
00097 float _charge ;
00098 int _quality ;
00099 EVENT::FloatVec _cov ;
00100 EVENT::TrackerData* _corrData ;
00101
00102 };
00103 }
00104 #endif