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 //-------------------------------------------------------------------------
18 #include <TClonesArray.h>
19 #include "AliLHCTag.h"
20 #include "AliDetectorTag.h"
23 //class AliDetectorTag;
26 //___________________________________________________________________________
27 class AliRunTag : public TObject {
31 AliRunTag(const AliRunTag& qa) ;
32 AliRunTag& operator = (const AliRunTag& tag) ;
33 //____________________________________________________//
34 void SetRunId(Int_t Pid) {fAliceRunId = Pid;}
35 void SetMagneticField(Float_t Pmag) {fAliceMagneticField = Pmag;}
36 void SetRunStartTime(Int_t Pt0) {fAliceRunStartTime = Pt0;}
37 void SetRunStopTime(Int_t Pt1) {fAliceRunStopTime = Pt1;}
38 void SetAlirootVersion(TString v) {fAlirootVersion = v;}
39 void SetRootVersion(TString v) {fRootVersion = v;}
40 void SetGeant3Version(TString v) {fGeant3Version = v;}
41 void SetRunQuality(Int_t Pn) {fAliceRunQuality = Pn;}
42 void SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE;}
43 void SetBeamType(TString Ptype) {fAliceBeamType = Ptype;}
44 void SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn;}
45 void SetDataType(Int_t i) {fAliceDataType = i;}
46 void SetNEvents(Int_t Pn) { fNumEvents = Pn; }
47 void SetLHCTag(Float_t Plumin, TString type);
48 void SetDetectorTag(UInt_t mask);
49 void SetQA(ULong_t * qa, Int_t qalength) ;
50 void SetEventSpecies(Bool_t * es, Int_t eslength) ;
51 void AddEventTag(const AliEventTag &t);
52 void Clear(const char * opt = "");
54 void CopyStandardContent(AliRunTag *oldtag);
56 //____________________________________________________//
57 Int_t GetRunId() const {return fAliceRunId;}
58 Float_t GetMagneticField() const {return fAliceMagneticField;}
59 Int_t GetRunStartTime() const {return fAliceRunStartTime;}
60 Int_t GetRunStopTime() const {return fAliceRunStopTime;}
61 const char* GetAlirootVersion() const {return fAlirootVersion.Data();}
62 const char* GetRootVersion() const {return fRootVersion.Data();}
63 const char* GetGeant3Version() const {return fGeant3Version.Data();}
64 Int_t GetRunQuality() const {return fAliceRunQuality;}
65 Float_t GetBeamEnergy() const {return fAliceBeamEnergy;}
66 const char *GetBeamType() const {return fAliceBeamType.Data();}
67 Int_t GetCalibVersion() const {return fAliceCalibrationVersion;}
68 Int_t GetDataType() const {return fAliceDataType;}
69 Int_t GetNEvents() const {return fNumEvents;}
70 AliLHCTag *GetLHCTag() {return &fLHCTag; }
71 AliDetectorTag *GetDetectorTags() {return &fDetectorTag;}
72 const TClonesArray *GetEventTags() const {return &fEventTag;}
73 ULong_t * GetQA() const {return fQA;}
74 Int_t GetQALength() const { return fQALength ; }
75 Bool_t * GetEventSpecies() const {return fEventSpecies;}
76 Int_t GetESLength() const { return fESLength ; }
78 //____________________________________________________//
80 Int_t fAliceRunId; //the run id
81 Float_t fAliceMagneticField; //value of the magnetic field
82 Int_t fAliceRunStartTime; //run start date
83 Int_t fAliceRunStopTime; //run stop date
84 TString fAlirootVersion; //aliroot version
85 TString fRootVersion; //root version
86 TString fGeant3Version; //geant3 version
87 Bool_t fAliceRunQuality; //validation script
88 Float_t fAliceBeamEnergy; //beam energy cm
89 TString fAliceBeamType; //run type (pp, AA, pA)
90 Int_t fAliceCalibrationVersion; //calibration version
91 Int_t fAliceDataType; //0: simulation -- 1: data
92 Int_t fNumEvents; //number of events per file
93 Int_t fNumDetectors; //number of detector configs per file
94 TClonesArray fEventTag; //array with all event tags
95 AliDetectorTag fDetectorTag; //array with all the detector tags
96 AliLHCTag fLHCTag; //LHC tag object
97 Int_t fQALength; // Length of the fQA array
98 ULong_t * fQA ; //[fQALength] QA objects's data
99 Int_t fESLength; // Length of the Event Specie Length
100 Bool_t * fEventSpecies; //[fESLength] EventSpecies in this run
102 ClassDef(AliRunTag,5) //(ClassName, ClassVersion)
104 //___________________________________________________________________________