CASToR  3.0
Tomographic Reconstruction (PET/SPECT/CT)
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-2019 all CASToR contributors listed below:
18 
19  --> Didier BENOIT, Claude COMTAT, Marina FILIPOVIC, Thibaut MERLIN, Mael MILLARDET, Simon STUTE, Valentin VIELZEUF
20 
21 This is CASToR version 3.0.
22 */
23 
30 #ifndef IEVENTPET_HH
31 #define IEVENTPET_HH 1
32 
33 #include "vEvent.hh"
34 
41 class iEventPET : public vEvent
42 {
43  // -------------------------------------------------------------------
44  // Constructor & Destructor
45  public:
50  iEventPET();
54  virtual ~iEventPET();
55 
56  // -------------------------------------------------------------------
57  // Public member functions
58  public:
64  virtual int AllocateSpecificData() = 0;
69  virtual void Describe();
70 
71  // -------------------------------------------------------------------
72  // Public Get & Set functions
73  public:
79  {return m_eventRdmRate;}
85  {return m_eventNormFactor;}
91  {return m_atnCorrFactor;}
97  inline void SetRandomRate(FLTNBDATA a_value)
98  {m_eventRdmRate = (FLTNB)a_value;}
104  inline void SetNormalizationFactor(FLTNBDATA a_value)
105  {m_eventNormFactor = (FLTNB)a_value;}
112  {m_atnCorrFactor = (FLTNB)a_value;}
125  virtual FLTNB GetEventValue(int a_bin) = 0;
132  virtual FLTNB GetAdditiveCorrections(int a_bin) = 0;
139  virtual void SetEventValue(int a_bin, FLTNBDATA a_value) = 0;
146  virtual void SetScatterRate(int a_bin, FLTNBDATA a_value) = 0;
152  virtual INTNB GetNbValueBins() = 0;
153 
154  // -------------------------------------------------------------------
155  // Private member functions
156  private:
157 
158  // -------------------------------------------------------------------
159  // Data members
160  protected:
164 };
165 
166 #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:40
#define FLTNB
Definition: gVariables.hh:81
FLTNB m_eventRdmRate
Definition: iEventPET.hh:161
void SetNormalizationFactor(FLTNBDATA a_value)
Cast the FLTNBDATA value passed as parameter in FLTNB, and set it to the normalization term...
Definition: iEventPET.hh:104
FLTNB m_eventNormFactor
Definition: iEventPET.hh:162
#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:111
FLTNB m_atnCorrFactor
Definition: iEventPET.hh:163
Declaration of class vEvent.
FLTNB GetNormFactor()
Definition: iEventPET.hh:84
FLTNB GetMultiplicativeCorrections()
Definition: iEventPET.hh:117
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:41
#define INTNB
Definition: gVariables.hh:92
Mother class for the Event objects.
Definition: vEvent.hh:42
virtual ~iEventPET()
iEventPET destructor
Definition: iEventPET.cc:55
FLTNB GetAtnCorrFactor()
Definition: iEventPET.hh:90
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:97
virtual void Describe()
This function can be used to get a description of the event printed out.
Definition: iEventPET.cc:62
FLTNB GetEventRdmRate()
Definition: iEventPET.hh:78
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.