#ifndef ALIGRPOBJECT_H #define ALIGRPOBJECT_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id$ */ // // AliGRPObject // class to store the information // coming from the GRP preprocessor // #include #include class TMap; class AliDCSSensor; class AliSplineFit; class AliLog; class AliGRPObject : public TObject { public: enum Stats {kMean = 0, kTruncMean = 1, kMedian = 2, kSDMean = 3, kSDMedian = 4}; enum StatusBits {kPolConvLHC = BIT(14), kUniformBMap = BIT(15),kConvSqrtSHalfGeV = BIT(16)}; enum DP_HallProbes { khpL3bsf17H1= 0 , khpL3bsf17H2, khpL3bsf17H3, khpL3bsf17Temperature, khpL3bsf4H1, khpL3bsf4H2, khpL3bsf4H3, khpL3bsf4Temperature, khpL3bkf17H1, khpL3bkf17H2, khpL3bkf17H3, khpL3bkf17Temperature, khpL3bkf4H1, khpL3bkf4H2, khpL3bkf4H3, khpL3bkf4Temperature, khpL3bsf13H1, khpL3bsf13H2, khpL3bsf13H3, khpL3bsf13Temperature, khpL3bsf8H1, khpL3bsf8H2, khpL3bsf8H3, khpL3bsfy8Temperature, khpL3bkf13H1, khpL3bkf13H2, khpL3bkf13H3, khpL3bkf13Temperature, khpL3bkf8H1, khpL3bkf8H2, khpL3bkf8H3, khpL3bkf8Temperature, khpDipoleInsideH1, khpDipoleInsideH2, khpDipoleInsideH3, khpDipoleInsideTemperature, khpDipoleOutsideH1, khpDipoleOutsideH2, khpDipoleOutsideH3, khpDipoleOutsideTemperature}; AliGRPObject(); AliGRPObject(const AliGRPObject & obj); AliGRPObject& operator=(const AliGRPObject & obj); ~AliGRPObject(); // getters Bool_t IsBeamEnergyIsSqrtSHalfGeV() const {return TestBit(kConvSqrtSHalfGeV);} Bool_t IsPolarityConventionLHC() const {return TestBit(kPolConvLHC);} Bool_t IsUniformBMap() const {return TestBit(kUniformBMap);} time_t GetTimeStart() const {return fTimeStart;} time_t GetTimeEnd() const {return fTimeEnd;} Float_t GetBeamEnergy() const {return IsBeamEnergyIsSqrtSHalfGeV() ? fBeamEnergy : fBeamEnergy/2;} TString GetBeamType() const {return fBeamType;} Char_t GetNumberOfDetectors() const {return fNumberOfDetectors;} UInt_t GetDetectorMask() const {return fDetectorMask;} TString GetLHCPeriod() const {return fLHCPeriod;} TString GetRunType() const {return fRunType;} TString GetLHCState() const {return fLHCState;} TString GetMachineMode() const {return fMachineMode;} TObjArray* GetLHCStateArray() const {return fLHCStateArray;} TObjArray* GetMachineModeArray() const {return fMachineModeArray;} Char_t GetL3Polarity() const {return fL3Polarity;} Char_t GetDipolePolarity() const {return fDipolePolarity;} Float_t* GetL3Current() const {return fL3Current;} Float_t GetL3Current(Stats stat) const {return fL3Current[stat];} Float_t* GetDipoleCurrent() const {return fDipoleCurrent;} Float_t GetDipoleCurrent(Stats stat) const {return fDipoleCurrent[stat];} Float_t* GetCavernTemperature() const {return fCavernTemperature;} Float_t GetCavernTemperature(Stats stat) const {return fCavernTemperature[stat];} AliDCSSensor* GetCavernAtmosPressure() const {return fCavernAtmosPressure;} AliDCSSensor* GetCavernAtmosPressure2() const {return fCavernAtmosPressure2;} AliDCSSensor* GetSurfaceAtmosPressure() const {return fSurfaceAtmosPressure;} Float_t* GetHallProbesArray(DP_HallProbes hp) const; Float_t GetHallProbes(Int_t hp) const {return fHallProbes[hp];} Float_t GetHallProbes(DP_HallProbes hp, Stats stat) const {return fHallProbes[hp*fPoints+stat];} Int_t GetPoints() const {return fPoints;} Int_t GetDimension() const {return fDimension;} Double_t GetMaxTimeLHCValidity() const {return fMaxTimeLHCValidity;} // setters void SetBeamEnergyIsSqrtSHalfGeV(Bool_t v=kTRUE) {SetBit(kConvSqrtSHalfGeV,v);} void SetPolarityConventionLHC(Bool_t v=kTRUE) {return SetBit(kPolConvLHC,v);} void SetUniformBMap(Bool_t v=kTRUE) {return SetBit(kUniformBMap,v);} void SetTimeStart(time_t timeStart) {fTimeStart = timeStart;} void SetTimeEnd(time_t timeEnd) {fTimeEnd = timeEnd;} void SetBeamEnergy(Float_t beamEnergy) {fBeamEnergy = beamEnergy;} void SetBeamType(TString beamType) {fBeamType = beamType;} void SetNumberOfDetectors(Char_t numberOfDetectors) {fNumberOfDetectors = numberOfDetectors;} void SetDetectorMask(UInt_t detectorMask) {fDetectorMask = detectorMask;} void SetLHCPeriod(TString lhcPeriod) {fLHCPeriod = lhcPeriod;} void SetRunType(TString runType) {fRunType = runType;} void SetLHCState(TString lhcState) {fLHCState = lhcState;} void SetMachineMode(TString machineMode) {fMachineMode = machineMode;} void SetLHCStateArray(TObjArray* lhcStateArray) {fLHCStateArray = lhcStateArray;} void SetMachineModeArray(TObjArray* machineModeArray) {fMachineModeArray = machineModeArray;} void SetL3Polarity(Char_t l3Polarity) {fL3Polarity = l3Polarity;} void SetDipolePolarity(Char_t dipolePolarity) {fDipolePolarity = dipolePolarity;} void SetL3Current(const Float_t* l3Current) { for (Int_t i = 0;i