]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALReconstructor.h
Fix for possible use of AliCFManager without containers, just cuts.
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALReconstructor.h
index fad05183984438032c3ea80431724e154cfccc7b..76830df6c31c6bb06e33b76b9062118541fc31a4 100644 (file)
 //*-- Author: Yves Schutz (SUBATECH) 
 //*--         Dmitri Peressounko (SUBATECH & Kurchatov Institute)
 
-
 // --- ROOT system ---
-
+#include "AliEMCALRecParam.h"
 #include "AliReconstructor.h" 
+#include "AliEMCALTracker.h" 
+
+class TList;
+class TClonesArray;
+class TTree;
+
 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,18 +38,23 @@ 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 ; }
-  virtual void               FillESD(AliRunLoader* runLoader, AliESD* esd) const ;
-  virtual void               Reconstruct(AliRunLoader* runLoader) const ;
-  virtual void               Reconstruct(AliRunLoader* runLoader, AliRawReaderFile * rawreader) const ;
+  virtual  void Init();
+  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*/)  {
@@ -51,12 +63,32 @@ public:
     return *this ; 
   }
   
+  static void   SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;}
+
+  void   ReadDigitsArrayFromTree(TTree *digitsTree) const;
+
+  TList *GetList() {return fList;}
+
+  static const AliEMCALRecParam* GetRecParam() { 
+    return dynamic_cast<const AliEMCALRecParam*>(AliReconstructor::GetRecoParam(6)); }
+
+  static TClonesArray* GetDigitsArr() {return fgDigitsArr;}
 
 private:
   
   Bool_t fDebug; //! verbosity controller
-  ClassDef(AliEMCALReconstructor,1)  // Reconstruction algorithm class (Base Class)
+
+  TList *fList;  //! List of hists (only for trigger now)
+  AliEMCALGeometry         *fGeom;           // pointer to the EMCAL geometry
+
+  static AliEMCALClusterizer* fgClusterizer; // clusterizer
+  static const AliEMCALRecParam*   fgkRecParam; // reconstruction
+                                               // parameters for EMCAL
+  static AliEMCALRawUtils*   fgRawUtils;  // raw utilities class -
+                                         // only need one per reco
+  static TClonesArray*       fgDigitsArr; // Array with EMCAL digits
+
+  ClassDef(AliEMCALReconstructor,6)  // Reconstruction algorithm class (Base Class)
 
 };