]>
Commit | Line | Data |
---|---|---|
2ff24e4c | 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 | */ | |
52f67e50 | 61 | Bool_t IsAccepted() const { return fRejected;} |
2ff24e4c | 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 | */ | |
52f67e50 | 73 | AliHLTUInt32_t GetRunNumber() const { return fRunNumber;} |
2ff24e4c | 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 | */ | |
52f67e50 | 83 | AliHLTUInt32_t GetRunType() const { return fRunType; } |
2ff24e4c | 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 | */ | |
52f67e50 | 96 | AliHLTUInt64_t GetTriggerClasses() const { return fTriggerClass; } |
2ff24e4c | 97 | |
98 | // -- detector parameters ------------------------ | |
99 | ||
100 | /** Detector run statistics classes | |
101 | * @return ptr to Detector arry | |
102 | */ | |
52f67e50 | 103 | const TObjArray* GetDetectorArray () const { return fDetectorArray; } |
2ff24e4c | 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 | ||
325e5e42 | 141 | ClassDef(AliHLTEventSummary, 1); |
2ff24e4c | 142 | |
143 | }; | |
144 | #endif |