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 */
8 ////////////////////////////////////////////////
9 // Digitizer class for ZDC //
10 ////////////////////////////////////////////////
12 #include "AliDigitizer.h"
13 #include "AliCDBManager.h"
14 #include "AliCDBStorage.h"
15 #include "AliZDCPedestals.h"
18 class AliDigitizationInput;
24 class AliZDCDigitizer: public AliDigitizer {
28 AliZDCDigitizer(AliDigitizationInput* digInput);
29 virtual ~AliZDCDigitizer();
31 virtual Bool_t Init();
32 virtual void Digitize(Option_t* option=0);
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]
41 void SetADCRes(Int_t *adcRes) {for (Int_t i=0;i<2;i++) fADCRes[i] = adcRes[i];}
42 // Two conversion factor are needed for ADC CAEN V965
43 Float_t GetADCRes(Int_t i) const {return fADCRes[i];}
45 void SetCalibrationOn() {fIsCalibration=1;}
46 AliCDBStorage *SetStorage(const char* uri);
47 AliZDCPedestals *GetPedData() const;
49 void SetSpectators2Track() {fSpectators2Track=kTRUE;}
50 void SetBeamEnergy(Float_t beamEnergy) {fBeamEnergy = beamEnergy;}
52 // Added for p-A simulations
53 void SetpAsystem() {fIspASystem=kTRUE;}
56 void SetRELDISGenerator() {fIsRELDISgen=kTRUE;}
58 void SpectatorSignal(Int_t SpecType, Int_t numEvents, Float_t pm[3][5]);
63 AliZDCDigitizer(const AliZDCDigitizer&);
64 AliZDCDigitizer& operator=(const AliZDCDigitizer&);
66 void CalculatePMTGains();
69 void Fragmentation(Float_t impPar, Int_t specN, Int_t specP,
70 Int_t &freeSpecN, Int_t &freeSpecP) const;
72 Int_t Phe2ADCch(Int_t Detector, Int_t Quadrant, Float_t Light,
74 Int_t Pedestal(Int_t Detector, Int_t Quadrant, Int_t Res) const;
76 Float_t fPMGain[5][5]; // PM gain
77 Float_t fADCRes[2]; // ADC conversion factors
78 Int_t fIsCalibration; // !=0 if simulation creates calibration data
79 Bool_t fIsSignalInADCGate; // true if signal in ADC gate
80 Float_t fFracLostSignal; // fraction of lost signal
82 AliZDCPedestals *fPedData; //! pedestal calibration data
84 Bool_t fSpectators2Track; // should digitizer track spectators
85 Float_t fBeamEnergy; // beam energy
86 TString fBeamType; // beam type
88 // Added for p-A simulations
89 Bool_t fIspASystem; // true if collision system is p-A
92 Bool_t fIsRELDISgen; // true if generator is RELDIS
94 TFile *fSpectatorData; // pointer to stored spectator data files
96 ClassDef(AliZDCDigitizer, 15) // digitizer for ZDC