CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
iEventListPET.hh
Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Defines