CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
iEventPET.hh
Go to the documentation of this file.
1 /*
2 This file is part of CASToR.
3 
4  CASToR is free software: you can redistribute it and/or modify it under the
5  terms of the GNU General Public License as published by the Free Software
6  Foundation, either version 3 of the License, or (at your option) any later
7  version.
8 
9  CASToR is distributed in the hope that it will be useful, but WITHOUT ANY
10  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12  details.
13 
14  You should have received a copy of the GNU General Public License along with
15  CASToR (in file GNU_GPL.TXT). If not, see <http://www.gnu.org/licenses/>.
16 
17 Copyright 2017-2018 all CASToR contributors listed below:
18 
19  --> current contributors: Thibaut MERLIN, Simon STUTE, Didier BENOIT, Claude COMTAT, Marina FILIPOVIC, Mael MILLARDET
20  --> past contributors: Valentin VIELZEUF
21 
22 This is CASToR version 2.0.
23 */
24 
31 #ifndef IEVENTPET_HH
32 #define IEVENTPET_HH 1
33 
34 #include "vEvent.hh"
35 
42 class iEventPET : public vEvent
43 {
44  // -------------------------------------------------------------------
45  // Constructor & Destructor
46  public:
51  iEventPET();
55  virtual ~iEventPET();
56 
57  // -------------------------------------------------------------------
58  // Public member functions
59  public:
65  virtual int AllocateSpecificData() = 0;
70  virtual void Describe();
71 
72  // -------------------------------------------------------------------
73  // Public Get & Set functions
74  public:
80  {return m_eventRdmRate;}
86  {return m_eventNormFactor;}
92  {return m_atnCorrFactor;}
98  inline void SetRandomRate(FLTNBDATA a_value)
99  {m_eventRdmRate = (FLTNB)a_value;}
105  inline void SetNormalizationFactor(FLTNBDATA a_value)
106  {m_eventNormFactor = (FLTNB)a_value;}
113  {m_atnCorrFactor = (FLTNB)a_value;}
126  virtual FLTNB GetEventValue(int a_bin) = 0;
133  virtual FLTNB GetAdditiveCorrections(int a_bin) = 0;
140  virtual void SetEventValue(int a_bin, FLTNBDATA a_value) = 0;
147  virtual void SetScatterRate(int a_bin, FLTNBDATA a_value) = 0;
153  virtual INTNB GetNbValueBins() = 0;
154 
155  // -------------------------------------------------------------------
156  // Private member functions
157  private:
158 
159  // -------------------------------------------------------------------
160  // Data members
161  protected:
165 };
166 
167 #endif
virtual FLTNB GetEventValue(int a_bin)=0
Pure virtual function implemented in the child classes.
iEventPET()
iEventPET constructor. Initialize the member variables to their default values.
Definition: iEventPET.cc:41
#define FLTNB
Definition: gVariables.hh:81
FLTNB m_eventRdmRate
Definition: iEventPET.hh:162
void SetNormalizationFactor(FLTNBDATA a_value)
Cast the FLTNBDATA value passed as parameter in FLTNB, and set it to the normalization term...
Definition: iEventPET.hh:105
FLTNB m_eventNormFactor
Definition: iEventPET.hh:163
#define FLTNBDATA
Definition: gVariables.hh:87
virtual int AllocateSpecificData()=0
Pure virtual function implemented in the child classes, dedicated to the allocation of specific data ...
void SetAttenuationCorrectionFactor(FLTNBDATA a_value)
Cast the FLTNBDATA value passed as parameter in FLTNB, and set it to the attenuation correction term...
Definition: iEventPET.hh:112
FLTNB m_atnCorrFactor
Definition: iEventPET.hh:164
Declaration of class vEvent.
FLTNB GetNormFactor()
Definition: iEventPET.hh:85
FLTNB GetMultiplicativeCorrections()
Definition: iEventPET.hh:118
virtual FLTNB GetAdditiveCorrections(int a_bin)=0
Pure virtual function implemented in the child classes.
virtual void SetEventValue(int a_bin, FLTNBDATA a_value)=0
Set the event value, this is a pure virtual function implemented in the child classes.
Inherit from vEvent. Main PET class for the Event objects.
Definition: iEventPET.hh:42
#define INTNB
Definition: gVariables.hh:92
Mother class for the Event objects.
Definition: vEvent.hh:43
virtual ~iEventPET()
iEventPET destructor
Definition: iEventPET.cc:56
FLTNB GetAtnCorrFactor()
Definition: iEventPET.hh:91
void SetRandomRate(FLTNBDATA a_value)
Cast the FLTNBDATA value passed as parameter in FLTNB, and set it to the random correction term...
Definition: iEventPET.hh:98
virtual void Describe()
This function can be used to get a description of the event printed out.
Definition: iEventPET.cc:63
FLTNB GetEventRdmRate()
Definition: iEventPET.hh:79
virtual void SetScatterRate(int a_bin, FLTNBDATA a_value)=0
Set the scatter rate correction term in 1/s, this is a pure virtual function implemented in the child...
virtual INTNB GetNbValueBins()=0
Get the number of event value bins.