Remove stale email recipient.
[u/mrichter/AliRoot.git] / VZERO / AliVZERO.h
index 8b9778e..c208764 100755 (executable)
 
 class TNamed;
 class TTree;
+class TF1;
 
 class AliVZEROLoader;
 class AliVZEROhit; 
 class AliVZEROdigit;
+class AliVZEROCalibData;
+class AliVZERORecoParam;
   
 class AliVZERO : public AliDetector {
  
 public:
 
-  AliVZERO() {}
+  AliVZERO();
   AliVZERO(const char *name, const char *title);
   virtual       ~AliVZERO();
-//  virtual void   AddHit(Int_t track , Int_t *vol, Float_t *hits)=0; 
-//  virtual void   AddDigits(Int_t* tracks, Int_t* digits)=0;
-  virtual void   BuildGeometry();
+
   virtual void   CreateGeometry();
   virtual void   CreateMaterials();
   virtual void   AddAlignableVolumes() const {}
-  virtual Int_t  DistanceToPrimitive(Int_t px, Int_t py);
   virtual Int_t  IsVersion() const = 0;
   virtual void   Init();
   virtual AliLoader* MakeLoader(const char* topfoldername);
   virtual void   Hits2Digits();
+  virtual void   Hits2SDigits();
   virtual void   Digits2Raw();
+  virtual Bool_t Raw2SDigits(AliRawReader*);
   virtual void   SetTreeAddress();  
   virtual void   MakeBranch(Option_t *option) =0;
-  virtual void   DrawModule() const {};
   virtual void   StepManager() {};
 // Trigger 
   virtual AliTriggerDetector* CreateTriggerDetector() const 
@@ -62,7 +63,11 @@ public:
   virtual void   SetMaxDestepQua(Float_t p1);
   virtual void   SetMaxDestepAlu(Float_t p1);
 
-  AliDigitizer*  CreateDigitizer(AliRunDigitizer* manager) const;
+  AliDigitizer*  CreateDigitizer(AliDigitizationInput* digInput) const;
+
+  void           GetCalibData();
+  Float_t        CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
+  double         SignalShape(double *x, double *par);
 
 protected:
 
@@ -75,8 +80,19 @@ protected:
    Float_t fMaxStepAlu;   // Maximum step size inside the  aluminum volumes
    Float_t fMaxDestepQua; // Maximum relative energy loss in quartz
    Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum
-  
-  ClassDef(AliVZERO,1)  //Class for the VZERO detector
+
+private:
+   AliVZERO(const AliVZERO& /*vzero*/); 
+   AliVZERO& operator = (const AliVZERO& /*vzero*/); 
+
+   AliVZEROCalibData *fCalibData;      //! Pointer to the calibration object
+   Int_t              fNBins[64];      //! Number of bins in each SDigit
+   Float_t            fBinSize[64];    //! Bin size in each SDigit
+   TF1*               fTimeSlewing;    //! Function for time slewing correction
+   TF1*               fSignalShape;    //! Function for signal shape used in Raw->SDigits
+   AliVZERORecoParam *fRecoParam;      //! Reco params used in Raw->SDigits
+
+  ClassDef(AliVZERO,2)  //Class for the VZERO detector
 };
 
 //____________________________________________________________