]>
Commit | Line | Data |
---|---|---|
8309c1ab | 1 | #ifndef ALIZDCDIGITIZER_H |
2 | #define ALIZDCDIGITIZER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //////////////////////////////////////////////// | |
9 | // Digitizer class for ZDC // | |
10 | //////////////////////////////////////////////// | |
11 | ||
12 | #include "AliDigitizer.h" | |
48642b09 | 13 | #include "AliCDBManager.h" |
14 | #include "AliCDBStorage.h" | |
6024ec85 | 15 | #include "AliZDCPedestals.h" |
16 | #include "AliZDCCalib.h" | |
17 | #include "AliZDCRecParam.h" | |
8309c1ab | 18 | |
19 | class AliRunDigitizer; | |
20 | ||
21 | class AliZDC; | |
22 | class AliZDCHit; | |
23 | class AliZDCMergedHit; | |
24 | class AliZDCDigit; | |
25 | ||
26 | class AliZDCDigitizer: public AliDigitizer { | |
27 | ||
28 | public: | |
29 | AliZDCDigitizer(); | |
30 | AliZDCDigitizer(AliRunDigitizer* manager); | |
31 | virtual ~AliZDCDigitizer(); | |
32 | ||
33 | virtual Bool_t Init(); | |
34 | virtual void Exec(Option_t* option=0); | |
35 | ||
36 | // PM gain | |
37 | void SetPMGain(Int_t det, Int_t pmDet, Int_t pmGain) | |
38 | {fPMGain[det][pmDet] = pmGain;} | |
39 | Float_t GetPMGain(Int_t det, Int_t pmDet) const | |
40 | {return fPMGain[det][pmDet];} | |
41 | // Conversion factor from charge to ADC channels | |
42 | // F = 1.6E-19 / Resolution [Coulomb/ch] | |
abf60186 | 43 | void SetADCRes(Int_t *adcRes) {for (Int_t i=0;i<2;i++) fADCRes[i] = adcRes[i];} |
8309c1ab | 44 | // Two conversion factor are needed for ADC CAEN V965 |
8309c1ab | 45 | Float_t GetADCRes(Int_t i) const {return fADCRes[i];} |
48642b09 | 46 | |
abf60186 | 47 | void SetCalibrationOn() {fIsCalibration=1;} |
78d18275 | 48 | AliCDBStorage *SetStorage(const char* uri); |
6024ec85 | 49 | AliZDCPedestals *GetPedData() const; |
50 | AliZDCCalib *GetCalibData() const; | |
51 | AliZDCRecParam *GetRecParam() const; | |
8309c1ab | 52 | |
53 | private: | |
cc2abffd | 54 | |
55 | AliZDCDigitizer(const AliZDCDigitizer&); | |
56 | AliZDCDigitizer& operator=(const AliZDCDigitizer&); | |
57 | ||
8309c1ab | 58 | void Fragmentation(Float_t impPar, Int_t specN, Int_t specP, |
59 | Int_t &freeSpecN, Int_t &freeSpecP) const; | |
60 | void SpectatorSignal(Int_t SpecType, Int_t numEvents, | |
61 | Float_t pm[3][5]) const; | |
62 | ||
63 | Int_t Phe2ADCch(Int_t Detector, Int_t Quadrant, Float_t Light, | |
64 | Int_t Res) const; | |
48642b09 | 65 | Int_t Pedestal(Int_t Detector, Int_t Quadrant, Int_t Res) const; |
8309c1ab | 66 | |
a017f01b | 67 | Float_t fPMGain[6][5]; // PM gain |
78d18275 | 68 | Float_t fADCRes[2]; // ADC conversion factors |
48642b09 | 69 | |
abf60186 | 70 | Int_t fIsCalibration; // !=0 if simulation creates calibration data |
6024ec85 | 71 | |
72 | AliZDCPedestals *fPedData; //! pedestal calibration data | |
73 | AliZDCCalib *fCalibData; //! energy and equalization calibration data | |
74 | AliZDCRecParam *fRecParam; //! parameters used in reconstruction | |
8309c1ab | 75 | |
6024ec85 | 76 | ClassDef(AliZDCDigitizer, 6) // digitizer for ZDC |
8309c1ab | 77 | }; |
78 | #endif |