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