]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliEventInfo.h
correcting TRD check according to rev 26617
[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 *runType,
26                const char *activeDetectors);
27   virtual ~AliEventInfo() {}
28
29   void SetEventType(UInt_t evType) { fEventType = evType; }
30   void SetTriggerClasses(const char *classes) { fTriggerClasses.SetString(classes); }
31   void SetTriggerMask(ULong_t mask) { fTriggerMask = mask; }
32   void SetTriggerCluster(const char *cluster) { fTriggerCluster.SetString(cluster); }
33
34   virtual void Print(Option_t */*option=""*/) const { Dump(); }
35
36   const char *GetLHCState() const { return fLHCState.GetString().Data(); }
37   const char *GetRunType() const { return fRunType.GetString().Data(); }
38   const char *GetActiveDetectors() const { return fActiveDetectors.GetString().Data(); }
39   UInt_t      GetEventType() const { return fEventType; }
40   const char *GetTriggerClasses() const { return fTriggerClasses.GetString().Data(); }
41   ULong_t     GetTriggerMask() const { return fTriggerMask; }
42   const char *GetTriggerCluster() const { return fTriggerCluster.GetString().Data(); }
43
44   AliEventInfo(const AliEventInfo &evInfo);
45   AliEventInfo& operator= (const AliEventInfo& evInfo);
46
47   void Reset();
48  private:
49
50   TObjString  fLHCState;       // state of the machine as provided by DCS and DAQ log-book (per run)
51   TObjString  fRunType;        // run type accoring to ECS (per run)
52   TObjString  fActiveDetectors;// list of active detectors (per run)
53   UInt_t      fEventType;      // event type as defined by DAQ (start_of_*,calibration,physics etc) (per event)
54   TObjString  fTriggerClasses; // list of fired trigger classes (per event)
55   ULong_t     fTriggerMask;    // trigger mask as received from DAQ or CTP raw-data payload (per event)
56   TObjString  fTriggerCluster; // list of detectors that have been read out (per event)
57
58   ClassDef(AliEventInfo,1)     // Event info class
59 };
60
61 #endif