Splitted libraries
[u/mrichter/AliRoot.git] / ZDC / AliZDCDigitizer.h
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
14 class AliRunDigitizer;
15
16 class AliZDC;
17 class AliZDCHit;
18 class AliZDCMergedHit;
19 class AliZDCDigit;
20
21 class AliZDCDigitizer: public AliDigitizer {
22
23 public:
24   AliZDCDigitizer();
25   AliZDCDigitizer(AliRunDigitizer* manager);
26   virtual ~AliZDCDigitizer();
27    
28   virtual Bool_t Init();
29   virtual void Exec(Option_t* option=0);    
30
31   //  PM gain
32   void    SetPMGain(Int_t det, Int_t pmDet, Int_t pmGain)
33     {fPMGain[det][pmDet] = pmGain;}
34   Float_t GetPMGain(Int_t det, Int_t pmDet) const
35     {return fPMGain[det][pmDet];}
36   //  Conversion factor from charge to ADC channels
37   //          F = 1.6E-19 / Resolution [Coulomb/ch]
38   void    SetADCRes(Int_t *adcRes)
39   //  Two conversion factor are needed for ADC CAEN V965 
40     {for (Int_t i=0;i<2;i++) fADCRes[i] = adcRes[i];}
41   Float_t GetADCRes(Int_t i) const {return fADCRes[i];}
42
43 private:
44   void    Fragmentation(Float_t impPar, Int_t specN, Int_t specP,
45                         Int_t &freeSpecN, Int_t &freeSpecP) const;
46   void    SpectatorSignal(Int_t SpecType, Int_t numEvents, 
47                           Float_t pm[3][5]) const;
48
49   Int_t   Phe2ADCch(Int_t Detector, Int_t Quadrant, Float_t Light, 
50                     Int_t Res) const;
51   Int_t   Pedestal() const;
52
53   Float_t fPMGain[3][5];      // PM gain
54   Float_t fADCRes[2];         // ADC conversion factors
55
56        
57   ClassDef(AliZDCDigitizer, 2)     // digitizer for ZDC
58 };    
59 #endif