3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 //-------------------------------------------------------------------------
11 // This is the class to deal with the tags for the run level
13 // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
14 //-------------------------------------------------------------------------
17 #include <Riostream.h>
20 #include "TClonesArray.h"
22 #include "AliEventTag.h"
23 #include "AliLHCTag.h"
24 #include "AliDetectorTag.h"
27 //______________________________________________________________________________
28 class AliRunTag : public TObject
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
41 Int_t fAliceDataType; //0: simulation -- 1: data
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
50 static TClonesArray *fgEvents;
51 static TClonesArray *fgDetectors;
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;}
67 void SetDataType(Int_t i) {fAliceDataType = i;}
69 void SetNEvents(Int_t Pn) { fNumEvents = Pn; }
71 void SetLHCTag(Float_t Plumin, char *type);
72 void SetDetectorTag(AliDetectorTag *t);
73 void AddEventTag(AliEventTag *t);
74 void Clear(const char * opt = "");
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;}
87 Int_t GetDataType() {return fAliceDataType;}
89 Int_t GetNEvents() const {return fNumEvents;}
91 AliLHCTag *GetLHCTag() { return &fLHCTag; }
93 ClassDef(AliRunTag,1) //(ClassName, ClassVersion)
95 //______________________________________________________________________________