Logo ROOT  
Reference Guide
TStopwatch.h
Go to the documentation of this file.
1// @(#)root/base:$Id$
2// Author: Fons Rademakers 11/10/95
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TStopwatch
13#define ROOT_TStopwatch
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TStopwatch //
19// //
20// Stopwatch class. This class returns the real and cpu time between //
21// the start and stop events. //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25#include "TObject.h"
26
27
28class TStopwatch : public TObject {
29
30private:
32
33 Double_t fStartRealTime; //wall clock start time
34 Double_t fStopRealTime; //wall clock stop time
35 Double_t fStartCpuTime; //cpu start time
36 Double_t fStopCpuTime; //cpu stop time
37 Double_t fTotalCpuTime; //total cpu time
38 Double_t fTotalRealTime; //total real time
39 EState fState; //stopwatch state
40 Int_t fCounter; //number of times the stopwatch was started
41
42 static Double_t GetRealTime();
43 static Double_t GetCPUTime();
44
45public:
46 TStopwatch();
47 void Start(Bool_t reset = kTRUE);
48 void Stop();
49 void Continue();
50 Int_t Counter() const { return fCounter; }
53 void ResetCpuTime(Double_t time = 0) { Stop(); fTotalCpuTime = time; }
54 void ResetRealTime(Double_t time = 0) { Stop(); fTotalRealTime = time; }
56 void Print(Option_t *option="") const;
57
58 ClassDef(TStopwatch,1) //A stopwatch which times real and cpu time
59};
60
61#endif
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:326
Mother of all ROOT objects.
Definition: TObject.h:37
Stopwatch class.
Definition: TStopwatch.h:28
EState fState
Definition: TStopwatch.h:39
Double_t RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
Definition: TStopwatch.cxx:110
void ResetRealTime(Double_t time=0)
Definition: TStopwatch.h:54
void Start(Bool_t reset=kTRUE)
Start the stopwatch.
Definition: TStopwatch.cxx:58
Double_t fTotalRealTime
Definition: TStopwatch.h:38
Int_t Counter() const
Definition: TStopwatch.h:50
static Double_t GetRealTime()
Private static method returning system realtime.
Definition: TStopwatch.cxx:139
Double_t fStartRealTime
Definition: TStopwatch.h:33
Double_t fStopRealTime
Definition: TStopwatch.h:34
Double_t fStartCpuTime
Definition: TStopwatch.h:35
Double_t CpuTime()
Stop the stopwatch (if it is running) and return the cputime (in seconds) passed between the start an...
Definition: TStopwatch.cxx:125
Int_t fCounter
Definition: TStopwatch.h:40
void Continue()
Resume a stopped stopwatch.
Definition: TStopwatch.cxx:93
void Stop()
Stop the stopwatch.
Definition: TStopwatch.cxx:77
void Reset()
Definition: TStopwatch.h:52
void Print(Option_t *option="") const
Print the real and cpu time passed between the start and stop events.
Definition: TStopwatch.cxx:219
Double_t fTotalCpuTime
Definition: TStopwatch.h:37
TStopwatch()
Create a stopwatch and start it.
Definition: TStopwatch.cxx:39
static Double_t GetCPUTime()
Private static method returning system CPU time.
Definition: TStopwatch.cxx:158
Double_t fStopCpuTime
Definition: TStopwatch.h:36
void ResetCpuTime(Double_t time=0)
Definition: TStopwatch.h:53