X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=VZERO%2FAliVZERODigitizer.h;h=45a019c76b5e1af848ddb29a24d3e1d9c78b1956;hb=004e39197b1ce239ff863edb8a8d978479a3e4e1;hp=1de1931b8f1a1c26e0f0dd89a5c9d1f470554896;hpb=4e2652e87f74d93bcb262178ce5060612ea22043;p=u%2Fmrichter%2FAliRoot.git diff --git a/VZERO/AliVZERODigitizer.h b/VZERO/AliVZERODigitizer.h index 1de1931b8f1..45a019c76b5 100644 --- a/VZERO/AliVZERODigitizer.h +++ b/VZERO/AliVZERODigitizer.h @@ -19,24 +19,40 @@ class TClonesArray; class TF1; -class AliRunDigitizer; +class AliDigitizationInput; class AliCDBManager; class AliCDBStorage; class AliVZEROCalibData; +class AliVZERO; class AliVZERODigitizer: public AliDigitizer { public: - AliVZERODigitizer() ; // constructor - AliVZERODigitizer(AliRunDigitizer *manager);// constructor - virtual ~AliVZERODigitizer() ; // destructor + enum DigiTask_t { + kHits2Digits, + kHits2SDigits + }; - virtual Bool_t Init(); - virtual void Exec(Option_t* option=0); + AliVZERODigitizer() ; // default constructor + AliVZERODigitizer(AliVZERO *vzero, DigiTask_t task); // constructor + AliVZERODigitizer(AliDigitizationInput* digInput); // constructor + virtual ~AliVZERODigitizer() ; // destructor - void AddDigit(Int_t PMnumber, Float_t adc, Float_t time, Float_t width, Bool_t integrator); - void ResetDigit(); + virtual Bool_t Init(); + virtual void Digitize(Option_t* option=0); + + void DigitizeHits(); + void DigitizeSDigits(); + void WriteDigits(AliLoader *loader); + void WriteSDigits(AliLoader *loader); + void ReadSDigits(); + + void AddDigit(Int_t pmnumber, Float_t time, Float_t width, Bool_t integrator, Short_t *chargeADC, Int_t *labels); + void AddSDigit(Int_t pmnumber, Int_t nbins, Float_t *charges, Int_t *labels); + TClonesArray* DigitsArray(); + TClonesArray* SDigitsArray(); + void ResetDigits(); AliVZEROCalibData *GetCalibData() const; @@ -78,10 +94,16 @@ class AliVZERODigitizer: public AliDigitizer { Int_t fNBinsLT[64]; //! Number of bins in fTime container (match window only) Float_t fBinSize[64]; //! Bin size in fTime container Float_t fHptdcOffset[64]; //! HPTDC time offsets channel by channel + Float_t fClockOffset[64]; //! Clock offsets channel by channel Float_t *fTime[64]; //! Main container used in digitization - - ClassDef(AliVZERODigitizer,5) // digitizer for VZERO + Int_t fLabels[64][3]; //! Container for MC labels + Bool_t fEvenOrOdd; //! Choise of integrator in central ADC sample + + DigiTask_t fTask; //! The task (to be) executed by the digitizer + AliVZERO *fVZERO; //! Pointer to AliDetector object + + ClassDef(AliVZERODigitizer,7) // digitizer for VZERO };