]>
Commit | Line | Data |
---|---|---|
ee700a83 | 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" | |
32c24147 | 14 | |
15 | class AliVZERODataDCS; | |
ee700a83 | 16 | |
17 | class AliVZEROCalibData: public TNamed { | |
18 | ||
19 | public: | |
d5deaaa5 | 20 | enum { kNCIUBoards = 8 }; |
21 | ||
ee700a83 | 22 | AliVZEROCalibData(); |
23 | AliVZEROCalibData(const char* name); | |
24 | AliVZEROCalibData(const AliVZEROCalibData &calibda); | |
25 | AliVZEROCalibData& operator= (const AliVZEROCalibData &calibda); | |
26 | virtual ~AliVZEROCalibData(); | |
fae0e0c0 | 27 | void Reset(); |
d5deaaa5 | 28 | void FillDCSData(AliVZERODataDCS * data); |
ee700a83 | 29 | |
30 | Float_t GetPedestal(Int_t channel) const {return fPedestal[channel];} | |
31 | Float_t* GetPedestal() const {return (float*)fPedestal;} | |
fae0e0c0 | 32 | Float_t GetSigma(Int_t channel) const {return fSigma[channel];} |
33 | Float_t* GetSigma() const {return (float*)fSigma;} | |
60a8e5df | 34 | Float_t GetADCmean(Int_t channel) const {return fADCmean[channel];} |
35 | Float_t* GetADCmean() const {return (float*)fADCmean;} | |
3bdfb56f | 36 | Float_t GetADCsigma(Int_t channel) const {return fADCsigma[channel];} |
37 | Float_t* GetADCsigma() const {return (float*)fADCsigma;} | |
60a8e5df | 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;} | |
7495d2be | 42 | Bool_t IsChannelDead(Int_t channel) const {return fDeadChannel[channel];} |
43 | Bool_t* GetDeadMap() const {return (bool*)fDeadChannel;} | |
60a8e5df | 44 | |
45 | Float_t GetGain(Int_t channel) const {return fGain[channel];} | |
46 | Float_t* GetGain() const {return (float*)fGain;} | |
fae0e0c0 | 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;} | |
d5deaaa5 | 51 | |
52 | Float_t* GetTimeResolution() const {return (Float_t*) fTimeResolution;}; | |
4bc15c46 | 53 | Float_t GetTimeResolution(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fTimeResolution[board]:0);}; |
d5deaaa5 | 54 | |
55 | Float_t* GetWidthResolution() const {return (Float_t*) fWidthResolution;}; | |
4bc15c46 | 56 | Float_t GetWidthResolution(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fWidthResolution[board]:0);}; |
32cd3fdc | 57 | |
58 | const UInt_t* GetMatchWindow() const { return fMatchWindow; } | |
59 | UInt_t GetMatchWindow(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fMatchWindow[board]:0); } | |
60 | const UInt_t* GetSearchWindow() const { return fSearchWindow; } | |
61 | UInt_t GetSearchWindow(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fSearchWindow[board]:0); } | |
62 | const UInt_t* GetTriggerCountOffset() const { return fTriggerCountOffset; } | |
63 | UInt_t GetTriggerCountOffset(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fTriggerCountOffset[board]:0); } | |
64 | const UInt_t* GetRollOver() const { return fRollOver; } | |
65 | UInt_t GetRollOver(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fRollOver[board]:0); } | |
60a8e5df | 66 | |
ee700a83 | 67 | void SetPedestal(Float_t val, Int_t channel) {fPedestal[channel]=val;} |
32c24147 | 68 | void SetPedestal(const Float_t* Pedestal); |
fae0e0c0 | 69 | void SetSigma(Float_t val, Int_t channel) {fSigma[channel]=val;} |
32c24147 | 70 | void SetSigma(const Float_t* Sigma); |
60a8e5df | 71 | void SetADCmean(Float_t val, Int_t channel) {fADCmean[channel]=val;} |
32c24147 | 72 | void SetADCmean(const Float_t* ADCmean); |
3bdfb56f | 73 | void SetADCsigma(Float_t val, Int_t channel) {fADCsigma[channel]=val;} |
32c24147 | 74 | void SetADCsigma(const Float_t* ADCsigma); |
60a8e5df | 75 | void SetMeanHV(Float_t val, Int_t channel) {fMeanHV[channel]=val;} |
32c24147 | 76 | void SetMeanHV(const Float_t* MeanHV); |
60a8e5df | 77 | void SetWidthHV(Float_t val, Int_t channel) {fWidthHV[channel]=val;} |
32c24147 | 78 | void SetWidthHV(const Float_t* WidthHV); |
7495d2be | 79 | void SetDeadChannel(Bool_t val, Int_t channel) {fDeadChannel[channel]=val;} |
32c24147 | 80 | void SetDeadMap(const Bool_t* deadMap); |
60a8e5df | 81 | |
82 | void SetGain(Float_t val, Int_t channel) {fGain[channel]=val;} | |
32c24147 | 83 | void SetGain(const Float_t* Gain); |
57c7500a | 84 | void SetTimeOffset(Float_t val, Int_t channel); |
32c24147 | 85 | void SetTimeOffset(const Float_t* TimeOffset); |
fae0e0c0 | 86 | void SetTimeGain(Float_t val, Int_t channel) {fTimeGain[channel]=val;} |
32c24147 | 87 | void SetTimeGain(const Float_t* TimeGain); |
d5deaaa5 | 88 | |
5978520a | 89 | void SetParameter(TString name, Int_t val); |
d5deaaa5 | 90 | void SetTimeResolution(UShort_t *resols); |
91 | void SetTimeResolution(UShort_t resol, Int_t board); | |
92 | void SetWidthResolution(UShort_t *resols); | |
93 | void SetWidthResolution(UShort_t resol, Int_t board); | |
706506da | 94 | |
32cd3fdc | 95 | void SetMatchWindow(UInt_t *windows); |
96 | void SetMatchWindow(UInt_t window, Int_t board); | |
97 | void SetSearchWindow(UInt_t *windows); | |
98 | void SetSearchWindow(UInt_t window, Int_t board); | |
99 | void SetTriggerCountOffset(UInt_t *offsets); | |
100 | void SetTriggerCountOffset(UInt_t offset, Int_t board); | |
101 | void SetRollOver(UInt_t *offsets); | |
102 | void SetRollOver(UInt_t offset, Int_t board); | |
103 | ||
706506da | 104 | Float_t GetMIPperADC(Int_t channel) const; |
105 | ||
ee700a83 | 106 | protected: |
fae0e0c0 | 107 | Float_t fPedestal[128]; // Mean pedestal values |
108 | Float_t fSigma[128]; // Sigmas of pedestal peaks | |
60a8e5df | 109 | Float_t fADCmean[128]; // ADC mean values |
3bdfb56f | 110 | Float_t fADCsigma[128]; // ADC sigma values |
60a8e5df | 111 | Float_t fMeanHV[64]; // Mean PMT HV needed to compute MIP value |
112 | Float_t fWidthHV[64]; // Width of the PMT HV | |
fae0e0c0 | 113 | |
60a8e5df | 114 | Float_t fGain[128]; // Gain factor used in digitization only |
32c24147 | 115 | Float_t fTimeOffset[64]; // Time offsets of the TDC |
116 | Float_t fTimeGain[64]; // Gain factors of the TDC | |
117 | Bool_t fDeadChannel[64]; // List of dead channels | |
d5deaaa5 | 118 | Float_t fTimeResolution[kNCIUBoards]; // Time Resolution of the TDC (ns / channel) |
119 | Float_t fWidthResolution[kNCIUBoards]; // Time Width Resolution of the TDC (ns / channel) | |
ee700a83 | 120 | |
32cd3fdc | 121 | UInt_t fMatchWindow[kNCIUBoards]; // HPTDC matching window (25ns units) |
122 | UInt_t fSearchWindow[kNCIUBoards];// HPTDC search window (25ns units) | |
123 | UInt_t fTriggerCountOffset[kNCIUBoards]; // HPTDC trigger count offset (25ns units) | |
124 | UInt_t fRollOver[kNCIUBoards]; // HPTDC roll-over (25ns units) | |
125 | ||
126 | ClassDef(AliVZEROCalibData,5) // VZERO Calibration data | |
ee700a83 | 127 | }; |
128 | ||
129 | #endif |