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