CASToR  1.1
Tomographic Reconstruction (PET/SPECT)
 All Classes Files Functions Variables Typedefs Macros Groups Pages
iEventListPET.hh
Go to the documentation of this file.
1 
8 #ifndef IEVENTLISTPET_HH
9 #define IEVENTLISTPET_HH 1
10 
11 #include "iEventPET.hh"
12 
22 #define KIND_UNKNOWN 0
23 
24 #define KIND_TRUE 1
25 
26 #define KIND_SCAT 2
27 
28 #define KIND_MSCAT 3
29 
30 #define KIND_RDM 4
31 
40 class iEventListPET : public iEventPET
41 {
42  // -------------------------------------------------------------------
43  // Constructor & Destructor
44  public:
49  iEventListPET();
54 
55 
56  // -------------------------------------------------------------------
57  // Public member functions
58  public:
64  inline int AllocateSpecificData() {return 0;}
69  void Describe();
70 
71 
72  // -------------------------------------------------------------------
73  // Public Get & Set functions
74  public:
79  inline uint8_t GetKind()
80  {return m_kind;}
86  inline FLTNB GetEventScatRate(int a_bin)
87  {return m_eventScatRate;}
93  {return m_TOFMeasurement;}
98  inline FLTNB* GetPOI1()
99  {return mp_POI1;}
104  inline FLTNB* GetPOI2()
105  {return mp_POI2;}
111  inline FLTNB GetPOI1(uint8_t axis)
112  {return mp_POI1[axis];}
118  inline FLTNB GetPOI2(uint8_t axis)
119  {return mp_POI2[axis];}
125  inline FLTNB GetEventValue(int a_bin)
126  {return 1.;}
132  inline void SetKind(uint8_t a_value)
133  {m_kind = a_value;}
141  inline void SetScatterRate(int a_bin, FLTNBDATA a_value)
142  {m_eventScatRate = (FLTNB)a_value;}
148  inline void SetTOFMeasurement(FLTNB a_value)
149  {m_TOFMeasurement = a_value;}
156  inline void SetPOI1(int a_axis, FLTNBDATA a_value)
157  {mp_POI1[a_axis] = (FLTNB)a_value;}
164  inline void SetPOI2(int a_axis, FLTNBDATA a_value)
165  {mp_POI2[a_axis] = (FLTNB)a_value;}
172  void SetEventValue(int a_bin, FLTNBDATA a_value);
178  inline FLTNB GetAdditiveCorrections(int a_bin)
179  {return m_eventScatRate + m_eventRdmRate;}
180 
181 
182  // -------------------------------------------------------------------
183  // Private member functions
184  private:
185 
186 
187  // -------------------------------------------------------------------
188  // Data members
189  private:
190  uint8_t m_kind;
195 };
196 
197 #endif
FLTNB GetPOI1(uint8_t axis)
void SetEventValue(int a_bin, FLTNBDATA a_value)
Throw a warning (depending of verbosity) as the event value of a list-mode Event should be equal to 1...
void SetScatterRate(int a_bin, FLTNBDATA a_value)
Cast the FLTNBDATA value passed as parameter in FLTNB, and set it to the scatter correction rate in 1...
#define FLTNB
Definition: gVariables.hh:55
iEventListPET()
iEventListPET constructor. Initialize the member variables to their default values.
void SetPOI2(int a_axis, FLTNBDATA a_value)
Initialize the POI of the crystal #2 with a value for the specific axis.
FLTNB m_eventRdmRate
Definition: iEventPET.hh:139
~iEventListPET()
iEventListPET destructor.
void SetKind(uint8_t a_value)
Set the kind of coincidence.
void SetPOI1(int a_axis, FLTNBDATA a_value)
Initialize the POI of the crystal #1 with a value for the specific axis.
void SetTOFMeasurement(FLTNB a_value)
Initialize the TOFmeasurement with a value passed in parameters.
FLTNB GetEventValue(int a_bin)
FLTNB mp_POI1[3]
#define FLTNBDATA
Definition: gVariables.hh:59
FLTNB GetTOFMeasurement()
Inherit from iEventPET. Class for PET list-mode events.
FLTNB GetPOI2(uint8_t axis)
uint8_t GetKind()
void Describe()
This function can be used to get a description of the event printed out.
FLTNB GetAdditiveCorrections(int a_bin)
FLTNB * GetPOI2()
Inherit from vEvent. Main PET class for the Event objects.
Definition: iEventPET.hh:22
Declaration of class iEventPET.
FLTNB * GetPOI1()
FLTNB m_TOFMeasurement
FLTNB mp_POI2[3]
int AllocateSpecificData()
Function allowing the allocation of specific data. Return 0 by default for iEventListPET.
FLTNB GetEventScatRate(int a_bin)