]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCBenchmark.h
Bogdan: new version of MUON visualization.
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCBenchmark.h
CommitLineData
a6c02c85 1// @(#) $Id$
4aa41877 2// Original: AliHLTBenchmark.h,v 1.6 2004/06/26 11:39:40 loizides
a6c02c85 3
2a083ac4 4#ifndef ALIHLTTPCBENCHMARK_H
5#define ALIHLTTPCBENCHMARK_H
a6c02c85 6
7//_____________________________________________________________
8//
9// AliHLTTPCBenchmark
10//
11// Benchmark class for level3 code
12//
13//
14
15#ifndef no_root
16class TStopwatch;
17class TString;
18#else
19class AliHLTTPCStopwatch;
20#endif
600e6a1b 21#include "AliHLTLogging.h"
a6c02c85 22
600e6a1b 23class AliHLTTPCBenchmark : public AliHLTLogging {
a6c02c85 24
25public:
600e6a1b 26 /** standard constructor */
27 AliHLTTPCBenchmark();
28 /** not a valid copy constructor, defined according to effective C++ style */
29 AliHLTTPCBenchmark(const AliHLTTPCBenchmark&);
30 /** not a valid assignment op, but defined according to effective C++ style */
31 AliHLTTPCBenchmark& operator=(const AliHLTTPCBenchmark&);
32 /** destructor */
33 virtual ~AliHLTTPCBenchmark();
34 Int_t GetBench(const Char_t *name);
35 void Start(const Char_t *name);
a6c02c85 36 void Stop(const char *name);
600e6a1b 37 void Analyze(const Char_t* name);
a6c02c85 38
39 static Double_t GetCpuTime();
40
41private:
42
43 Int_t fNbench; //Number of active benchmarks
44 Int_t fNmax; //Maximum number of benchmarks initialized
45#ifndef no_root
2a083ac4 46 TString *fNames; //! Names of benchmarks
47 TStopwatch *fTimer; //! Timers
a6c02c85 48#else
2a083ac4 49 Char_t **fNames; //! Names of benchmarks
50 AliHLTTPCStopwatch *fTimer; //! Timers
a6c02c85 51#endif
2a083ac4 52 Float_t *fSum; //! sum of time
53 Float_t *fMin; //! min of time
54 Float_t *fMax; //! max of time
55 Int_t *fCount;//! counter
a6c02c85 56
57 ClassDef(AliHLTTPCBenchmark,0) //HLTTPC benchmark
58};
59
2a083ac4 60#endif // ALIHLTTPCBENCHMARK_H