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
00021 #include "itkRealTimeClock.h"
00022
00023
00024 namespace itk
00025 {
00026
00038 class ITKCommon_EXPORT TimeProbe
00039 {
00040
00041 public:
00042
00044 typedef unsigned long CountType;
00045
00048 typedef RealTimeClock::TimeStampType TimeStampType;
00049
00050 public:
00051
00053 TimeProbe();
00054
00056 ~TimeProbe();
00057
00059 void Start(void);
00060
00062 void Stop(void);
00063
00065 CountType GetNumberOfStarts(void) const;
00066
00068 CountType GetNumberOfStops(void) const;
00069
00073 TimeStampType GetMeanTime(void) const;
00074
00075 private:
00076
00077 TimeStampType m_Start;
00078 TimeStampType m_TotalTime;
00079
00080 CountType m_NumberOfStarts;
00081 CountType m_NumberOfStops;
00082
00083 RealTimeClock::Pointer m_RealTimeClock;
00084 };
00085
00086
00087 }
00088
00089 #endif
00090