]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliHLTBenchmark.h
Bogdan: new version of MUON visualization.
[u/mrichter/AliRoot.git] / HLT / src / AliHLTBenchmark.h
1 // @(#) $Id$
2
3 #ifndef AliHLTBenchmarkH
4 #define AliHLTBenchmarkH
5
6 //_____________________________________________________________
7 //
8 // AliHLTBenchmark
9 //
10 //   Benchmark class for level3 code
11 //  
12 //
13
14 #ifndef no_root
15 class TStopwatch;
16 class TString;
17 #else
18 class  AliHLTStopwatch;
19 #endif
20
21 class AliHLTBenchmark {
22
23 public:
24    AliHLTBenchmark();
25    virtual ~AliHLTBenchmark();
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    AliHLTStopwatch *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(AliHLTBenchmark,0)  //L3 benchmark
50 };
51
52 typedef AliHLTBenchmark AliL3Benchmark; // for backward compatibility
53
54 #endif