00001 /* @version $Revision: 1416 $ * @modifiedby $Author: jacquem $ * @lastmodified $Date: 2011-11-18 16:11:02 +0100 (Fri, 18 Nov 2011) $ */ 00002 00003 #ifndef ROOT_CALOHIT 00004 #define ROOT_CALOHIT 00005 00006 00007 00008 /*! 00009 * \file CaloHit.hh 00010 * \brief Describe calorimeter hit 00011 * 00012 * -position along x axis: fX 00013 * 00014 * -position along y axis: fY 00015 * 00016 * -position along z axis: fZ 00017 * 00018 * -Threshold value: thr 00019 * 00020 * -Delta t time value: deltaT 00021 * 00022 * \author Jean Jacquemier 00023 * \version "$Revision: 1416 $" 00024 */ 00025 00026 00027 #include "TObject.h" 00028 #include "root/MTChannelSoftId.hh" 00029 00030 ////////////////////////////////////////////////////////////////////////// 00031 // // 00032 // CaloHit // 00033 // // 00034 ////////////////////////////////////////////////////////////////////////// 00035 00036 /*! \class CaloHit 00037 * \brief Describe calorimeter hit 00038 * 00039 * -position along x axis: fX 00040 * 00041 * -position along y axis: fY 00042 * 00043 * -position along z axis: fZ 00044 * 00045 * -Threshold value: thr 00046 * 00047 * -Delta t time value: deltaT 00048 * 00049 */ 00050 00051 00052 class CaloHit: public TObject { 00053 00054 00055 public: 00056 00057 /*! 00058 * \brief Constructor 00059 * 00060 * CaloHit class constructor 00061 * 00062 * \param none 00063 */ 00064 CaloHit(); 00065 00066 /*! 00067 * \brief Destructor 00068 * 00069 * CaloHit class destructor 00070 * 00071 * \param none 00072 */ 00073 virtual ~CaloHit(); // virtual to call ~TObject 00074 00075 00076 /** 00077 * \fn GetX(void) const 00078 * \brief Getter for position along x axis 00079 * \param void. 00080 * \return Int_t position along x axis in micrometer 00081 */ 00082 inline Int_t GetX(void) const { return fX; } ; 00083 00084 /** 00085 * \fn GetY(void) const 00086 * \brief Getter for position along Y axis 00087 * \param void. 00088 * \return Int_t position along Y axis in micrometer 00089 */ 00090 inline Int_t GetY(void) const { return fY; } ; 00091 00092 /** 00093 * \fn GetZ(void) const 00094 * \brief Getter for position along z axis 00095 * \param void. 00096 * \return Int_t position along z axis in micrometer 00097 */ 00098 inline Int_t GetZ(void) const { return fZ; } ; 00099 00100 /** 00101 * \fn GetThreshold(void) const 00102 * \brief Getter for hit threshold value 00103 * \param void. 00104 * \return UInt_t hit threshold value 00105 */ 00106 inline UInt_t GetThreshold(void) const { return thr; } ; 00107 00108 /** 00109 * \fn GetDeltaT(void) 00110 * \brief Getter for hit deltaT time value 00111 * \param void. 00112 * \return Int_t hit deltaT time value 00113 */ 00114 inline Int_t GetDeltaT(void) const { return deltaT; } ; 00115 00116 /** 00117 * \fn SetX(const Int_t value) 00118 * \brief Setter for position along x axis 00119 * \param Int_t new position along x axis 00120 * \return none 00121 */ 00122 inline void SetX(const Int_t value) { fX = value; }; 00123 00124 /** 00125 * \fn SetY(const Int_t value) 00126 * \brief Setter for position along Y axis 00127 * \param Int_t new position along Y axis 00128 * \return none 00129 */ 00130 inline void SetY(const Int_t value) { fY = value; }; 00131 00132 /** 00133 * \fn SetZ(const Int_t value) 00134 * \brief Setter for position along Z axis 00135 * \param Int_t new position along Z axis 00136 * \return none 00137 */ 00138 inline void SetZ(const Int_t value) { fZ = value; }; 00139 00140 /** 00141 * \fn SetLayer(const UInt_t value) 00142 * \brief Setter for layer number 00143 * \param UInt_t value = layer number 00144 * \return none 00145 */ 00146 inline void SetLayer(const UInt_t value) { layer = value; }; 00147 00148 /** 00149 * \fn SetThreshold(const UInt_t value) 00150 * \brief Setter for hit threshold value 00151 * \param UInt_t new hit threshold value 00152 * \return none 00153 */ 00154 inline void SetThreshold(const UInt_t value) { thr = value; }; 00155 00156 /** 00157 * \fn SetDeltaT(const Int_t value) 00158 * \brief Setter for deltaT time value 00159 * \param Int_t new deltaT time value 00160 * \return none 00161 */ 00162 inline void SetDeltaT(const Int_t value) { deltaT = value; }; 00163 00164 /** 00165 * \fn GetLayer(const Int_t value) 00166 * \brief Setter for deltaT time value 00167 * \param Int_t new deltaT time value 00168 * \return none 00169 */ 00170 inline UInt_t GetLayer(void) { return layer; }; 00171 00172 00173 /** 00174 * \fn GetSolftId() 00175 * \brief Getter for softId. softId give information on Chamber/Dif/Board/Chip for this channel 00176 * \return MTChannelSoftId 00177 */ 00178 inline MTChannelSoftId GetSolftId(void) { return softId; }; 00179 00180 /** 00181 * \fn SetSolftId(const MTChannelSoftId value) 00182 * \brief Setter for softId. softId give information on Chamber/Dif/Board/Chip for this channel 00183 * \return void 00184 */ 00185 inline void SetSoftId(MTChannelSoftId value) { softId = value; }; 00186 00187 inline void SetRowInChamber(UInt_t value) { rowInChamber = value; } 00188 inline void SetColInChamber(UInt_t value) { colInChamber = value; } 00189 00190 inline unsigned int GetRowInChamber() const { return rowInChamber; }; 00191 inline unsigned int GetColInChamber() const { return colInChamber; }; 00192 00193 00194 private: 00195 Int_t fX; 00196 Int_t fY; 00197 Int_t fZ; 00198 UInt_t rowInChamber; // row in Chamber alongside X axis 00199 UInt_t colInChamber; // col in Chamber alongside Y axis 00200 UInt_t thr; 00201 Int_t deltaT; 00202 UInt_t layer; 00203 MTChannelSoftId softId; 00204 00205 ClassDef(CaloHit, 34) //MTEvent structure 00206 }; 00207 00208 #endif