]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/AliHLTEventSummary.h
Fix for updating CTP counters.
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTEventSummary.h
CommitLineData
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
44class AliHLTEventSummary : public TObject {
45
46public:
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
115private:
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