]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIVZEROCALIBDATA_H | |
2 | #define ALIVZEROCALIBDATA_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //////////////////////////////////////////////// | |
8 | // // | |
9 | // class for VZERO calibration // | |
10 | // // | |
11 | //////////////////////////////////////////////// | |
12 | ||
13 | #include "TNamed.h" | |
14 | #include "AliVZERO.h" | |
15 | #include "AliVZERODataDCS.h" | |
16 | ||
17 | class AliVZEROCalibData: public TNamed { | |
18 | ||
19 | public: | |
20 | enum { kNCIUBoards = 8 }; | |
21 | ||
22 | AliVZEROCalibData(); | |
23 | AliVZEROCalibData(const char* name); | |
24 | AliVZEROCalibData(const AliVZEROCalibData &calibda); | |
25 | AliVZEROCalibData& operator= (const AliVZEROCalibData &calibda); | |
26 | virtual ~AliVZEROCalibData(); | |
27 | void Reset(); | |
28 | void FillDCSData(AliVZERODataDCS * data); | |
29 | ||
30 | Float_t GetPedestal(Int_t channel) const {return fPedestal[channel];} | |
31 | Float_t* GetPedestal() const {return (float*)fPedestal;} | |
32 | Float_t GetSigma(Int_t channel) const {return fSigma[channel];} | |
33 | Float_t* GetSigma() const {return (float*)fSigma;} | |
34 | Float_t GetADCmean(Int_t channel) const {return fADCmean[channel];} | |
35 | Float_t* GetADCmean() const {return (float*)fADCmean;} | |
36 | Float_t GetADCsigma(Int_t channel) const {return fADCsigma[channel];} | |
37 | Float_t* GetADCsigma() const {return (float*)fADCsigma;} | |
38 | Float_t GetMeanHV(Int_t channel) const {return fMeanHV[channel];} | |
39 | Float_t* GetMeanHV() const {return (float*)fMeanHV;} | |
40 | Float_t GetWidthHV(Int_t channel) const {return fWidthHV[channel];} | |
41 | Float_t* GetWidthHV() const {return (float*)fWidthHV;} | |
42 | Bool_t IsChannelDead(Int_t channel) const {return fDeadChannel[channel];} | |
43 | Bool_t* GetDeadMap() const {return (bool*)fDeadChannel;} | |
44 | ||
45 | Float_t GetGain(Int_t channel) const {return fGain[channel];} | |
46 | Float_t* GetGain() const {return (float*)fGain;} | |
47 | Float_t GetTimeOffset(Int_t channel) const {return fTimeOffset[channel];} | |
48 | Float_t* GetTimeOffset() const {return (float*)fTimeOffset;} | |
49 | Float_t GetTimeGain(Int_t channel) const {return fTimeGain[channel];} | |
50 | Float_t* GetTimeGain() const {return (float*)fTimeGain;} | |
51 | ||
52 | Float_t* GetTimeResolution() const {return (Float_t*) fTimeResolution;}; | |
53 | Float_t GetTimeResolution(Int_t board ) const {return (board<kNCIUBoards?fTimeResolution[board]:0);}; | |
54 | ||
55 | Float_t* GetWidthResolution() const {return (Float_t*) fWidthResolution;}; | |
56 | Float_t GetWidthResolution(Int_t board ) const {return (board<kNCIUBoards?fWidthResolution[board]:0);}; | |
57 | ||
58 | void SetPedestal(Float_t val, Int_t channel) {fPedestal[channel]=val;} | |
59 | void SetPedestal(Float_t* Pedestal); | |
60 | void SetSigma(Float_t val, Int_t channel) {fSigma[channel]=val;} | |
61 | void SetSigma(Float_t* Sigma); | |
62 | void SetADCmean(Float_t val, Int_t channel) {fADCmean[channel]=val;} | |
63 | void SetADCmean(Float_t* ADCmean); | |
64 | void SetADCsigma(Float_t val, Int_t channel) {fADCsigma[channel]=val;} | |
65 | void SetADCsigma(Float_t* ADCsigma); | |
66 | void SetMeanHV(Float_t val, Int_t channel) {fMeanHV[channel]=val;} | |
67 | void SetMeanHV(Float_t* MeanHV); | |
68 | void SetWidthHV(Float_t val, Int_t channel) {fWidthHV[channel]=val;} | |
69 | void SetWidthHV(Float_t* WidthHV); | |
70 | void SetDeadChannel(Bool_t val, Int_t channel) {fDeadChannel[channel]=val;} | |
71 | void SetDeadMap(Bool_t* deadMap); | |
72 | ||
73 | void SetGain(Float_t val, Int_t channel) {fGain[channel]=val;} | |
74 | void SetGain(Float_t* Gain); | |
75 | void SetTimeOffset(Float_t val, Int_t channel) {fTimeOffset[channel]=val;} | |
76 | void SetTimeOffset(Float_t* TimeOffset); | |
77 | void SetTimeGain(Float_t val, Int_t channel) {fTimeGain[channel]=val;} | |
78 | void SetTimeGain(Float_t* TimeGain); | |
79 | ||
80 | void SetParameter(TString name, Float_t val); | |
81 | void SetTimeResolution(UShort_t *resols); | |
82 | void SetTimeResolution(UShort_t resol, Int_t board); | |
83 | void SetWidthResolution(UShort_t *resols); | |
84 | void SetWidthResolution(UShort_t resol, Int_t board); | |
85 | ||
86 | Float_t GetMIPperADC(Int_t channel) const; | |
87 | ||
88 | protected: | |
89 | Float_t fPedestal[128]; // Mean pedestal values | |
90 | Float_t fSigma[128]; // Sigmas of pedestal peaks | |
91 | Float_t fADCmean[128]; // ADC mean values | |
92 | Float_t fADCsigma[128]; // ADC sigma values | |
93 | Float_t fMeanHV[64]; // Mean PMT HV needed to compute MIP value | |
94 | Float_t fWidthHV[64]; // Width of the PMT HV | |
95 | ||
96 | Float_t fGain[128]; // Gain factor used in digitization only | |
97 | Float_t fTimeOffset[64]; | |
98 | Float_t fTimeGain[64]; | |
99 | Bool_t fDeadChannel[64]; | |
100 | Float_t fTimeResolution[kNCIUBoards]; // Time Resolution of the TDC (ns / channel) | |
101 | Float_t fWidthResolution[kNCIUBoards]; // Time Width Resolution of the TDC (ns / channel) | |
102 | ||
103 | ClassDef(AliVZEROCalibData,4) // VZERO Calibration data | |
104 | }; | |
105 | ||
106 | #endif |