]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliEventInfo.h
added a data member
[u/mrichter/AliRoot.git] / 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 LHCstate, run and   //
9 //   event types, trigger mask and trigger clusters.                        //
10 //   It is used in order to provide the detector's AliRecoParam objects with//
11 //   the necessary information so that they can decide which instance of    //
12 //   AliDetectorRecoParam to use in reconstruction one particular event.    //
13 //                                                                          //
14 //   cvetan.cheshkov@cern.ch 12/06/2008                                     //
15 //////////////////////////////////////////////////////////////////////////////
16
17 #include <TObject.h>
18 #include <TObjString.h>
19
20 class AliEventInfo : public TObject {
21
22  public:
23   AliEventInfo();
24   AliEventInfo(const char *lhcState,
25                const char *beamType,
26                const char *runType,
27                const char *activeDetectors);
28   virtual ~AliEventInfo() {}
29
30   void SetEventType(UInt_t evType) { fEventType = evType; }
31   void SetTriggerClasses(const char *classes) { fTriggerClasses.SetString(classes); }
32   void SetTriggerMask(ULong64_t mask) { fTriggerMask = mask; }
33   void SetTriggerCluster(const char *cluster) { fTriggerCluster.SetString(cluster); }
34   void SetHLTDecision(const char *decision) { fHLTDecision.SetString(decision); }
35
36   virtual void Print(Option_t */*option=""*/) const { Dump(); }
37
38   const char *GetLHCState() const { return fLHCState.GetString().Data(); }
39   const char *GetBeamType() const { return fBeamType.GetString().Data(); }
40   const char *GetRunType() const { return fRunType.GetString().Data(); }
41   const char *GetActiveDetectors() const { return fActiveDetectors.GetString().Data(); }
42   UInt_t      GetEventType() const { return fEventType; }
43   const char *GetTriggerClasses() const { return fTriggerClasses.GetString().Data(); }
44   ULong64_t   GetTriggerMask() const { return fTriggerMask; }
45   const char *GetTriggerCluster() const { return fTriggerCluster.GetString().Data(); }
46   const char *GetHLTDecision() const { return fHLTDecision.GetString().Data(); }
47
48   AliEventInfo(const AliEventInfo &evInfo);
49   AliEventInfo& operator= (const AliEventInfo& evInfo);
50
51   void Reset();
52  private:
53
54   TObjString  fLHCState;       // state of the machine as provided by DCS and DAQ log-book (per run)
55   TObjString  fBeamType;       // beam type for Alice
56   TObjString  fRunType;        // run type accoring to ECS (per run)
57   TObjString  fActiveDetectors;// list of active detectors (per run)
58   UInt_t      fEventType;      // event type as defined by DAQ (start_of_*,calibration,physics etc) (per event)
59   TObjString  fTriggerClasses; // list of fired trigger classes (per event)
60   ULong64_t   fTriggerMask;    // trigger mask as received from DAQ or CTP raw-data payload (per event)
61   TObjString  fTriggerCluster; // list of detectors that have been read out (per event)
62   TObjString  fHLTDecision;    // string describing the HLT decision (per event)
63
64   ClassDef(AliEventInfo,2)     // Event info class
65 };
66
67 #endif