]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/trigger/AliHLTEventSummary.h
bugfix: setting the monitoring event command in the EventDoneData only for the trigge...
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTEventSummary.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTEVENTSUMMARY_H
4 #define ALIHLTEVENTSUMMARY_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   AliHLTEventSummary.h
11     @author Jochen Thaeder
12     @date   
13     @brief  Summary class for run statistics, merges 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 "TObjArray.h"
24 #include "TString.h"
25 #include "AliHLTDataTypes.h"
26
27 /**
28  * @class  AliHLTEventSummary
29  * @brief  Summary  class for event statistics, merges all detectors
30  *
31  * The event statistic classes hold information about certain characteristica 
32  * of the processed events. They are devided into 3 parts. A base class 
33  * @see AliHLTEventStatistics for general Information, detector specific
34  * classes like @see AliHLTTPCEventStatistics for the TPC and a summary class
35  * @see AliHLTEventSummary which can hold several detector classes.
36  *
37  * This is the summary class.
38  *
39  * See base class @see AliHLTEventStatistics for further information.
40  *
41  * @ingroup alihlt_run_statistics alihlt_trigger
42  */
43
44 class AliHLTEventSummary : public TObject {
45   
46 public:
47   
48   /** constructor */
49   AliHLTEventSummary();
50   /** destructor */
51   virtual ~AliHLTEventSummary();
52
53   // -- event reject  ------------------------
54
55   /** Reject this event */
56   void RejectEvent()                              { fRejected = kFALSE;} 
57
58   /** Check event is accepted
59    *  @return kTRUE if accepted, kFALSE if rejected
60    */
61   Bool_t IsAccepted() const                       { return fRejected;} 
62
63   // -- run parameters ------------------------
64
65   /** Set Run Number 
66    *  @param i run number
67    */
68   void SetRunNumber( AliHLTUInt32_t i )           { fRunNumber = i; }
69
70   /** Get Run Number 
71    *  @return run number
72    */
73   AliHLTUInt32_t GetRunNumber() const             { return  fRunNumber;}
74
75   /** Set Run Type 
76    *  @param i run type
77    */
78   void SetRunType( AliHLTUInt32_t i )             { fRunType = i; }
79
80   /** Get Run Type s
81    *  @return run type
82    */
83   AliHLTUInt32_t GetRunType() const               { return fRunType; }
84
85   // -- trigger parameters ------------------------
86
87   /** Set ocurrance of trigger classe with index i
88    *  @param u index of Trigger Class   
89    *  @return kTRUE on success
90    */
91   void SetTriggerClass( AliHLTUInt64_t u )        { fTriggerClass = u; } 
92
93   /** Get ocurrance of trigger classes 
94    *  @return ptr to array of trigger classes
95    */
96   AliHLTUInt64_t GetTriggerClasses() const        { return fTriggerClass; }
97   
98   // -- detector parameters ------------------------
99
100   /** Detector run statistics classes 
101    *  @return ptr to Detector arry
102    */
103   const TObjArray* GetDetectorArray () const      { return fDetectorArray; }
104   TObjArray* GetDetectorArray ()                  { return fDetectorArray; }
105
106   /** Rest the Detector array, all elements are removed */
107   void ResetDetectorArray()                       { if ( fDetectorArray ) fDetectorArray->Clear(); }
108
109   /** Add another detector event statistics class to detector arry 
110    *  @param obj to TObject, which should be added
111    *  @return kTRUE on success
112    */
113   Bool_t AddDetector( TObject *obj );
114
115 private:
116
117   /** copy constructor prohibited */
118   AliHLTEventSummary (const AliHLTEventSummary&);
119
120   /** assignment operator prohibited */
121   AliHLTEventSummary& operator= (const AliHLTEventSummary&);
122
123   /** Event rejected 
124    *  - kFALSE is rejected
125    *  - kTRUE is default
126    */
127   Bool_t fRejected;                              // see above
128
129   /** Run Number */   
130   AliHLTUInt32_t fRunNumber;                     // see above
131
132   /** Run Type */
133   AliHLTUInt32_t fRunType;                       // see above
134
135   /** Trigger class */
136   AliHLTUInt64_t fTriggerClass;                  // see above
137
138   /** Detector run statistics classes */
139   TObjArray* fDetectorArray;                     //! transient
140
141   ClassDef(AliHLTEventSummary, 1);
142
143 };
144 #endif