472bd599d93fd5593999c5b8c0a6265ff7574dc1
[u/mrichter/AliRoot.git] / VZERO / AliVZERODigitizer.h
1 #ifndef ALIVZERODigitizer_H
2 #define ALIVZERODigitizer_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5   
6 ///_________________________________________________________________________
7 ///
8 ///  Class for making Digits in VZERO 
9 ///_________________________________________________________________________   
10
11
12 // --- Standard library ---
13
14 // --- AliRoot header files ---
15
16 #include "AliDigitizer.h"
17
18 class TClonesArray;
19 class TF1;
20 class AliRunDigitizer;
21 class AliCDBManager;
22 class AliCDBStorage;
23 class AliVZEROCalibData;
24
25 class AliVZERODigitizer: public AliDigitizer {
26
27  public:
28
29    AliVZERODigitizer() ;                       // constructor
30    AliVZERODigitizer(AliRunDigitizer *manager);// constructor
31    virtual ~AliVZERODigitizer() ;              // destructor
32   
33    virtual Bool_t Init();
34    virtual void   Exec(Option_t* option=0);
35
36    void AddDigit(Int_t PMnumber, Float_t adc, Float_t time);
37    void ResetDigit();
38    void GetCollisionMode();
39    void GetCollisionMode(Int_t collisionMode, Float_t beamEnergy) 
40                         {fCollisionMode=collisionMode; fBeamEnergy=beamEnergy;}
41                                                 
42    AliVZEROCalibData *GetCalibData() const;
43    Int_t GetPMNumber(Int_t cell) const;
44
45    TF1*   GetSignalShape() const { return fSignalShape; }
46    double SignalShape(double *x, double *par);
47
48  protected:
49  
50    AliVZEROCalibData *fCalibData;  //! calibration data
51  
52  private:
53  
54    AliVZERODigitizer(const AliVZERODigitizer& /*digitizer*/); 
55       
56    AliVZERODigitizer& operator = (const AliVZERODigitizer& /*digitizer*/); 
57   
58    Float_t  fPhotoCathodeEfficiency; // Photocathode efficiency
59    Float_t  fPMVoltage ;             // Photomultiplier voltage
60    Float_t  fPMGain;                 // Photomultiplier gain
61
62    Int_t    fNdigits;                //! Number of digits
63    TClonesArray *fDigits;            //! List of digits
64    
65    Int_t    fCollisionMode;          // =0->p-p, =1->A-A
66    Float_t  fBeamEnergy;             // beam energy
67
68    TF1*     fSignalShape;            // function which describes the PMT signal shape
69    
70    ClassDef(AliVZERODigitizer,3)     // digitizer for VZERO
71
72 };
73
74 #endif // AliVZERODigitizer_H