CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00009 #ifndef IEVENTPET_HH 00010 #define IEVENTPET_HH 1 00011 00012 #include "vEvent.hh" 00013 00014 00015 00022 class iEventPET : public vEvent 00023 { 00024 // ------------------------------------------------------------------- 00025 // Constructor & Destructor 00026 public: 00031 iEventPET(); 00035 virtual ~iEventPET(); 00036 00037 00038 // ------------------------------------------------------------------- 00039 // Public member functions 00040 public: 00046 virtual int AllocateSpecificData() = 0; 00051 virtual void Describe(); 00052 00053 // ------------------------------------------------------------------- 00054 // Public Get & Set functions 00055 public: 00060 inline FLTNB GetEventRdmRate() 00061 {return m_eventRdmRate;} 00066 inline FLTNB GetNormFactor() 00067 {return m_eventNormFactor;} 00072 inline FLTNB GetAtnCorrFactor() 00073 {return m_atnCorrFactor;} 00079 inline void SetRandomRate(FLTNBDATA a_value) 00080 {m_eventRdmRate = (FLTNB)a_value;} 00086 inline void SetNormalizationFactor(FLTNBDATA a_value) 00087 {m_eventNormFactor = (FLTNB)a_value;} 00093 inline void SetAttenuationCorrectionFactor(FLTNBDATA a_value) 00094 {m_atnCorrFactor = (FLTNB)a_value;} 00099 inline FLTNB GetMultiplicativeCorrections() 00100 {return m_atnCorrFactor * m_eventNormFactor;} 00107 virtual FLTNB GetEventValue(int a_bin) = 0; 00114 virtual FLTNB GetAdditiveCorrections(int a_bin) = 0; 00121 virtual void SetEventValue(int a_bin, FLTNBDATA a_value) = 0; 00128 virtual void SetScatterRate(int a_bin, FLTNBDATA a_value) = 0; 00129 00130 00131 // ------------------------------------------------------------------- 00132 // Private member functions 00133 private: 00134 00135 00136 // ------------------------------------------------------------------- 00137 // Data members 00138 protected: 00139 FLTNB m_eventRdmRate; 00140 FLTNB m_eventNormFactor; 00141 FLTNB m_atnCorrFactor; 00142 }; 00143 00144 #endif