]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ZDC/AliZDCDigitizer.h
Update of calibration procedures
[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 #include "AliCDBManager.h"
14 #include "AliCDBStorage.h"
15 #include "AliZDCCalibData.h"
16
17 class AliRunDigitizer;
18
19 class AliZDC;
20 class AliZDCHit;
21 class AliZDCMergedHit;
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]
41   void    SetADCRes(Int_t *adcRes)
42   //  Two conversion factor are needed for ADC CAEN V965 
43     {for (Int_t i=0;i<2;i++) fADCRes[i] = adcRes[i];}
44   Float_t GetADCRes(Int_t i) const {return fADCRes[i];}
45   
46   void   GetStorage(const char* uri) {fStorage = AliCDBManager::Instance()->GetStorage(uri);}
47   AliCDBStorage   *SetStorage(const char* uri);
48   AliZDCCalibData *GetCalibData(int runNumber) const; 
49
50 private:
51   void    Fragmentation(Float_t impPar, Int_t specN, Int_t specP,
52                         Int_t &freeSpecN, Int_t &freeSpecP) const;
53   void    SpectatorSignal(Int_t SpecType, Int_t numEvents, 
54                           Float_t pm[3][5]) const;
55
56   Int_t   Phe2ADCch(Int_t Detector, Int_t Quadrant, Float_t Light, 
57                     Int_t Res) const;
58   Int_t   Pedestal(Int_t Detector, Int_t Quadrant, Int_t Res) const;
59
60   Float_t fPMGain[3][5];        // PM gain
61   Float_t fADCRes[2];           // ADC conversion factors
62   
63   AliCDBStorage *fStorage;      //! storage
64   AliZDCCalibData *fCalibData;  //! calibration data
65        
66   ClassDef(AliZDCDigitizer, 3)     // digitizer for ZDC
67 };    
68 #endif