00001 #ifndef EVENT_CALORIMETERHITIMPL_H 00002 #define EVENT_CALORIMETERHITIMPL_H 1 00003 00004 00005 #include "EVENT/MCParticle.h" 00006 #include "EVENT/CalorimeterHit.h" 00007 #include <vector> 00008 #include "AccessChecked.h" 00009 00010 namespace IMPL { 00011 00012 00019 class CalorimeterHitImpl : public EVENT::CalorimeterHit , public AccessChecked { 00020 00021 public: 00022 00025 CalorimeterHitImpl() ; 00026 00027 CalorimeterHitImpl(const IMPL::CalorimeterHitImpl&) = default ; 00028 CalorimeterHitImpl& operator=(const IMPL::CalorimeterHitImpl&) = default ; 00029 00031 virtual ~CalorimeterHitImpl() ; 00032 00033 virtual int id() const { return simpleUID() ; } 00034 00037 virtual int getCellID0() const ; 00038 00043 virtual int getCellID1() const ; 00044 00047 virtual float getEnergy() const ; 00048 00052 virtual float getEnergyError() const ; 00053 00057 virtual float getTime() const ; 00058 00064 virtual const float * getPosition() const ; 00065 00070 virtual int getType() const ; 00071 00075 virtual EVENT::LCObject * getRawHit() const ; 00076 00077 // setters 00078 00081 void setCellID0(int id0) ; 00082 00087 void setCellID1(int id1) ; 00088 00091 void setEnergy(float en) ; 00092 00096 void setEnergyError(float enerr) ; 00097 00100 void setTime(float t) ; 00101 00104 void setPosition(const float pos[3]) ; 00105 00106 void setType(int type) ; 00107 00108 void setRawHit(EVENT::LCObject* rawHit ) ; 00109 00110 protected: 00111 00112 int _cellID0 ; 00113 int _cellID1 ; 00114 float _energy ; 00115 float _energyError ; 00116 float _time ; 00117 float _position[3] ; 00118 int _type ; 00119 00120 EVENT::LCObject* _rawHit ; 00121 00122 }; // class 00123 } // namespace IMPL 00124 #endif /* ifndef EVENT_CALORIMETERHITIMPL_H */