318942aaefcaa393aa571f13f97a44017e4a4067
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTRunStatistics.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTRUNSTATISTICS_H
4 #define ALIHLTRUNSTATISTICS_H
5
6 /* This file is property of and copyright by the ALICE HLT Project        * 
7  * ALICE Experiment at CERN, All rights reserved.                         *
8  * See cxx source for full Copyright notice                               */
9
10 /** @file   AliHLTRunStatistics.h
11     @author Jochen Thaeder
12     @date   
13     @brief  Base class for run statistics, for all detectors
14 */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
21
22 #include "TObject.h"
23 #include "TString.h"
24
25 #include "AliHLTDataTypes.h"
26
27 /**
28  * @class  AliHLTRunStatistics
29  * @brief  Base class for run statistics, for all detectors
30  *
31  * The run statistic classes hold information / histograms about certain 
32  * characteristica of the processed events. They are devided into 3 parts. 
33  * A base class  @see AliHLTRunStatistics for general Information, detector 
34  * specific classes like @see AliHLTTPCRunStatistics for the TPC and a summary 
35  * class @see AliHLTRunStatisticsSummary which can hold several detector classes.
36  *
37  * This is the base class.
38  *
39  * Currently implemented detecor classes<BR/>
40  * * @see AliHLTTPCRunStatistics<BR/>
41  *
42  * @ingroup alihlt_run_statistics alihlt_trigger
43  */
44
45 class AliHLTRunStatistics : public TObject {
46   
47 public:
48   
49   /** constructor */
50   AliHLTRunStatistics();
51   /** destructor */
52   virtual ~AliHLTRunStatistics();
53
54   /** Get detector name
55    *  @return name of detector
56    */
57   TString GetDetectorName()              { return fDetectorName; }
58
59   /** Set Total number of tracks 
60    *  @param s name of detector
61    */
62   void SetDetectorName( TString s )      { fDetectorName = s; }
63
64   // -- event parameters ------------------------
65
66   /** Set Number of events 
67    *  @param i number of events
68    */
69   void SetNEvents( ULong_t i )           { fNEvents = i; }
70
71   /** Add events */
72   void AddNEvents()                      { fNEvents++; }
73
74   /** Get number of events
75    *  @return number of events
76    */
77   ULong_t GetNEvents()                   { return fNEvents; }
78
79 private:
80
81   /** copy constructor prohibited */
82   AliHLTRunStatistics (const AliHLTRunStatistics&);
83
84   /** assignment operator prohibited */
85   AliHLTRunStatistics& operator= (const AliHLTRunStatistics&);
86
87   /** Detector Name */
88   TString fDetectorName;                         // see above
89
90   /** Number of events */
91   ULong_t fNEvents;                              // see above
92
93   ClassDef(AliHLTRunStatistics, 0);
94
95 };
96 #endif
97