]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALReconstructor.h
- Reset TProcessID count after each event
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALReconstructor.h
index dbe71ebf7445a5a423ff0958115eb58841ec6d77..755924356b2a96cc345f39e8881f11cd0c662139 100644 (file)
 // --- ROOT system ---
 
 #include "AliReconstructor.h" 
+#include "AliEMCALTracker.h" 
 class AliEMCALDigitizer ;
 class AliEMCALClusterizer ;
-class AliEMCALPID ;
 class AliEMCALSDigitizer ;
-class AliESD ;
-class AliRawReaderFile ; 
+class AliEMCALRecParam;
+class AliESDEvent ;
+class AliRawReader ;
+class AliEMCALRawUtils;
+class AliEMCALGeometry;
 
 // --- Standard library ---
 
@@ -31,19 +34,22 @@ class AliEMCALReconstructor : public AliReconstructor {
 public:
 
   AliEMCALReconstructor() ; //ctor            
-  AliEMCALReconstructor(const AliEMCALReconstructor & rec) : AliReconstructor(rec) {
-    // cpy ctor: 
-    // requested by the Coding Convention
-    Fatal("cpy ctor", "not implemented") ;
-  }
+  AliEMCALReconstructor(const AliEMCALReconstructor & rec);
    
   virtual ~AliEMCALReconstructor() ; //dtor
 
-  Bool_t                     Debug() const { return fDebug ; }
-  AliTracker *CreateTracker(AliRunLoader* runLoader) const;  
-  virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const ;
-  virtual void               Reconstruct(AliRunLoader* runLoader) const ;
-  virtual void               Reconstruct(AliRunLoader* runLoader, AliRawReaderFile * rawreader) const ;
+  Bool_t       Debug() const { return fDebug ; }
+
+  using AliReconstructor::FillESD;
+  virtual void FillESD(TTree* digitsTree, TTree* clustersTree, 
+                      AliESDEvent* esd) const;
+  AliTracker*  CreateTracker () const 
+  {return new AliEMCALTracker;} 
+  using AliReconstructor::Reconstruct;
+  virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
+
+  virtual Bool_t             HasDigitConversion() const {return kTRUE;};
+  virtual void               ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
   
   
   AliEMCALReconstructor & operator = (const AliEMCALReconstructor & /*rvalue*/)  {
@@ -52,12 +58,20 @@ public:
     return *this ; 
   }
   
+  void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;}
+
+  void InitRecParam() const;
+  static const AliEMCALRecParam* GetRecParam(){ return fgkRecParam;}
 
 private:
   
   Bool_t fDebug; //! verbosity controller
-  ClassDef(AliEMCALReconstructor,1)  // Reconstruction algorithm class (Base Class)
+  static AliEMCALRecParam*   fgkRecParam; // reconstruction parameters for EMCAL
+  static AliEMCALRawUtils*   fgRawUtils;  // raw utilities class -
+                                         // only need one per reco
+  AliEMCALGeometry         *fGeom;           // pointer to the EMCAL geometry
+
+  ClassDef(AliEMCALReconstructor,3)  // Reconstruction algorithm class (Base Class)
 
 };