![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00013 #ifndef IEVENTNORM_HH 00014 #define IEVENTNORM_HH 1 00015 00016 #include "vEvent.hh" 00017 00018 00019 00027 class iEventNorm : public vEvent 00028 { 00029 // ------------------------------------------------------------------- 00030 // Constructor & Destructor 00031 public: 00036 iEventNorm(); 00040 ~iEventNorm(); 00041 00042 00043 // ------------------------------------------------------------------- 00044 // Public member functions 00045 public: 00052 inline int AllocateSpecificData() {return 0;} 00057 void Describe(); 00058 00059 00060 // ------------------------------------------------------------------- 00061 // Public Get & Set functions 00062 public: 00068 inline void SetNormalizationFactor(FLTNBDATA a_value) 00069 {m_normalizationFactor = (FLTNB)a_value;} 00075 inline void SetAttenuationCorrectionFactor(FLTNBDATA a_value) 00076 {m_attenuationCorrectionFactor = (FLTNB)a_value;} 00081 inline FLTNB GetMultiplicativeCorrections() 00082 {return m_normalizationFactor * m_attenuationCorrectionFactor;} 00087 inline FLTNB GetNormalizationFactor() 00088 {return m_normalizationFactor;} 00093 inline FLTNB GetAttenuationCorrectionFactor() 00094 {return m_attenuationCorrectionFactor;} 00095 00096 00097 // ------------------------------------------------------------------- 00098 // Public functions that should not be used, so they throw an error and crash 00099 public: 00106 FLTNB GetEventValue(int a_bin); 00113 FLTNB GetAdditiveCorrections(int a_bin); 00120 void SetEventValue(int a_bin, FLTNBDATA a_value); 00121 00122 00123 // ------------------------------------------------------------------- 00124 // Private member functions 00125 private: 00126 00127 00128 // ------------------------------------------------------------------- 00129 // Data members 00130 protected: 00131 FLTNB m_normalizationFactor; 00132 FLTNB m_attenuationCorrectionFactor; 00133 }; 00134 00135 #endif