1 #ifndef ALIVZEROCALIBDATA_H
2 #define ALIVZEROCALIBDATA_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////
9 // class for VZERO calibration //
11 ////////////////////////////////////////////////
15 #include "AliVZERODataDCS.h"
17 class AliVZEROCalibData: public TNamed {
20 enum { kNCIUBoards = 8 };
23 AliVZEROCalibData(const char* name);
24 AliVZEROCalibData(const AliVZEROCalibData &calibda);
25 AliVZEROCalibData& operator= (const AliVZEROCalibData &calibda);
26 virtual ~AliVZEROCalibData();
28 void FillDCSData(AliVZERODataDCS * data);
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;}
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;}
52 Float_t* GetTimeResolution() const {return (Float_t*) fTimeResolution;};
53 Float_t GetTimeResolution(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fTimeResolution[board]:0);};
55 Float_t* GetWidthResolution() const {return (Float_t*) fWidthResolution;};
56 Float_t GetWidthResolution(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fWidthResolution[board]:0);};
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);
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);
80 void SetParameter(TString name, Int_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);
86 Float_t GetMIPperADC(Int_t channel) const;
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
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)
103 ClassDef(AliVZEROCalibData,4) // VZERO Calibration data