Improving event printout
[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   Float_t     GetBeamEnergy() const { return fBeamEnergy; }
40   const char *GetRunType() const { return fRunType.Data(); }
41   UInt_t      GetDetectorMask() const { return fActiveDetectors; }
42   const char *GetActiveDetectors() const { return AliDAQ::ListOfTriggeredDetectors(fActiveDetectors); }
43
44   AliRunInfo(const AliRunInfo &evInfo);
45   AliRunInfo& operator= (const AliRunInfo& evInfo);
46
47  private:
48
49   TString  fLHCState;       // state of the machine as provided by DCS and DAQ log-book (per run)
50   TString  fBeamType;       // beam type for Alice
51   Float_t  fBeamEnergy;     // beam energy (in GeV)
52   TString  fRunType;        // run type accoring to ECS (per run)
53   UInt_t   fActiveDetectors;// list of active detectors (per run)
54
55   ClassDef(AliRunInfo,1)     // Run info class
56 };
57
58 #endif