]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AD/AliADCalibData.h
macros developed by Luca Barioglio for patterns analysis
[u/mrichter/AliRoot.git] / AD / AliADCalibData.h
CommitLineData
5e319bd5 1#ifndef ALIADCALIBDATA_H
2#define ALIADCALIBDATA_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7#include "TNamed.h"
aa8120bb 8#include "AliADConst.h"
5e319bd5 9class AliADCalibData: public TNamed {
10
11 public:
12 AliADCalibData();
13 AliADCalibData(const char* name);
14
15 AliADCalibData(const AliADCalibData &calibda);
16 AliADCalibData& operator= (const AliADCalibData &calibda);
17 virtual ~AliADCalibData();
18 void Reset();
19
aa8120bb 20 Float_t GetPedestal(Int_t channel) const {return fPedestal[channel];}
21 Float_t* GetPedestal() const {return (float*)fPedestal;}
22 Float_t GetSigma(Int_t channel) const {return fSigma[channel];}
23 Float_t* GetSigma() const {return (float*)fSigma;}
24 Float_t GetADCmean(Int_t channel) const {return fADCmean[channel];}
25 Float_t* GetADCmean() const {return (float*)fADCmean;}
26 Float_t GetADCsigma(Int_t channel) const {return fADCsigma[channel];}
27 Float_t* GetADCsigma() const {return (float*)fADCsigma;}
28 Float_t GetMeanHV(Int_t channel) const {return fMeanHV[channel];}
29 Float_t* GetMeanHV() const {return (float*)fMeanHV;}
30 Float_t GetWidthHV(Int_t channel) const {return fWidthHV[channel];}
31 Float_t* GetWidthHV() const {return (float*)fWidthHV;}
32 Bool_t IsChannelDead(Int_t channel) const {return fDeadChannel[channel];}
33 Bool_t* GetDeadMap() const {return (bool*)fDeadChannel;}
34
35 Float_t GetGain(Int_t channel);
36 Float_t GetTimeOffset(Int_t channel) const {return fTimeOffset[channel];}
37 Float_t* GetTimeOffset() const {return (float*)fTimeOffset;}
38 Float_t GetTimeGain(Int_t channel) const {return fTimeGain[channel];}
39 Float_t* GetTimeGain() const {return (float*)fTimeGain;}
40
41 Float_t* GetTimeResolution() const {return (Float_t*) fTimeResolution;};
42 Float_t GetTimeResolution(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fTimeResolution[board]:0);};
43
44 Float_t* GetWidthResolution() const {return (Float_t*) fWidthResolution;};
45 Float_t GetWidthResolution(Int_t board ) const {return ((board>=0 && board<kNCIUBoards)?fWidthResolution[board]:0);};
46
47 const UInt_t* GetMatchWindow() const { return fMatchWindow; }
48 UInt_t GetMatchWindow(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fMatchWindow[board]:0); }
49 const UInt_t* GetSearchWindow() const { return fSearchWindow; }
50 UInt_t GetSearchWindow(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fSearchWindow[board]:0); }
51 const UInt_t* GetTriggerCountOffset() const { return fTriggerCountOffset; }
52 UInt_t GetTriggerCountOffset(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fTriggerCountOffset[board]:0); }
53 const UInt_t* GetRollOver() const { return fRollOver; }
54 UInt_t GetRollOver(Int_t board) const { return ((board>=0 && board<kNCIUBoards)?fRollOver[board]:0); }
55
56 Float_t GetDiscriThr(Int_t channel) const {return fDiscriThr[channel];}
57 Float_t* GetDiscriThr() const {return (Float_t*)fDiscriThr;}
58
59 static Int_t GetBoardNumber(Int_t channel);
60
61 Float_t GetLightYields(Int_t channel);
62
63 Float_t *GetPMGainsA() const { return fPMGainsA; }
64 Float_t *GetPMGainsB() const { return fPMGainsB; }
65
66 Float_t GetCalibDiscriThr(Int_t channel, Bool_t scaled);
5e319bd5 67
68
69 protected:
aa8120bb 70 void InitLightYields();
71 void InitPMGains();
72
73 Float_t fPedestal[32]; // Mean pedestal values
74 Float_t fSigma[32]; // Sigmas of pedestal peaks
75 Float_t fADCmean[32]; // ADC mean values
76 Float_t fADCsigma[32]; // ADC sigma values
77 Float_t fMeanHV[16]; // Mean PMT HV needed to compute MIP value
78 Float_t fWidthHV[16]; // Width of the PMT HV
79
80 Float_t fTimeOffset[16]; // Time offsets of the TDC
81 Float_t fTimeGain[16]; // Gain factors of the TDC
82 Bool_t fDeadChannel[16]; // List of dead channels
83 Float_t fTimeResolution[kNCIUBoards]; // Time Resolution of the TDC (ns / channel)
84 Float_t fWidthResolution[kNCIUBoards]; // Time Width Resolution of the TDC (ns / channel)
85
86 UInt_t fMatchWindow[kNCIUBoards]; // HPTDC matching window (25ns units)
87 UInt_t fSearchWindow[kNCIUBoards];// HPTDC search window (25ns units)
88 UInt_t fTriggerCountOffset[kNCIUBoards]; // HPTDC trigger count offset (25ns units)
89 UInt_t fRollOver[kNCIUBoards]; // HPTDC roll-over (25ns units)
90
91 Float_t fDiscriThr[16]; // Discriminator thresholds
92
93 Float_t *fLightYields; //! Light Yields channel by channel (read from separate OCDB entry)
94 Float_t *fPMGainsA; //! PM gain factors channel by channel (read from separate OCDB entry)
95 Float_t *fPMGainsB; //! PM gain factors channel by channel (read from separate OCDB entry)
5e319bd5 96
97 ClassDef(AliADCalibData,1) // AD Calibration data
98};
99
100#endif
101