![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00009 #ifndef VEVENT_HH 00010 #define VEVENT_HH 1 00011 00012 #include "gVariables.hh" 00013 00014 00015 00023 class vEvent 00024 { 00025 // ------------------------------------------------------------------- 00026 // Constructor & Destructor 00027 public: 00032 vEvent(); 00036 virtual ~vEvent(); 00037 00038 // ------------------------------------------------------------------- 00039 // Public member functions 00040 public: 00048 int AllocateID(); 00054 virtual int AllocateSpecificData() = 0; 00059 virtual void Describe() = 0; 00060 00061 // ------------------------------------------------------------------- 00062 // Public Get & Set functions 00063 public: 00068 inline uint32_t GetTimeInMs() 00069 {return m_timeInMs;} 00074 inline uint16_t GetNbLines() 00075 {return m_nbLines;}; 00081 inline uint32_t GetID1(int a_line) 00082 {return mp_ID1[a_line];} 00088 inline uint32_t GetID2(int a_line) 00089 {return mp_ID2[a_line];} 00094 inline uint32_t* GetEventID1() 00095 {return mp_ID1;} 00100 inline uint32_t* GetEventID2() 00101 {return mp_ID2;} 00106 inline int GetDataType() 00107 {return m_dataType;} 00112 inline int GetDataMode() 00113 {return m_dataMode;} 00119 inline void SetTimeInMs(uint32_t a_value) 00120 {m_timeInMs = a_value;}; 00128 virtual void SetEventValue(int a_bin, FLTNBDATA a_value) = 0; 00134 inline void SetNbLines(uint16_t a_value) 00135 {m_nbLines = a_value;}; 00142 inline void SetID1(int a_line, uint32_t a_value) 00143 {mp_ID1[a_line] = a_value;} 00150 inline void SetID2(int a_line, uint32_t a_value) 00151 {mp_ID2[a_line] = a_value;} 00157 inline void SetVerbose(int a_verbose) 00158 {m_verbose = a_verbose;} 00165 virtual FLTNB GetEventValue(int a_bin) = 0; 00171 virtual FLTNB GetAdditiveCorrections(int a_bin) = 0; 00177 virtual FLTNB GetMultiplicativeCorrections() = 0; 00178 00179 00180 // ------------------------------------------------------------------- 00181 // Private member functions 00182 private: 00183 00184 00185 00186 // ------------------------------------------------------------------- 00187 // Data members 00188 protected: 00189 uint32_t m_timeInMs; 00190 uint16_t m_nbLines; 00191 uint32_t* mp_ID1; 00192 uint32_t* mp_ID2; 00193 FLTNB m_eventValue; 00194 int m_dataType; 00195 int m_dataMode; 00196 int m_verbose; 00197 }; 00198 00199 #endif