![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef IEVENTLISTPET_HH 00009 #define IEVENTLISTPET_HH 1 00010 00011 #include "iEventPET.hh" 00012 00019 #define KIND_UNKNOWN 0 00020 00021 #define KIND_TRUE 1 00022 00023 #define KIND_SCAT 2 00024 00025 #define KIND_MSCAT 3 00026 00027 #define KIND_RDM 4 00028 00037 class iEventListPET : public iEventPET 00038 { 00039 // ------------------------------------------------------------------- 00040 // Constructor & Destructor 00041 public: 00046 iEventListPET(); 00050 ~iEventListPET(); 00051 00052 00053 // ------------------------------------------------------------------- 00054 // Public member functions 00055 public: 00061 inline int AllocateSpecificData() {return 0;} 00066 void Describe(); 00067 00068 00069 // ------------------------------------------------------------------- 00070 // Public Get & Set functions 00071 public: 00076 inline uint8_t GetKind() 00077 {return m_kind;} 00083 inline FLTNB GetEventScatRate(int a_bin) 00084 {return m_eventScatRate;} 00089 inline uint32_t GetTOFMeasurement() 00090 {return m_TOFMeasurement;} 00095 inline FLTNB* GetPOI1() 00096 {return mp_POI1;} 00101 inline FLTNB* GetPOI2() 00102 {return mp_POI2;} 00108 inline FLTNB GetPOI1(uint8_t axis) 00109 {return mp_POI1[axis];} 00115 inline FLTNB GetPOI2(uint8_t axis) 00116 {return mp_POI2[axis];} 00122 inline FLTNB GetEventValue(int a_bin) 00123 {return 1.;} 00129 inline void SetKind(uint8_t a_value) 00130 {m_kind = a_value;} 00138 inline void SetScatterRate(int a_bin, FLTNBDATA a_value) 00139 {m_eventScatRate = (FLTNB)a_value;} 00145 inline void SetTOFMeasurement(uint32_t a_value) 00146 {m_TOFMeasurement = a_value;} 00153 inline void SetPOI1(int a_axis, FLTNBDATA a_value) 00154 {mp_POI1[a_axis] = (FLTNB)a_value;} 00161 inline void SetPOI2(int a_axis, FLTNBDATA a_value) 00162 {mp_POI2[a_axis] = (FLTNB)a_value;} 00169 void SetEventValue(int a_bin, FLTNBDATA a_value); 00175 inline FLTNB GetAdditiveCorrections(int a_bin) 00176 {return m_eventScatRate + m_eventRdmRate;} 00177 00178 00179 // ------------------------------------------------------------------- 00180 // Private member functions 00181 private: 00182 00183 00184 // ------------------------------------------------------------------- 00185 // Data members 00186 private: 00187 uint8_t m_kind; 00188 FLTNB m_eventScatRate; 00189 uint32_t m_TOFMeasurement; 00190 FLTNB mp_POI1[3]; 00191 FLTNB mp_POI2[3]; 00192 }; 00193 00194 #endif