00001 #ifndef MucMcHit_H 00002 #define MucMcHit_H 00003 #include <algorithm> 00004 #include "GaudiKernel/ContainedObject.h" 00005 #include "Identifier/Identifier.h" 00006 #include "GaudiKernel/ObjectVector.h" 00007 #include "EventModel/EventModel.h" 00008 00009 using namespace EventModel; 00010 extern const CLID& CLID_MucMcHit; 00011 00012 namespace Event { // NameSpace 00013 00014 class MucMcHit : virtual public ContainedObject { 00015 public: 00016 virtual const CLID& clID() const 00017 { 00018 return MucMcHit::classID(); 00019 } 00020 00021 static const CLID& classID() 00022 { 00023 return CLID_MucMcHit; 00024 } 00025 // Constructor 00026 MucMcHit(){}; 00027 MucMcHit(const Identifier& id, unsigned int trackIndex, double xPosition, 00028 double yPosition, double zPosition, double px, double py, double pz); 00029 00030 // Get associated id 00031 Identifier identify() const; 00032 00033 // Get the associated track id 00034 unsigned int getTrackIndex() const; 00035 00036 // Get the position x 00037 double getPositionX() const; 00038 00039 // Get the position y 00040 double getPositionY() const; 00041 00042 // Get the position z 00043 double getPositionZ() const; 00044 00045 // Get momentum Px 00046 double getPx() const; 00047 00048 // Get momentum Py 00049 double getPy() const; 00050 00051 // Get momentum Pz 00052 double getPz() const; 00053 00054 //Set 00055 void setIdentifier(unsigned id) {m_id = id;} 00056 void setTrackIndex(unsigned int trackIndex){ m_trackIndex = trackIndex;} 00057 void setPositionX(double positionX) {m_xPosition = positionX;} 00058 void setPositionY(double positionY) {m_yPosition = positionY;} 00059 void setPositionZ(double positionZ) {m_zPosition = positionZ;} 00060 void setPx(double px) {m_px = px;} 00061 void setPy(double py) {m_py = py;} 00062 void setPz(double pz) {m_pz = pz;} 00063 00064 00065 private: 00066 MucMcHit(const MucMcHit &); 00067 00068 MucMcHit &operator=(const MucMcHit &); 00069 00070 // const Identifier m_id; //2005/12/29 wensp modified 00071 00072 Identifier m_id; 00073 00074 unsigned int m_trackIndex; 00075 00076 double m_xPosition; 00077 00078 double m_yPosition; 00079 00080 double m_zPosition; 00081 00082 double m_px; 00083 00084 double m_py; 00085 00086 double m_pz; 00087 }; 00088 00089 typedef ObjectVector<MucMcHit> MucMcHitCol; 00090 00091 } // NameSpace Event 00092 #endif