aef41dbf5c25e2a6078a47c95fad30a524b04c26
[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 <stdlib.h>
17 #include <Riostream.h>
18
19 #include "TObject.h"
20 #include "TClonesArray.h"
21
22 #include "AliEventTag.h"
23 #include "AliLHCTag.h"
24 #include "AliDetectorTag.h"
25
26
27 //______________________________________________________________________________
28 class AliRunTag : public TObject
29 {
30  private:
31   Int_t    fAliceRunId;                   //the run id
32   Float_t  fAliceMagneticField;           //value of the magnetic field
33   Int_t    fAliceRunStartTime;            //run start date
34   Int_t    fAliceRunStopTime;             //run stop date
35   Int_t    fAliceReconstructionVersion;   //reco version
36   Bool_t   fAliceRunQuality;              //validation script
37   Float_t  fAliceBeamEnergy;              //beam energy cm
38   Char_t   fAliceBeamType[5];             //run type (pp, AA, pA)
39   Int_t    fAliceCalibrationVersion;      //calibration version
40   
41   Int_t  fAliceDataType;              //0: simulation -- 1: data
42   
43   Int_t    fNumEvents;                    //number of events per file
44   Int_t    fNumDetectors;                 //number of detector configs per file
45   TClonesArray  *fEventTag;               //array with all event tags
46   TClonesArray  *fDetectorTag;            //array with all the detector tags
47   
48   AliLHCTag   fLHCTag;
49   
50   static TClonesArray *fgEvents;
51   static TClonesArray *fgDetectors;
52   
53  public:
54   AliRunTag();
55   virtual ~AliRunTag();
56   
57   void          SetRunId(Int_t Pid) {fAliceRunId = Pid;}
58   void          SetMagneticField(Float_t Pmag) {fAliceMagneticField = Pmag;}
59   void          SetRunStartTime(Int_t Pt0) {fAliceRunStartTime = Pt0;}
60   void          SetRunStopTime(Int_t Pt1) {fAliceRunStopTime = Pt1;}
61   void          SetRecoVersion(Int_t Pn) {fAliceReconstructionVersion = Pn;}
62   void          SetRunQuality(Int_t Pn) {fAliceRunQuality = Pn;}
63   void          SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE;}
64   void          SetBeamType(char *Ptype) {strcpy(fAliceBeamType,Ptype);}
65   void          SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn;}
66   
67   void          SetDataType(Int_t i) {fAliceDataType = i;}
68   
69   void          SetNEvents(Int_t Pn) { fNumEvents = Pn; }
70   
71   void          SetLHCTag(Float_t Plumin, char *type);
72   void          SetDetectorTag(AliDetectorTag *t);
73   void          AddEventTag(AliEventTag *t);
74   void          Clear(const char * opt = "");
75   
76   
77   Int_t         GetRunId() {return fAliceRunId;}
78   Float_t       GetMagneticField() {return fAliceMagneticField;}
79   Int_t         GetRunStartTime() {return fAliceRunStartTime;}
80   Int_t         GetRunStopTime() {return fAliceRunStopTime;}
81   Int_t         GetRecoVersion() {return fAliceReconstructionVersion;}
82   Int_t         GetRunQuality() {return fAliceRunQuality;}
83   Float_t       GetBeamEnergy() {return fAliceBeamEnergy;}
84   char         *GetBeamType() {return fAliceBeamType;}
85   Int_t         GetCalibVersion() {return fAliceCalibrationVersion;}
86   
87   Int_t GetDataType() {return fAliceDataType;}
88
89   Int_t         GetNEvents() const {return fNumEvents;}
90   
91   AliLHCTag    *GetLHCTag() { return &fLHCTag; } 
92   TClonesArray *GetEventTags() const {return fEventTag;}
93
94   ClassDef(AliRunTag,1)  //(ClassName, ClassVersion)
95 };
96 //______________________________________________________________________________
97
98 #endif