Line data Source code
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 AliPHOSCpvBadChannelsMap;
20 : class AliCDBMetaData;
21 :
22 : class AliPHOSCalibData: public TNamed {
23 :
24 : public:
25 : AliPHOSCalibData();
26 : AliPHOSCalibData(Int_t runNumber);
27 : AliPHOSCalibData(AliPHOSCalibData & phosCDB);
28 : virtual ~AliPHOSCalibData();
29 :
30 : AliPHOSCalibData & operator = (const AliPHOSCalibData & rhs);
31 :
32 : void Reset();
33 : virtual void Print(Option_t *option = "") const;
34 :
35 12 : AliPHOSEmcCalibData *GetCalibDataEmc() const {return fCalibDataEmc;}
36 12 : AliPHOSCpvCalibData *GetCalibDataCpv() const {return fCalibDataCpv;}
37 :
38 : void CreateNew();
39 : void RandomEmc(Float_t ccMin=0.5 , Float_t ccMax=1.5);
40 : void RandomCpv(Float_t ccMin=0.5, Float_t ccMax=2.);
41 :
42 : //----First EMC parameters---------
43 : Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const;
44 : void SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value);
45 :
46 : Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const;
47 : void SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value);
48 :
49 : Float_t GetHighLowRatioEmc(Int_t module, Int_t column, Int_t row) const ;
50 : void SetHighLowRatioEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
51 :
52 : Float_t GetTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
53 : void SetTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
54 :
55 : Float_t GetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
56 : void SetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
57 :
58 : Int_t GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const;
59 : void SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value) ;
60 :
61 : Float_t GetSampleTimeStep() const ;
62 : void SetSampleTimeStep(Float_t step) ;
63 :
64 : //----Now CPV parameters-----------
65 : Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
66 : void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
67 :
68 : Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
69 : void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
70 :
71 : //----Bad channels map-------------
72 : Int_t GetNumOfEmcBadChannels() const;
73 : Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const;
74 : void EmcBadChannelIds(Int_t *badIds=0);
75 :
76 : Int_t GetNumOfCpvBadChannels() const;
77 : Bool_t IsBadChannelCpv(Int_t module, Int_t col, Int_t row) const;
78 : void CpvBadChannelIds(Int_t *badIds=0);
79 :
80 :
81 0 : void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
82 0 : void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
83 :
84 : Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
85 : Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
86 : Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
87 : Bool_t WriteCpvBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
88 :
89 :
90 : //----Decalibration factors for simulation-------------
91 : Float_t GetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row) const;
92 : void SetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row, Float_t value);
93 :
94 : private:
95 :
96 : AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
97 : AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
98 : AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map
99 : AliPHOSCpvBadChannelsMap* fCpvBadChannelsMap; // CPV bad channels map
100 :
101 : TString fEmcDataPath; // path to EMC calibration data
102 : TString fCpvDataPath; // path to CPV calibration data
103 : TString fEmcBadChannelsMapPath; // path to bad channels map
104 : TString fCpvBadChannelsMapPath; // path to bad channels map
105 :
106 22 : ClassDef(AliPHOSCalibData,7) // PHOS Calibration data
107 : };
108 :
109 : #endif
|