]>
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 | //----Now CPV parameters----------- | |
55 | Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const; | |
56 | void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value); | |
57 | ||
58 | Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const; | |
59 | void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value); | |
60 | ||
61 | //----Bad channels map------------- | |
62 | Int_t GetNumOfEmcBadChannels() const; | |
63 | Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const; | |
64 | void EmcBadChannelIds(Int_t *badIds=0); | |
65 | ||
66 | void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;} | |
67 | void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;} | |
68 | ||
69 | Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md); | |
70 | Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md); | |
71 | Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md); | |
72 | ||
73 | private: | |
74 | ||
75 | AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data | |
76 | AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data | |
77 | AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map | |
78 | ||
79 | TString fEmcDataPath; // path to EMC calibration data | |
80 | TString fCpvDataPath; // path to CPV calibration data | |
81 | TString fEmcBadChannelsMapPath; // path to bad channels map | |
82 | ||
83 | ClassDef(AliPHOSCalibData,5) // PHOS Calibration data | |
84 | }; | |
85 | ||
86 | #endif |