]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZERO.h
New macro for generating MC OCDB for PbPb.
[u/mrichter/AliRoot.git] / VZERO / AliVZERO.h
index 249eeacb9ae28b9123851e41a7579842f52962db..9f8b8856f1c35950e8d12320b9dc615904065c59 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 Int_t  DistanceToPrimitive(Int_t px, Int_t py);
+  virtual void   AddAlignableVolumes() const {}
   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 {};
@@ -63,6 +66,10 @@ public:
 
   AliDigitizer*  CreateDigitizer(AliRunDigitizer* manager) const;
 
+  void           GetCalibData();
+  Float_t        CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
+  double         SignalShape(double *x, double *par);
+
 protected:
 
    Int_t   fIdSens1;      // Sensitive volume  in VZERO
@@ -74,8 +81,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
 };
 
 //____________________________________________________________