]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCBenchmark.h
8101d53f453c05b89c427efa847e0718e7ac4fa1
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCBenchmark.h
1 // @(#) $Id$
2
3 #ifndef AliHLTTPCBenchmarkH
4 #define AliHLTTPCBenchmarkH
5
6 //_____________________________________________________________
7 //
8 // AliHLTTPCBenchmark
9 //
10 //   Benchmark class for level3 code
11 //  
12 //
13
14 #ifndef no_root
15 class TStopwatch;
16 class TString;
17 #else
18 class  AliHLTTPCStopwatch;
19 #endif
20
21 class AliHLTTPCBenchmark {
22
23 public:
24    AliHLTTPCBenchmark();
25    virtual ~AliHLTTPCBenchmark();
26    Int_t      GetBench(const char *name);
27    void       Start(const char *name);
28    void       Stop(const char *name);
29    void       Analyze(const char* name);
30    
31    static Double_t GetCpuTime();
32
33 private:
34
35    Int_t      fNbench;          //Number of active benchmarks
36    Int_t      fNmax;            //Maximum number of benchmarks initialized
37 #ifndef no_root
38    TString    *fNames;          //Names of benchmarks
39    TStopwatch *fTimer;          //Timers
40 #else
41    Char_t **fNames;             //Names of benchmarks
42    AliHLTTPCStopwatch *fTimer;      //Timers
43 #endif
44    Float_t    *fSum;  //sum of time
45    Float_t    *fMin;  //min of time
46    Float_t    *fMax;  //max of time
47    Int_t      *fCount;// counter
48
49    ClassDef(AliHLTTPCBenchmark,0)  //HLTTPC benchmark
50 };
51
52 #endif