00001 #ifndef RootEventData_TEmcMc_H 00002 #define RootEventData_TEmcMc_H 1 00003 00004 #include "TObject.h" 00005 #include <map> 00006 00007 //#include <vector> 00008 //using namespace std; 00009 00010 class TEmcMc : public TObject { 00011 00012 public: 00013 00014 TEmcMc(); 00015 ~TEmcMc(); 00016 //Get 00017 00018 // Get Hit_Map 00019 std::map<Int_t, Double_t> getHitMap() const { return m_hitMap; } 00020 00021 // Get whether or not hit on EMC 00022 int getHitEmc() const {return m_hitEmc;} 00023 00024 // Get pdg id 00025 int getPDGCode() const {return m_PDGCode;} 00026 00027 // Get pdg charge 00028 double getPDGCharge() const {return m_PDGCharge;} 00029 00030 // Get crystal or dead time 00031 double getTime() const {return m_time;} 00032 00033 // Get associated id 00034 UInt_t getId() const {return m_id;} 00035 00036 // Get the associated track id 00037 UInt_t getTrackIndex() const {return m_trackIndex; } 00038 00039 // Get the position x 00040 Double_t getPositionX() const {return m_xPosition;} 00041 00042 // Get the position y 00043 Double_t getPositionY() const {return m_yPosition;} 00044 00045 // Get the position z 00046 Double_t getPositionZ() const {return m_zPosition;} 00047 00048 // Get momentum Px 00049 Double_t getPx() const {return m_px ;} 00050 00051 // Get momentum Py 00052 Double_t getPy() const {return m_py ;} 00053 00054 // Get momentum Pz 00055 Double_t getPz() const {return m_pz ;} 00056 00057 // Get the total deposited energy 00058 Double_t getDepositEnergy() const {return m_depositEnergy;} 00059 00060 //Set 00061 00062 void setHitMap(std::map<Int_t, Double_t> hitMap) {m_hitMap = hitMap; } 00063 void setHitEmc(int hitEmc) {m_hitEmc = hitEmc ;} 00064 void setPDGCode(int PDGCode) {m_PDGCode = PDGCode ;} 00065 void setPDGCharge(double PDGCharge) {m_PDGCharge = PDGCharge ;} 00066 void setTime(double time) {m_time = time ;} 00067 00068 void setId(UInt_t id) {m_id = id ;} 00069 void setTrackIndex(UInt_t trackIndex){ m_trackIndex = trackIndex;} 00070 void setPositionX(Double_t positionX) {m_xPosition = positionX;} 00071 void setPositionY(Double_t positionY) {m_yPosition = positionY;} 00072 void setPositionZ(Double_t positionZ) {m_zPosition = positionZ;} 00073 void setPx(Double_t px) {m_px = px;} 00074 void setPy(Double_t py) {m_py = py;} 00075 void setPz(Double_t pz) {m_pz = pz;} 00076 void setDepositEnergy(Double_t depositEnergy) {m_depositEnergy = depositEnergy;} 00077 00078 private: 00079 00080 //whether hit Emc 00081 Int_t m_hitEmc; 00082 //particle ID 00083 Int_t m_PDGCode; 00084 //particle charge; 00085 Double_t m_PDGCharge; 00086 //hit crystal time or dead time 00087 Double_t m_time; 00088 00089 UInt_t m_id; 00090 00091 UInt_t m_trackIndex; 00092 00093 Double_t m_xPosition; 00094 00095 Double_t m_yPosition; 00096 00097 Double_t m_zPosition; 00098 00099 Double_t m_px; 00100 00101 Double_t m_py; 00102 00103 Double_t m_pz; 00104 00105 Double_t m_depositEnergy; 00106 00107 std::map<Int_t, Double_t> m_hitMap; 00108 00109 ClassDef(TEmcMc,1) 00110 00111 }; 00112 00113 #endif //TrackRootData_TEmcMc_H 00114