]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIPHOSCALIBDATA_H | |
2 | #define ALIPHOSCALIBDATA_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | //////////////////////////////////////////////// | |
10 | // class for PHOS calibration // | |
11 | //////////////////////////////////////////////// | |
12 | ||
13 | #include "TNamed.h" | |
14 | #include "TString.h" | |
15 | ||
16 | class AliPHOSEmcCalibData; | |
17 | class AliPHOSCpvCalibData; | |
18 | class AliPHOSEmcBadChannelsMap; | |
19 | class AliCDBMetaData; | |
20 | ||
21 | class AliPHOSCalibData: public TNamed { | |
22 | ||
23 | public: | |
24 | AliPHOSCalibData(); | |
25 | AliPHOSCalibData(Int_t runNumber); | |
26 | AliPHOSCalibData(AliPHOSCalibData & phosCDB); | |
27 | virtual ~AliPHOSCalibData(); | |
28 | ||
29 | AliPHOSCalibData & operator = (const AliPHOSCalibData & rhs); | |
30 | ||
31 | void Reset(); | |
32 | virtual void Print(Option_t *option = "") const; | |
33 | ||
34 | AliPHOSEmcCalibData *GetCalibDataEmc() const {return fCalibDataEmc;} | |
35 | AliPHOSCpvCalibData *GetCalibDataCpv() const {return fCalibDataCpv;} | |
36 | ||
37 | void CreateNew(); | |
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); | |
40 | ||
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); | |
44 | ||
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); | |
47 | ||
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) ; | |
50 | ||
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) ; | |
53 | ||
54 | Float_t GetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row) const; | |
55 | void SetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ; | |
56 | ||
57 | Int_t GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const; | |
58 | void SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value) ; | |
59 | ||
60 | Float_t GetSampleTimeStep() const ; | |
61 | void SetSampleTimeStep(Float_t step) ; | |
62 | ||
63 | //----Now CPV parameters----------- | |
64 | Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const; | |
65 | void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value); | |
66 | ||
67 | Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const; | |
68 | void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value); | |
69 | ||
70 | //----Bad channels map------------- | |
71 | Int_t GetNumOfEmcBadChannels() const; | |
72 | Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const; | |
73 | void EmcBadChannelIds(Int_t *badIds=0); | |
74 | ||
75 | void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;} | |
76 | void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;} | |
77 | ||
78 | Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md); | |
79 | Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md); | |
80 | Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md); | |
81 | ||
82 | //----Decalibration factors for simulation------------- | |
83 | Float_t GetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row) const; | |
84 | void SetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row, Float_t value); | |
85 | ||
86 | private: | |
87 | ||
88 | AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data | |
89 | AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data | |
90 | AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map | |
91 | ||
92 | TString fEmcDataPath; // path to EMC calibration data | |
93 | TString fCpvDataPath; // path to CPV calibration data | |
94 | TString fEmcBadChannelsMapPath; // path to bad channels map | |
95 | ||
96 | ClassDef(AliPHOSCalibData,6) // PHOS Calibration data | |
97 | }; | |
98 | ||
99 | #endif |