/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-//_________________________________________________________________________
-//
-// Class for making Digits in VZERO
-//_________________________________________________________________________
+///_________________________________________________________________________
+///
+/// Class for making Digits in VZERO
+///_________________________________________________________________________
-#include "AliDigitizer.h"
-#include "TString.h"
-
-class TClonesArray;
-class TFile;
-class TMath;
-class TObjArray;
-class TParticle;
-class TTree;
-class TNtuple;
-
-class AliLoader;
-class AliRunLoader;
-class AliRun;
-class AliDetector;
-class AliVZEROhit;
-class AliHit;
-class AliHeader;
-class AliRunDigitizer;
-
-class AliVZEROcell;
-class AliVZEROsdigit;
-class AliVZEROdigit;
-
// --- Standard library ---
// --- AliRoot header files ---
-class AliRunLoader;
+#include "AliDigitizer.h"
+
+class TClonesArray;
+class AliRunDigitizer;
+class AliCDBManager;
+class AliCDBStorage;
+class AliVZEROCalibData;
class AliVZERODigitizer: public AliDigitizer {
-public:
+ public:
- AliVZERODigitizer() ; // constructor
- AliVZERODigitizer(AliRunDigitizer *manager);// constructor
- virtual ~AliVZERODigitizer() ; // destructor
+ AliVZERODigitizer() ; // constructor
+ AliVZERODigitizer(AliRunDigitizer *manager);// constructor
+ virtual ~AliVZERODigitizer() ; // destructor
- void OpengAliceFile(const char *file);
- char *GetDigitsFile()const{return (char*) fDigitsFile.Data();}
- virtual void Exec();
- void AddDigit(Int_t /* eventnumber */, Int_t /* cellnumber */, Int_t /* adc */);
- void SetNEvents(Int_t Nevents){fNevents = Nevents;}
- void ResetDigit();
- Stat_t GetNEvents(){return fNevents;}
+ virtual Bool_t Init();
+ virtual void Exec(Option_t* option=0);
+
+ void AddDigit(Int_t PMnumber, Float_t adc, Float_t time);
+ void ResetDigit();
+ void GetCollisionMode();
+ void GetCollisionMode(Int_t collisionMode, Float_t beamEnergy)
+ {fCollisionMode=collisionMode; fBeamEnergy=beamEnergy;}
+
+ AliVZEROCalibData *GetCalibData() const;
+ Int_t GetPMNumber(Int_t cell) const;
+ protected:
+
+ AliVZEROCalibData *fCalibData; //! calibration data
+
private:
- Int_t fNevents; // Number of events to digitize
- Int_t fNdigits; // Number of digits
- TString fDigitsFile ; // output file
- TString fHeadersFile; // input file
+ AliVZERODigitizer(const AliVZERODigitizer& /*digitizer*/);
+
+ AliVZERODigitizer& operator = (const AliVZERODigitizer& /*digitizer*/);
- Float_t fPhotoCathodeEfficiency; // Photocathode efficiency
- Float_t fPMVoltage ; // Photomultiplier voltage
- Float_t fPMGain; // Photomultiplier gain
-
- protected:
-
- AliRunLoader *fRunLoader; // Pointer to Run Loader
- AliVZEROhit *fVZEROHit; // Pointer to specific detector hits
- AliDetector *fVZERO; // Get pointers to Alice detectors
- // and Hit containers
- AliLoader *fVZEROLoader; // Pointer to specific detector loader
-
- TClonesArray *fHits; // Pointer to hit array
- TParticle *fParticle; // Pointer to a given particle
-
- TTree *fTreeH; // Hits tree
- TTree *fTreeD; // Digits tree
-
- TClonesArray *fDigits; // List of digits
-
- ClassDef(AliVZERODigitizer,1)
+ Float_t fPhotoCathodeEfficiency; // Photocathode efficiency
+ Float_t fPMVoltage ; // Photomultiplier voltage
+ Float_t fPMGain; // Photomultiplier gain
+
+ Int_t fNdigits; //! Number of digits
+ TClonesArray *fDigits; //! List of digits
+
+ Int_t fCollisionMode; // =0->p-p, =1->A-A
+ Float_t fBeamEnergy; // beam energy
+
+ ClassDef(AliVZERODigitizer,2) // digitizer for VZERO
};