]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZERODigitizer.h
fix finding of pad neighbours; remove methods to write them in OCDB
[u/mrichter/AliRoot.git] / VZERO / AliVZERODigitizer.h
index 8eedd86c5ecc59f1fe4d2152793d88a68d34befa..45a019c76b5e1af848ddb29a24d3e1d9c78b1956 100644 (file)
 
 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, Short_t *chargeADC, Int_t *labels);
-   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
 
 };