Major commit related to steering of the reco parameters: AliDAQ and trigger classes...
[u/mrichter/AliRoot.git] / STEER / AliRunInfo.h
1 #ifndef ALIRUNINFO_H
2 #define ALIRUNINFO_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 AliRunInfo                                //
8 //   Container class for all the information related to LHCstate, run type, //
9 //   active detectors, beam energy etc.                                     //
10 //   It is used together with the AliEventInfo in order to provide          //
11 //   the 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 #include "AliDAQ.h"
23
24 class AliRunInfo : public TObject {
25
26  public:
27   AliRunInfo();
28   AliRunInfo(const char *lhcState,
29              const char *beamType,
30              Float_t beamEnergy,
31              const char *runType,
32              UInt_t activeDetectors);
33   virtual ~AliRunInfo() {}
34
35   virtual void Print(Option_t */*option=""*/) const { Dump(); }
36
37   const char *GetLHCState() const { return fLHCState.Data(); }
38   const char *GetBeamType() const { return fBeamType.Data(); }
39   const char *GetRunType() const { return fRunType.Data(); }
40   UInt_t      GetDetectorMask() const { return fActiveDetectors; }
41   const char *GetActiveDetectors() const { return AliDAQ::ListOfTriggeredDetectors(fActiveDetectors); }
42
43   AliRunInfo(const AliRunInfo &evInfo);
44   AliRunInfo& operator= (const AliRunInfo& evInfo);
45
46  private:
47
48   TString  fLHCState;       // state of the machine as provided by DCS and DAQ log-book (per run)
49   TString  fBeamType;       // beam type for Alice
50   Float_t  fBeamEnergy;     // beam energy (in GeV)
51   TString  fRunType;        // run type accoring to ECS (per run)
52   UInt_t   fActiveDetectors;// list of active detectors (per run)
53
54   ClassDef(AliRunInfo,1)     // Run info class
55 };
56
57 #endif