1 #ifndef ALIPHOSCALIBDATA_H
2 #define ALIPHOSCALIBDATA_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 ////////////////////////////////////////////////
10 // class for PHOS calibration //
11 ////////////////////////////////////////////////
16 class AliPHOSEmcCalibData;
17 class AliPHOSCpvCalibData;
18 class AliPHOSEmcBadChannelsMap;
21 class AliPHOSCalibData: public TNamed {
25 AliPHOSCalibData(Int_t runNumber);
26 AliPHOSCalibData(AliPHOSCalibData & phosCDB);
27 virtual ~AliPHOSCalibData();
29 AliPHOSCalibData & operator = (const AliPHOSCalibData & rhs);
32 virtual void Print(Option_t *option = "") const;
34 AliPHOSEmcCalibData *GetCalibDataEmc() const {return fCalibDataEmc;}
35 AliPHOSCpvCalibData *GetCalibDataCpv() const {return fCalibDataCpv;}
38 void RandomEmc(Float_t ccMin=0.5 , Float_t ccMax=1.5);
39 void RandomCpv(Float_t ccMin=0.0009, Float_t ccMax=0.0015);
41 //----First EMC parameters---------
42 Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const;
43 void SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value);
45 Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const;
46 void SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value);
48 Float_t GetHighLowRatioEmc(Int_t module, Int_t column, Int_t row) const ;
49 void SetHighLowRatioEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
51 Float_t GetTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
52 void SetTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
54 Int_t GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const;
55 void SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value) ;
57 Float_t GetSampleTimeStep() const ;
58 void SetSampleTimeStep(Float_t step) ;
60 //----Now CPV parameters-----------
61 Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
62 void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
64 Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
65 void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
67 //----Bad channels map-------------
68 Int_t GetNumOfEmcBadChannels() const;
69 Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const;
70 void EmcBadChannelIds(Int_t *badIds=0);
72 void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
73 void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
75 Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
76 Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
77 Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
79 //----Decalibration factors for simulation-------------
80 Float_t GetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row) const;
81 void SetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row, Float_t value);
85 AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
86 AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
87 AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map
89 TString fEmcDataPath; // path to EMC calibration data
90 TString fCpvDataPath; // path to CPV calibration data
91 TString fEmcBadChannelsMapPath; // path to bad channels map
93 ClassDef(AliPHOSCalibData,6) // PHOS Calibration data