]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliESDRun.h
Previous commit had the bad side-effect of changing the behaviour of Raw QA to comput...
[u/mrichter/AliRoot.git] / STEER / AliESDRun.h
CommitLineData
d5ebf00e 1// -*- mode: C++ -*-
2#ifndef ALIESDRUN_H
3#define ALIESDRUN_H
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//-------------------------------------------------------------------------
8// Implementation Class AliESDRun
9// Run by run data
10// for the ESD
11// Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
12//-------------------------------------------------------------------------
13
14#include <TObject.h>
f009b5c1 15#include <TObjArray.h>
16#include <TString.h>
d5ebf00e 17
8d218603 18class TGeoHMatrix;
d5ebf00e 19class AliESDVertex;
20
21class AliESDRun: public TObject {
22public:
23
24 AliESDRun();
25 AliESDRun(const AliESDRun& esd);
26 AliESDRun& operator=(const AliESDRun& esd);
732a24fe 27 virtual void Copy(TObject &obj) const; // Interface for using TOBject::Copy()
8d218603 28 virtual ~AliESDRun();
d5ebf00e 29
30 Int_t GetRunNumber() const {return fRunNumber;}
31 void SetRunNumber(Int_t n) {fRunNumber=n;}
32 void SetMagneticField(Float_t mf){fMagneticField = mf;}
694aad0c 33 Double_t GetMagneticField() const {return fMagneticField;}
34 UInt_t GetPeriodNumber() const {return fPeriodNumber;}
d5ebf00e 35 void SetPeriodNumber(Int_t n) {fPeriodNumber=n;}
36 void Reset();
37 void Print(const Option_t *opt=0) const;
38 void SetDiamond(const AliESDVertex *vertex);
f009b5c1 39 void SetTriggerClass(const char*name, Int_t index);
d5ebf00e 40
694aad0c 41 Double_t GetDiamondX() const {return fDiamondXY[0];}
42 Double_t GetDiamondY() const {return fDiamondXY[1];}
43 Double_t GetSigma2DiamondX() const {return fDiamondCovXY[0];}
44 Double_t GetSigma2DiamondY() const {return fDiamondCovXY[2];}
d5ebf00e 45 void GetDiamondCovXY(Float_t cov[3]) const {
46 for(Int_t i=0;i<3;i++) cov[i]=fDiamondCovXY[i]; return;
47 }
f009b5c1 48 const char* GetTriggerClass(Int_t index) const;
49 TString GetActiveTriggerClasses() const;
50 TString GetFiredTriggerClasses(ULong64_t mask) const;
51 Bool_t IsTriggerClassFired(ULong64_t mask, const char *name) const;
52
8d218603 53 void SetPHOSMatrix(TGeoHMatrix*matrix, Int_t i) {
54 if ((i >= 0) && (i < kNPHOSMatrix)) fPHOSMatrix[i] = matrix;
55 }
56 const TGeoHMatrix* GetPHOSMatrix(Int_t i) const {
57 return ((i >= 0) && (i < kNPHOSMatrix)) ? fPHOSMatrix[i] : NULL;
58 }
59
f009b5c1 60 enum {kNTriggerClasses = 50};
8d218603 61 enum {kNPHOSMatrix = 5};
f009b5c1 62
d5ebf00e 63private:
694aad0c 64 Double32_t fMagneticField; // Solenoid Magnetic Field in kG : for compatibility with AliMagF
65 Double32_t fDiamondXY[2]; // Interaction diamond (x,y) in RUN
66 Double32_t fDiamondCovXY[3]; // Interaction diamond covariance (x,y) in RUN
67 UInt_t fPeriodNumber; // PeriodNumber
68 Int_t fRunNumber; // Run Number
69 Int_t fRecoVersion; // Version of reconstruction
f009b5c1 70 TObjArray fTriggerClasses; // array of TNamed containing the names of the active trigger classes
8d218603 71 TGeoHMatrix* fPHOSMatrix[kNPHOSMatrix]; //PHOS module position and orientation matrices
694aad0c 72
8d218603 73 ClassDef(AliESDRun,4)
d5ebf00e 74};
75
76#endif