]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliRunTag.h
Simplified data structure
[u/mrichter/AliRoot.git] / STEER / AliRunTag.h
1 #ifndef ALIRUNTAG_H
2 #define ALIRUNTAG_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 //-------------------------------------------------------------------------
10 //                          Class AliRunTag
11 //   This is the class to deal with the tags for the run level
12 //
13 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
14 //-------------------------------------------------------------------------
15
16 #include <TObject.h>
17 #include <TString.h>
18 #include <TClonesArray.h>
19 #include "AliLHCTag.h"
20
21 class AliEventTag;
22 class AliDetectorTag;
23
24
25 //______________________________________________________________________________
26 class AliRunTag : public TObject
27 {
28  public:
29   AliRunTag();
30   virtual ~AliRunTag();
31   
32   void          SetRunId(Int_t Pid) {fAliceRunId = Pid;}
33   void          SetMagneticField(Float_t Pmag) {fAliceMagneticField = Pmag;}
34   void          SetRunStartTime(Int_t Pt0) {fAliceRunStartTime = Pt0;}
35   void          SetRunStopTime(Int_t Pt1) {fAliceRunStopTime = Pt1;}
36   void          SetRecoVersion(Int_t Pn) {fAliceReconstructionVersion = Pn;}
37   void          SetRunQuality(Int_t Pn) {fAliceRunQuality = Pn;}
38   void          SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE;}
39   void          SetBeamType(const char *Ptype) {fAliceBeamType = Ptype;}
40   void          SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn;}
41   
42   void          SetDataType(Int_t i) {fAliceDataType = i;}
43   
44   void          SetNEvents(Int_t Pn) { fNumEvents = Pn; }
45   
46   void          SetLHCTag(Float_t Plumin, char *type);
47   void          SetDetectorTag(const AliDetectorTag &t);
48   void          AddEventTag(const AliEventTag &t);
49   void          Clear(const char * opt = "");
50   
51   
52   Int_t         GetRunId() const {return fAliceRunId;}
53   Float_t       GetMagneticField() const {return fAliceMagneticField;}
54   Int_t         GetRunStartTime() const {return fAliceRunStartTime;}
55   Int_t         GetRunStopTime() const {return fAliceRunStopTime;}
56   Int_t         GetRecoVersion() const {return fAliceReconstructionVersion;}
57   Int_t         GetRunQuality() const {return fAliceRunQuality;}
58   Float_t       GetBeamEnergy() const {return fAliceBeamEnergy;}
59   const char   *GetBeamType() const {return fAliceBeamType.Data();}
60   Int_t         GetCalibVersion() const {return fAliceCalibrationVersion;}
61   
62   Int_t GetDataType() const {return fAliceDataType;}
63
64   Int_t         GetNEvents() const {return fNumEvents;}
65   
66   AliLHCTag    *GetLHCTag() {return &fLHCTag; } 
67   const TClonesArray *GetEventTags() const {return &fEventTag;}
68   const TClonesArray *GetDetectorTags() const {return &fDetectorTag;}
69
70  private:
71   Int_t    fAliceRunId;                   //the run id
72   Float_t  fAliceMagneticField;           //value of the magnetic field
73   Int_t    fAliceRunStartTime;            //run start date
74   Int_t    fAliceRunStopTime;             //run stop date
75   Int_t    fAliceReconstructionVersion;   //reco version
76   Bool_t   fAliceRunQuality;              //validation script
77   Float_t  fAliceBeamEnergy;              //beam energy cm
78   TString  fAliceBeamType;                //run type (pp, AA, pA)
79   Int_t    fAliceCalibrationVersion;      //calibration version
80   
81   Int_t  fAliceDataType;                  //0: simulation -- 1: data
82   
83   Int_t    fNumEvents;                    //number of events per file
84   Int_t    fNumDetectors;                 //number of detector configs per file
85   TClonesArray  fEventTag;                //array with all event tags
86   TClonesArray  fDetectorTag;             //array with all the detector tags
87   
88   AliLHCTag   fLHCTag;                    //LHC tag object
89   
90   ClassDef(AliRunTag,1)  //(ClassName, ClassVersion)
91 };
92 //______________________________________________________________________________
93
94 #endif