8 #ifndef SCHRONOMANAGER_HH 9 #define SCHRONOMANAGER_HH 1 15 typedef std::chrono::time_point<std::chrono::system_clock>
ChronoTime;
17 typedef std::chrono::milliseconds
Ms;
18 typedef std::chrono::seconds
Secs;
19 typedef std::chrono::minutes
Mins;
20 typedef std::chrono::hours
Hs;
165 inline void SetNbThreads(
int a_nbThreadsForProjection,
int a_nbThreadsForImageComputation)
void StopCustomStep(int a_thread, int a_step)
int m_nbThreadsForImageComputation
int CheckParameters()
Check validity of all parameters.
void StartIterativeDataUpdateStep4(int a_thread)
static sChronoManager * GetInstance()
std::chrono::time_point< std::chrono::system_clock > ChronoTime
ChronoTime ** mpp_startCustomSteps
sChronoManager()
The constructor of sChronoManager.
void StartIterativeDataUpdateStep3(int a_thread)
void StartIterativeDataUpdateStep2(int a_thread)
void StartIterativeDataUpdateStep1(int a_thread)
ChronoTime * mp_startIterativeDataUpdateStep2
std::chrono::seconds Secs
void SetNbCustomSteps(int a_nbCustomSteps)
DurationNano m_durationConvolution
void StopIterativeDataUpdateStep2(int a_thread)
static sChronoManager * mp_Instance
void StopIterativeDataUpdateStep1(int a_thread)
DurationNano * mp_durationIterativeDataUpdateStep1
DurationNano * mp_durationIterativeDataUpdateStep4
Declaration of class sOutputManager.
void SetNbThreads(int a_nbThreadsForProjection, int a_nbThreadsForImageComputation)
ChronoTime * mp_startIterativeDataUpdateStep1
ChronoTime * mp_startIterativeDataUpdateStep4
void StopIterativeDataUpdateStep3(int a_thread)
ChronoTime * mp_startIterativeDataUpdateStep3
void StopIterativeDataUpdateStep4(int a_thread)
std::chrono::duration< int64_t, std::nano > DurationNano
int m_nbThreadsForProjection
void StartCustomStep(int a_thread, int a_step)
DurationNano * mp_durationIterativeDataUpdateStep2
int Initialize()
Initialize all thread-safe buffers for profiling.
std::chrono::minutes Mins
std::chrono::duration< int64_t, std::nano > DurationNano
void SetVerbose(int a_verbose)
This header file is mainly used to declare some macro definitions and all includes needed from the st...
DurationNano * mp_durationIterativeDataUpdateStep3
std::chrono::milliseconds Ms
std::chrono::time_point< std::chrono::system_clock > ChronoTime
This class is designed to manage some profiling of the code.
sChronoManager(sChronoManager const &)
ChronoTime m_startConvolution
void operator=(sChronoManager const &)
void Display()
Display the results of the duration buffers.
DurationNano ** mpp_durationCustomSteps