CASToR  3.0
Tomographic Reconstruction (PET/SPECT/CT)
iEventNorm.cc
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 
31 #include "iEventNorm.hh"
32 #include "vDataFile.hh"
33 #include "sOutputManager.hh"
34 
35 // =====================================================================
36 // ---------------------------------------------------------------------
37 // ---------------------------------------------------------------------
38 // =====================================================================
39 
41 {
45 }
46 
47 // =====================================================================
48 // ---------------------------------------------------------------------
49 // ---------------------------------------------------------------------
50 // =====================================================================
51 
53 
54 // =====================================================================
55 // ---------------------------------------------------------------------
56 // ---------------------------------------------------------------------
57 // =====================================================================
58 
60 {
62  Cout("iEventNorm::Describe() -> Display contents" << endl);
63  Cout("Number of lines: " << m_nbLines << endl);
64  for (uint16_t l=0; l<m_nbLines; l++) Cout(" --> ID1: " << mp_ID1[l] << " | ID2: " << mp_ID2[l] << endl);
65  Cout("Attenuation correction factor: " << m_attenuationCorrectionFactor << endl);
66  Cout("Normalization factor: " << m_normalizationFactor << endl);
67  Cout(flush);
68 }
69 
70 // =====================================================================
71 // ---------------------------------------------------------------------
72 // ---------------------------------------------------------------------
73 // =====================================================================
74 
76 {
78  // This function is an implementation of inheritance, but has no sense in this context
79  Cerr("***** iEventNorm::GetEventValue() -> This function should not be used ! Alternatives are:" << endl);
80  Cerr(" GetNormalizationFactor() and GetAttenuationCorrectionFactor" << endl);
81  Exit(EXIT_FAILURE);
82  return -1.;
83 }
84 
85 // =====================================================================
86 // ---------------------------------------------------------------------
87 // ---------------------------------------------------------------------
88 // =====================================================================
89 
91 {
93  // This function is an implementation of inheritance, but has no sense in this context
94  Cerr("***** iEventNorm::GetAdditiveCorrections() -> This function should not be used ! Alternatives are:" << endl);
95  Cerr(" GetNormalizationFactor() and GetAttenuationCorrectionFactor" << endl);
96  Exit(EXIT_FAILURE);
97  return -1.;
98 }
99 
100 // =====================================================================
101 // ---------------------------------------------------------------------
102 // ---------------------------------------------------------------------
103 // =====================================================================
104 
105 void iEventNorm::SetEventValue(int a_bin, FLTNBDATA a_value)
106 {
108  // This function is an implementation of inheritance, but has no sense in this context
109  Cerr("***** iEventNorm::GetAdditiveCorrections() -> This function should not be used ! Alternatives are:" << endl);
110  Cerr(" GetNormalizationFactor() and GetAttenuationCorrectionFactor" << endl);
111  Exit(EXIT_FAILURE);
112 }
113 
114 // =====================================================================
115 // ---------------------------------------------------------------------
116 // ---------------------------------------------------------------------
117 // =====================================================================
118 
120 {
122  // This function is an implementation of inheritance, but has no sense in this context
123  Cerr("***** iEventNorm::GetNbValueBins() -> This function should not be used ! Alternatives are:" << endl);
124  Cerr(" GetNormalizationFactor() and GetAttenuationCorrectionFactor" << endl);
125  Exit(EXIT_FAILURE);
126  return -1;
127 }
128 
129 // =====================================================================
130 // ---------------------------------------------------------------------
131 // ---------------------------------------------------------------------
132 // =====================================================================
133 
135 {
137  // This function is an implementation of inheritance, but has no sense in this context
138  Cerr("***** iEventNorm::MultiplyAdditiveCorrections() -> This function should not be used !" << endl);
139  Exit(EXIT_FAILURE);
140 }
141 
142 // =====================================================================
143 // ---------------------------------------------------------------------
144 // ---------------------------------------------------------------------
145 // =====================================================================
INTNB GetNbValueBins()
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:119
#define FLTNB
Definition: gVariables.hh:81
#define MODE_NORMALIZATION
Definition: vDataFile.hh:60
int m_verbose
Definition: vEvent.hh:232
uint32_t * mp_ID2
Definition: vEvent.hh:227
FLTNB GetEventValue(int a_bin)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:75
iEventNorm()
iEventNorm constructor. Initialize the member variables to their default values.
Definition: iEventNorm.cc:40
void Describe()
This function can be used to get a description of the event printed out.
Definition: iEventNorm.cc:59
void Exit(int code)
void SetEventValue(int a_bin, FLTNBDATA a_value)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:105
FLTNB m_attenuationCorrectionFactor
Definition: iEventNorm.hh:154
#define FLTNBDATA
Definition: gVariables.hh:87
#define Cerr(MESSAGE)
#define VERBOSE_DEBUG_LIGHT
uint32_t * mp_ID1
Definition: vEvent.hh:226
FLTNB GetAdditiveCorrections(int a_bin)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:90
FLTNB m_normalizationFactor
Definition: iEventNorm.hh:153
Declaration of class vDataFile.
#define INTNB
Definition: gVariables.hh:92
int m_dataMode
Definition: vEvent.hh:230
Declaration of class sOutputManager.
Mother class for the Event objects.
Definition: vEvent.hh:42
void MultiplyAdditiveCorrections(FLTNB a_factor)
Not used, so throw an error and Exit.
Definition: iEventNorm.cc:134
#define DEBUG_VERBOSE(IGNORED1, IGNORED2)
Declaration of class iEventNorm.
~iEventNorm()
iEventNorm destructor
Definition: iEventNorm.cc:52
#define Cout(MESSAGE)
uint16_t m_nbLines
Definition: vEvent.hh:225