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() const { 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() const { return fNEventsRejected; }
81 // -- run parameters ------------------------
86 void SetRunNumber( AliHLTUInt32_t i ) { fRunNumber = i; }
91 AliHLTUInt32_t GetRunNumber() const { return fRunNumber;}
96 void SetRunType( AliHLTUInt32_t i ) { fRunType = i; }
101 AliHLTUInt32_t GetRunType() const { 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 const ULong_t* GetTriggerClasses() const { return fTriggerClasses; }
115 ULong_t* GetTriggerClasses() { return fTriggerClasses; }
117 // -- detector parameters ------------------------
119 /** Detector run statistics classes
120 * @return ptr to Detector arry
122 TObjArray* GetDetectorArray () { return fDetectorArray; }
124 /** Rest the Detector array, all elements are removed */
125 void ResetDetectorArray() { if ( fDetectorArray ) fDetectorArray->Clear(); }
127 /** Add another detector run statistics class to detector arry
128 * @param obj to TObject, which should be added
129 * @return kTRUE on success
131 Bool_t AddDetector( TObject *obj );
135 /** copy constructor prohibited */
136 AliHLTRunSummary (const AliHLTRunSummary&);
138 /** assignment operator prohibited */
139 AliHLTRunSummary& operator= (const AliHLTRunSummary&);
141 /** Number of events */
142 ULong_t fNEvents; // see above
144 /** Number of rejected events */
145 ULong_t fNEventsRejected; // see above
148 AliHLTUInt32_t fRunNumber; // see above
151 AliHLTUInt32_t fRunType; // see above
153 /** Ocurrance of trigger classes */
154 ULong_t fTriggerClasses[gkNCTPTriggerClasses]; // see above
156 /** Detector run statistics classes */
157 TObjArray* fDetectorArray; //! transient
159 ClassDef(AliHLTRunSummary, 0);