3 #ifndef ALIHLTRUNSUMMARY_H
4 #define ALIHLTRUNSUMMARY_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 AliHLTRunSummary.h
11 @author Jochen Thaeder
13 @brief Summary class for a run, 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 AliHLTRunSummary
29 * @brief Summary class for a run, merges all detectors
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 AliHLTRunSummary which can hold several detector classes.
37 * This is the summary class.
39 * See base class @see AliHLTRunStatistics for further information.
41 * @ingroup alihlt_run_statistics alihlt_trigger
44 class AliHLTRunSummary : public TObject {
51 virtual ~AliHLTRunSummary();
53 // -- event parameters ------------------------
55 /** Set Number of events
56 * @param i number of events
58 void SetNEvents( ULong_t i ) { fNEvents = i; }
61 void AddNEvents() { fNEvents++; }
63 /** Get number of events
64 * @return number of events
66 ULong_t GetNEvents() { return fNEvents; }
68 /** Set number of rejected events
69 * @param i number of events rejected
71 void SetNEventsRejected( ULong_t i ) { fNEventsRejected = i; }
73 /** Add rejected events */
74 void AddNEventsRejected() { fNEventsRejected++; }
76 /** Get number of reejcted events
77 * @return number of events rejected
79 ULong_t GetNEventsRejected() { return fNEventsRejected; }
81 // -- run parameters ------------------------
86 void SetRunNumber( AliHLTUInt32_t i ) { fRunNumber = i; }
91 AliHLTUInt32_t GetRunNumber() { return fRunNumber;}
96 void SetRunType( AliHLTUInt32_t i ) { fRunType = i; }
101 AliHLTUInt32_t GetRunType() { return fRunType; }
103 // -- trigger parameters ------------------------
105 /** Set ocurrance of trigger classe with index ndx
106 * @param ndx index of Trigger Class
107 * @return kTRUE on success
109 Bool_t AddTriggerClass( Int_t ndx );
111 /** Get ocurrance of trigger classes
112 * @return ptr to array of trigger classes
114 ULong_t* GetTriggerClasses() { return fTriggerClasses; }
116 // -- detector parameters ------------------------
118 /** Detector run statistics classes
119 * @return ptr to Detector arry
121 TObjArray* GetDetectorArray () { return fDetectorArray; }
123 /** Rest the Detector array, all elements are removed */
124 void ResetDetectorArray() { if ( fDetectorArray ) fDetectorArray->Clear(); }
126 /** Add another detector run statistics class to detector arry
127 * @param obj to TObject, which should be added
128 * @return kTRUE on success
130 Bool_t AddDetector( TObject *obj );
134 /** copy constructor prohibited */
135 AliHLTRunSummary (const AliHLTRunSummary&);
137 /** assignment operator prohibited */
138 AliHLTRunSummary& operator= (const AliHLTRunSummary&);
140 /** Number of events */
141 ULong_t fNEvents; // see above
143 /** Number of rejected events */
144 ULong_t fNEventsRejected; // see above
147 AliHLTUInt32_t fRunNumber; // see above
150 AliHLTUInt32_t fRunType; // see above
152 /** Ocurrance of trigger classes */
153 ULong_t fTriggerClasses[gkNCTPTriggerClasses]; // see above
155 /** Detector run statistics classes */
156 TObjArray* fDetectorArray; //! transient
158 ClassDef(AliHLTRunSummary, 0);