Changes to compile with Root6 on macosx64
[u/mrichter/AliRoot.git] / STEER / STEER / AliEventInfo.h
1 #ifndef ALIEVENTINFO_H
2 #define ALIEVENTINFO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //////////////////////////////////////////////////////////////////////////////
7 //                          Class AliEventInfo                              //
8 //   Container class for all the information related to                     //
9 //   event type, trigger mask and trigger clusters.                         //
10 //   It is used together with AliRunInfo in order to provide the detector's //
11 //   AliRecoParam object with                                               //
12 //   the necessary information so that it can decide which instance of      //
13 //   AliDetectorRecoParam objects to use in reconstruction one particular   //
14 //   event.                                                                 //
15 //                                                                          //
16 //   cvetan.cheshkov@cern.ch 12/06/2008                                     //
17 //////////////////////////////////////////////////////////////////////////////
18
19 #include <TObject.h>
20 #include <TObjString.h>
21
22 class AliEventInfo : public TObject {
23
24  public:
25   AliEventInfo();
26   AliEventInfo(UInt_t evType,
27                const char *classes,
28                ULong64_t mask,
29                const char *cluster,
30                const char *decision);
31   virtual ~AliEventInfo() {}
32
33   void SetEventType(UInt_t evType) { fEventType = evType; }
34   void SetTriggerClasses(const char *classes) { fTriggerClasses = classes; }
35   void SetTriggerMask(ULong64_t mask) { fTriggerMask = mask; }
36   void SetTriggerCluster(const char *cluster) { fTriggerCluster = cluster; }
37   void SetHLTDecision(const char *decision) { fHLTDecision = decision; }
38
39   virtual void Print(Option_t */*option=""*/) const { Dump(); }
40
41   UInt_t      GetEventType() const { return fEventType; }
42   const char *GetTriggerClasses() const { return fTriggerClasses.Data(); }
43   ULong64_t   GetTriggerMask() const { return fTriggerMask; }
44   const char *GetTriggerCluster() const { return fTriggerCluster.Data(); }
45   const char *GetHLTDecision() const { return fHLTDecision.Data(); }
46
47   AliEventInfo(const AliEventInfo &evInfo);
48   AliEventInfo& operator= (const AliEventInfo& evInfo);
49
50   void Reset();
51
52  private:
53
54   UInt_t      fEventType;      // event type as defined by DAQ (start_of_*,calibration,physics etc) (per event)
55   TString     fTriggerClasses; // list of fired trigger classes (per event)
56   ULong64_t   fTriggerMask;    // trigger mask as received from DAQ or CTP raw-data payload (per event)
57   TString     fTriggerCluster; // list of detectors that have been read out (per event)
58   TString     fHLTDecision;    // string describing the HLT decision (per event)
59
60   ClassDef(AliEventInfo,3)     // Event info class
61 };
62
63 #endif