3 #ifndef ALIHLTEVENTSUMMARY_H
4 #define ALIHLTEVENTSUMMARY_H
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 */
10 /** @file AliHLTEventSummary.h
11 @author Jochen Thaeder
13 @brief Summary class for run statistics, merges all detectors
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
23 #include "TObjArray.h"
25 #include "AliHLTDataTypes.h"
28 * @class AliHLTEventSummary
29 * @brief Summary class for event statistics, merges all detectors
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.
37 * This is the summary class.
39 * See base class @see AliHLTEventStatistics for further information.
41 * @ingroup alihlt_run_statistics alihlt_trigger
44 class AliHLTEventSummary : public TObject {
51 virtual ~AliHLTEventSummary();
53 // -- event reject ------------------------
55 /** Reject this event */
56 void RejectEvent() { fRejected = kFALSE;}
58 /** Check event is accepted
59 * @return kTRUE if accepted, kFALSE if rejected
61 Bool_t IsAccepted() const { return fRejected;}
63 // -- run parameters ------------------------
68 void SetRunNumber( AliHLTUInt32_t i ) { fRunNumber = i; }
73 AliHLTUInt32_t GetRunNumber() const { return fRunNumber;}
78 void SetRunType( AliHLTUInt32_t i ) { fRunType = i; }
83 AliHLTUInt32_t GetRunType() const { return fRunType; }
85 // -- trigger parameters ------------------------
87 /** Set ocurrance of trigger classe with index i
88 * @param u index of Trigger Class
89 * @return kTRUE on success
91 void SetTriggerClass( AliHLTUInt64_t u ) { fTriggerClass = u; }
93 /** Get ocurrance of trigger classes
94 * @return ptr to array of trigger classes
96 AliHLTUInt64_t GetTriggerClasses() const { return fTriggerClass; }
98 // -- detector parameters ------------------------
100 /** Detector run statistics classes
101 * @return ptr to Detector arry
103 const TObjArray* GetDetectorArray () const { return fDetectorArray; }
104 TObjArray* GetDetectorArray () { return fDetectorArray; }
106 /** Rest the Detector array, all elements are removed */
107 void ResetDetectorArray() { if ( fDetectorArray ) fDetectorArray->Clear(); }
109 /** Add another detector event statistics class to detector arry
110 * @param obj to TObject, which should be added
111 * @return kTRUE on success
113 Bool_t AddDetector( TObject *obj );
117 /** copy constructor prohibited */
118 AliHLTEventSummary (const AliHLTEventSummary&);
120 /** assignment operator prohibited */
121 AliHLTEventSummary& operator= (const AliHLTEventSummary&);
124 * - kFALSE is rejected
127 Bool_t fRejected; // see above
130 AliHLTUInt32_t fRunNumber; // see above
133 AliHLTUInt32_t fRunType; // see above
136 AliHLTUInt64_t fTriggerClass; // see above
138 /** Detector run statistics classes */
139 TObjArray* fDetectorArray; //! transient
141 ClassDef(AliHLTEventSummary, 1);