]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - ZDC/AliZDCDigitizer.h
Index for pedestal subtraction corrected
[u/mrichter/AliRoot.git] / ZDC / AliZDCDigitizer.h
... / ...
CommitLineData
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"
13#include "AliCDBManager.h"
14#include "AliCDBStorage.h"
15#include "AliZDCPedestals.h"
16#include "AliZDCCalib.h"
17#include "AliZDCRecParam.h"
18
19class AliRunDigitizer;
20
21class AliZDC;
22class AliZDCHit;
23class AliZDCMergedHit;
24class AliZDCDigit;
25
26class AliZDCDigitizer: public AliDigitizer {
27
28public:
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]
43 void SetADCRes(Int_t *adcRes) {for (Int_t i=0;i<2;i++) fADCRes[i] = adcRes[i];}
44 // Two conversion factor are needed for ADC CAEN V965
45 Float_t GetADCRes(Int_t i) const {return fADCRes[i];}
46
47 void SetCalibrationOn() {fIsCalibration=1;}
48 AliCDBStorage *SetStorage(const char* uri);
49 AliZDCPedestals *GetPedData() const;
50 AliZDCCalib *GetCalibData() const;
51 AliZDCRecParam *GetRecParam() const;
52
53private:
54
55 AliZDCDigitizer(const AliZDCDigitizer&);
56 AliZDCDigitizer& operator=(const AliZDCDigitizer&);
57
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;
65 Int_t Pedestal(Int_t Detector, Int_t Quadrant, Int_t Res) const;
66
67 Float_t fPMGain[6][5]; // PM gain
68 Float_t fADCRes[2]; // ADC conversion factors
69
70 Int_t fIsCalibration; // !=0 if simulation creates calibration data
71
72 AliZDCPedestals *fPedData; //! pedestal calibration data
73 AliZDCCalib *fCalibData; //! energy and equalization calibration data
74 AliZDCRecParam *fRecParam; //! parameters used in reconstruction
75
76 ClassDef(AliZDCDigitizer, 6) // digitizer for ZDC
77};
78#endif