4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //-------------------------------------------------------------------------
8 // Implementation Class AliESDRun
11 // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
12 //-------------------------------------------------------------------------
15 #include <TObjArray.h>
21 class AliESDRun: public TObject {
24 enum StatusBits {kBInfoStored = BIT(14), kUniformBMap = BIT(15), kConvSqrtSHalfGeV = BIT(16)};
27 AliESDRun(const AliESDRun& esd);
28 AliESDRun& operator=(const AliESDRun& esd);
29 virtual void Copy(TObject &obj) const; // Interface for using TOBject::Copy()
32 Bool_t InitMagneticField() const;
33 Int_t GetRunNumber() const {return fRunNumber;}
34 void SetRunNumber(Int_t n) {fRunNumber=n;}
35 void SetMagneticField(Float_t mf){fMagneticField = mf;}
36 Double_t GetMagneticField() const {return fMagneticField;}
37 UInt_t GetPeriodNumber() const {return fPeriodNumber;}
38 void SetPeriodNumber(Int_t n) {fPeriodNumber=n;}
40 void Print(const Option_t *opt=0) const;
41 void SetDiamond(const AliESDVertex *vertex);
42 void SetTriggerClass(const char*name, Int_t index);
43 void SetCurrentL3(Float_t cur) {fCurrentL3 = cur;}
44 void SetCurrentDip(Float_t cur) {fCurrentDip = cur;}
45 void SetBeamEnergy(Float_t be) {fBeamEnergy = be;}
46 void SetBeamType(const char* bt) {fBeamType = bt;}
47 void SetBeamEnergyIsSqrtSHalfGeV(Bool_t v=kTRUE) {SetBit(kConvSqrtSHalfGeV,v);}
48 void SetDetectorsInDAQ(UInt_t detmask) { fDetInDAQ = detmask; }
49 void SetDetectorsInReco(UInt_t detmask) { fDetInReco = detmask; }
51 Bool_t IsBeamEnergyIsSqrtSHalfGeV() const {return TestBit(kConvSqrtSHalfGeV);}
52 Double_t GetDiamondX() const {return fDiamondXY[0];}
53 Double_t GetDiamondY() const {return fDiamondXY[1];}
54 Double_t GetSigma2DiamondX() const {return fDiamondCovXY[0];}
55 Double_t GetSigma2DiamondY() const {return fDiamondCovXY[2];}
56 void GetDiamondCovXY(Float_t cov[3]) const {
57 for(Int_t i=0;i<3;i++) cov[i]=fDiamondCovXY[i]; return;
59 const char* GetTriggerClass(Int_t index) const;
60 TString GetActiveTriggerClasses() const;
61 TString GetFiredTriggerClasses(ULong64_t mask) const;
62 Bool_t IsTriggerClassFired(ULong64_t mask, const char *name) const;
63 Float_t GetCurrentL3() const {return fCurrentL3;}
64 Float_t GetCurrentDip() const {return fCurrentDip;}
65 Float_t GetBeamEnergy() const {return IsBeamEnergyIsSqrtSHalfGeV() ? fBeamEnergy : fBeamEnergy/2;}
66 const char* GetBeamType() const {return fBeamType.Data();}
67 UInt_t GetDetectorsInDAQ() const {return fDetInDAQ; }
68 UInt_t GetDetectorsInReco() const {return fDetInReco; }
70 void SetPHOSMatrix(TGeoHMatrix*matrix, Int_t i) {
71 if ((i >= 0) && (i < kNPHOSMatrix)) fPHOSMatrix[i] = matrix;
73 const TGeoHMatrix* GetPHOSMatrix(Int_t i) const {
74 return ((i >= 0) && (i < kNPHOSMatrix)) ? fPHOSMatrix[i] : NULL;
77 void SetEMCALMatrix(TGeoHMatrix*matrix, Int_t i) {
78 if ((i >= 0) && (i < kNEMCALMatrix)) fEMCALMatrix[i] = matrix;
80 const TGeoHMatrix* GetEMCALMatrix(Int_t i) const {
81 return ((i >= 0) && (i < kNEMCALMatrix)) ? fEMCALMatrix[i] : NULL;
84 enum {kNTriggerClasses = 50};
85 enum {kNPHOSMatrix = 5};
86 enum {kNEMCALMatrix = 12};
89 Float_t fCurrentL3; // signed current in the L3 (LHC convention: +current -> +Bz)
90 Float_t fCurrentDip; // signed current in the Dipole (LHC convention: +current -> -Bx)
91 Float_t fBeamEnergy; // beamEnergy entry from GRP
92 Double32_t fMagneticField; // Solenoid Magnetic Field in kG : for compatibility with AliMagF
93 Double32_t fDiamondXY[2]; // Interaction diamond (x,y) in RUN
94 Double32_t fDiamondCovXY[3]; // Interaction diamond covariance (x,y) in RUN
95 UInt_t fPeriodNumber; // PeriodNumber
96 Int_t fRunNumber; // Run Number
97 Int_t fRecoVersion; // Version of reconstruction
98 TString fBeamType; // beam type from GRP
99 TObjArray fTriggerClasses; // array of TNamed containing the names of the active trigger classes
100 UInt_t fDetInDAQ; // Detector mask for detectors in datataking
101 UInt_t fDetInReco; // Detector mask for detectors in reconstruction
102 TGeoHMatrix* fPHOSMatrix[kNPHOSMatrix]; //PHOS module position and orientation matrices
103 TGeoHMatrix* fEMCALMatrix[kNEMCALMatrix]; //EMCAL supermodule position and orientation matrices
105 ClassDef(AliESDRun,7)