![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00002 /* 00003 Implementation of class iEventListPET 00004 00005 - separators: X 00006 - doxygen: X 00007 - default initialization: X 00008 - CASTOR_DEBUG: none 00009 - CASTOR_VERBOSE: none 00010 */ 00011 00012 00021 #include "iEventListPET.hh" 00022 #include "vDataFile.hh" // DATA_MODE/ DATA_TYPE macros 00023 #include "sOutputManager.hh" // Cout()/Cerr() 00024 00025 00026 // ===================================================================== 00027 // --------------------------------------------------------------------- 00028 // --------------------------------------------------------------------- 00029 // ===================================================================== 00030 /* 00031 Constructor() 00032 */ 00033 00034 iEventListPET::iEventListPET() : iEventPET() 00035 { 00036 m_dataType = TYPE_PET; 00037 m_dataMode = MODE_LIST; 00038 mp_POI1[0] = 0.; 00039 mp_POI1[1] = 0.; 00040 mp_POI1[2] = -1.; 00041 mp_POI2[0] = 0.; 00042 mp_POI2[1] = 0.; 00043 mp_POI2[2] = -1.; 00044 00045 m_kind = KIND_UNKNOWN; 00046 m_eventScatRate = 0.; 00047 m_TOFMeasurement = 0.; 00048 m_eventValue = 1.; 00049 m_nbLines = 1; 00050 } 00051 00052 00053 00054 // ===================================================================== 00055 // --------------------------------------------------------------------- 00056 // --------------------------------------------------------------------- 00057 // ===================================================================== 00058 /* 00059 Destructor() 00060 */ 00061 iEventListPET::~iEventListPET() {} 00062 00063 00064 00065 00066 // ===================================================================== 00067 // --------------------------------------------------------------------- 00068 // --------------------------------------------------------------------- 00069 // ===================================================================== 00070 /* 00071 \fn virtual void SetEventValue(int a_bin, FLTNBDATA a_value) 00072 \param a_bin (0 if only one line) 00073 \param a_value 00074 \brief Just throw a warning in case this function is called for iEventListPET. 00075 This should never be the case as event value is equal to 1 by default. 00076 */ 00077 void iEventListPET::SetEventValue(int a_bin, FLTNBDATA a_value) 00078 { 00079 Cout("WARNING : iEventListPET::SetEventValue()->Trying to set the value of a list mode event, which is equal to 1 by default."); 00080 } 00081 00082 00083 // ===================================================================== 00084 // --------------------------------------------------------------------- 00085 // --------------------------------------------------------------------- 00086 // ===================================================================== 00087 /* 00088 \fn virtual void Describe() 00089 \brief This function can be used to get a description of the event printed out 00090 */ 00091 void iEventListPET::Describe() 00092 { 00093 Cout("---------------------- iEventListPET::Describe() --------------------------" << endl); 00094 Cout("sizeof(FLTNB): " << sizeof(FLTNB) << endl); 00095 Cout("Time: " << m_timeInMs << " ms" << endl); 00096 Cout("Number of lines: " << m_nbLines << endl); 00097 for (uint16_t l=0; l<m_nbLines; l++) Cout(" --> ID1: " << mp_ID1[l] << " | ID2: " << mp_ID2[l] << endl); 00098 Cout("Random rate: " << m_eventRdmRate << endl); 00099 Cout("Normalization factor: " << m_eventNormFactor << endl); 00100 Cout("ACF: " << m_atnCorrFactor << endl); 00101 Cout("kind: " << m_kind << endl); 00102 Cout("Scat rate: " << m_eventScatRate << endl); 00103 Cout("Number of TOF measurement: " << m_TOFMeasurement << " ps" << endl); 00104 Cout("POI1 (x ; y ; z ) = " << mp_POI1[0] <<" ; " << mp_POI1[1] <<" ; " << mp_POI1[2] <<" ; " << endl); 00105 Cout("POI2 (x ; y ; z ) = " << mp_POI2[0] <<" ; " << mp_POI2[1] <<" ; " << mp_POI2[2] <<" ; " << endl); 00106 Cout("----------------------------------------------------------------------------" << endl); 00107 Cout(flush); 00108 }