CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
iEventNorm.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 IEVENTNORM_HH
32 #define IEVENTNORM_HH 1
33 
34 #include "vEvent.hh"
35 
43 class iEventNorm : public vEvent
44 {
45  // -------------------------------------------------------------------
46  // Constructor & Destructor
47  public:
52  iEventNorm();
56  ~iEventNorm();
57 
58  // -------------------------------------------------------------------
59  // Public member functions
60  public:
67  inline int AllocateSpecificData() {return 0;}
72  void Describe();
73 
74  // -------------------------------------------------------------------
75  // Public Get & Set functions
76  public:
82  inline void SetNormalizationFactor(FLTNBDATA a_value)
83  {m_normalizationFactor = (FLTNB)a_value;}
102  {return m_normalizationFactor;}
109 
110  // -------------------------------------------------------------------
111  // Public functions that should not be used, so they throw an error and crash
112  public:
119  FLTNB GetEventValue(int a_bin);
126  FLTNB GetAdditiveCorrections(int a_bin);
133  void SetEventValue(int a_bin, FLTNBDATA a_value);
145  void MultiplyAdditiveCorrections(FLTNB a_factor);
146 
147  // -------------------------------------------------------------------
148  // Private member functions
149  private:
150 
151  // -------------------------------------------------------------------
152  // Data members
153  protected:
156 };
157 
158 #endif
INTNB GetNbValueBins()
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:120
FLTNB GetMultiplicativeCorrections()
Definition: iEventNorm.hh:95
#define FLTNB
Definition: gVariables.hh:81
FLTNB GetAttenuationCorrectionFactor()
Definition: iEventNorm.hh:107
FLTNB GetEventValue(int a_bin)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:76
iEventNorm()
iEventNorm constructor. Initialize the member variables to their default values.
Definition: iEventNorm.cc:41
void Describe()
This function can be used to get a description of the event printed out.
Definition: iEventNorm.cc:60
void SetEventValue(int a_bin, FLTNBDATA a_value)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:106
FLTNB m_attenuationCorrectionFactor
Definition: iEventNorm.hh:155
#define FLTNBDATA
Definition: gVariables.hh:87
void SetAttenuationCorrectionFactor(FLTNBDATA a_value)
Cast the FLTNBDATA value passed as parameter in FLTNB, and set it to the attenuation correction facto...
Definition: iEventNorm.hh:89
FLTNB GetAdditiveCorrections(int a_bin)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:91
FLTNB m_normalizationFactor
Definition: iEventNorm.hh:154
void SetNormalizationFactor(FLTNBDATA a_value)
Cast the FLTNBDATA value passed as parameter in FLTNB, and set it to the normalization term...
Definition: iEventNorm.hh:82
Declaration of class vEvent.
Inherit from vEvent. Used for normalization events for sensitivity computation.
Definition: iEventNorm.hh:43
#define INTNB
Definition: gVariables.hh:92
Mother class for the Event objects.
Definition: vEvent.hh:43
void MultiplyAdditiveCorrections(FLTNB a_factor)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:135
~iEventNorm()
iEventNorm destructor
Definition: iEventNorm.cc:53
int AllocateSpecificData()
Inherited and pure virtual from vEvent.
Definition: iEventNorm.hh:67
FLTNB GetNormalizationFactor()
Definition: iEventNorm.hh:101