]>
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" | |
8309c1ab | 17 | |
18 | class AliRunDigitizer; | |
19 | ||
20 | class AliZDC; | |
21 | class AliZDCHit; | |
8309c1ab | 22 | class AliZDCDigit; |
23 | ||
24 | class AliZDCDigitizer: public AliDigitizer { | |
25 | ||
26 | public: | |
27 | AliZDCDigitizer(); | |
28 | AliZDCDigitizer(AliRunDigitizer* manager); | |
29 | virtual ~AliZDCDigitizer(); | |
30 | ||
31 | virtual Bool_t Init(); | |
32 | virtual void Exec(Option_t* option=0); | |
33 | ||
34 | // PM gain | |
35 | void SetPMGain(Int_t det, Int_t pmDet, Int_t pmGain) | |
36 | {fPMGain[det][pmDet] = pmGain;} | |
37 | Float_t GetPMGain(Int_t det, Int_t pmDet) const | |
38 | {return fPMGain[det][pmDet];} | |
39 | // Conversion factor from charge to ADC channels | |
40 | // F = 1.6E-19 / Resolution [Coulomb/ch] | |
abf60186 | 41 | void SetADCRes(Int_t *adcRes) {for (Int_t i=0;i<2;i++) fADCRes[i] = adcRes[i];} |
8309c1ab | 42 | // Two conversion factor are needed for ADC CAEN V965 |
8309c1ab | 43 | Float_t GetADCRes(Int_t i) const {return fADCRes[i];} |
48642b09 | 44 | |
abf60186 | 45 | void SetCalibrationOn() {fIsCalibration=1;} |
78d18275 | 46 | AliCDBStorage *SetStorage(const char* uri); |
6024ec85 | 47 | AliZDCPedestals *GetPedData() const; |
48 | AliZDCCalib *GetCalibData() const; | |
70ecaffe | 49 | |
50 | void SetSpectators2Track() {fSpectators2Track=kTRUE;} | |
8309c1ab | 51 | |
52 | private: | |
cc2abffd | 53 | |
54 | AliZDCDigitizer(const AliZDCDigitizer&); | |
55 | AliZDCDigitizer& operator=(const AliZDCDigitizer&); | |
56 | ||
8309c1ab | 57 | void Fragmentation(Float_t impPar, Int_t specN, Int_t specP, |
58 | Int_t &freeSpecN, Int_t &freeSpecP) const; | |
59 | void SpectatorSignal(Int_t SpecType, Int_t numEvents, | |
60 | Float_t pm[3][5]) const; | |
61 | ||
62 | Int_t Phe2ADCch(Int_t Detector, Int_t Quadrant, Float_t Light, | |
63 | Int_t Res) const; | |
48642b09 | 64 | Int_t Pedestal(Int_t Detector, Int_t Quadrant, Int_t Res) const; |
8309c1ab | 65 | |
a017f01b | 66 | Float_t fPMGain[6][5]; // PM gain |
78d18275 | 67 | Float_t fADCRes[2]; // ADC conversion factors |
abf60186 | 68 | Int_t fIsCalibration; // !=0 if simulation creates calibration data |
fd9afd60 | 69 | Bool_t fIsSignalInADCGate; // true if signal in ADC gate |
70 | Float_t fFracLostSignal; // fraction of lost signal | |
6024ec85 | 71 | |
72 | AliZDCPedestals *fPedData; //! pedestal calibration data | |
73 | AliZDCCalib *fCalibData; //! energy and equalization calibration data | |
70ecaffe | 74 | |
75 | Bool_t fSpectators2Track; // should digitizer track spectators | |
8309c1ab | 76 | |
70ecaffe | 77 | ClassDef(AliZDCDigitizer, 9) // digitizer for ZDC |
8309c1ab | 78 | }; |
79 | #endif |