00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkTimeProbe_h
00018 #define __itkTimeProbe_h
00019
00020 #include "itkConfigure.h"
00021
00022 #ifdef ITK_USE_REVIEW
00023 #include "../Review/itkTimeProbe.h"
00024 #else
00025 #include "itkRealTimeClock.h"
00026
00027
00028 namespace itk
00029 {
00030
00042 class ITKCommon_EXPORT TimeProbe
00043 {
00044
00045 public:
00046
00048 typedef unsigned long CountType;
00049
00052 typedef RealTimeClock::TimeStampType TimeStampType;
00053
00054 public:
00055
00057 TimeProbe();
00058
00060 ~TimeProbe();
00061
00063 void Start(void);
00064
00066 void Stop(void);
00067
00069 CountType GetNumberOfStarts(void) const;
00070
00072 CountType GetNumberOfStops(void) const;
00073
00077 TimeStampType GetMeanTime(void) const;
00078
00079 private:
00080
00081 TimeStampType m_Start;
00082 TimeStampType m_TotalTime;
00083
00084 CountType m_NumberOfStarts;
00085 CountType m_NumberOfStops;
00086
00087 RealTimeClock::Pointer m_RealTimeClock;
00088 };
00089
00090
00091 }
00092
00093 #endif // ITK_USE_REVIEW
00094
00095 #endif
00096