Major commit related to steering of the reco parameters: AliDAQ and trigger classes...
[u/mrichter/AliRoot.git] / TPC / AliTPCReconstructor.h
index babcf6a..56870f0 100644 (file)
@@ -6,26 +6,40 @@
 /* $Id$ */
 
 #include "AliReconstructor.h"
+#include "AliTPCRecoParam.h"
 
 class AliTPCParam;
-
+class AliTPCclustererMI;
 
 class AliTPCReconstructor: public AliReconstructor {
 public:
-  AliTPCReconstructor(): AliReconstructor() {};
-  virtual ~AliTPCReconstructor() {};
+  AliTPCReconstructor();
+  virtual ~AliTPCReconstructor();
 
-  virtual void         Reconstruct(AliRunLoader* runLoader) const;
-  virtual AliTracker*  CreateTracker(AliRunLoader* runLoader) const;
-  virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const;
+  virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
+  virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
 
-  static void SetCtgRange(Double_t ctgRange = 1.05) {fgCtgRange = ctgRange;}
-  static Double_t GetCtgRange(){ return fgCtgRange;}
+  virtual AliTracker*  CreateTracker() const;
 
-private:
-  AliTPCParam*         GetTPCParam(AliRunLoader* runLoader) const;
+  virtual void         FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, 
+                              AliESDEvent* esd) const;
+  virtual void         FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
+                              AliESDEvent* esd) const
+  {FillESD((TTree*)NULL,(TTree*)NULL,esd);}
+
+  static const AliTPCRecoParam* GetRecoParam() { return dynamic_cast<const AliTPCRecoParam*>(AliReconstructor::GetRecoParam(1)); }
+  //
+  static Double_t GetCtgRange()     { return GetRecoParam()->GetCtgRange();}
+  static Double_t GetMaxSnpTracker(){ return GetRecoParam()->GetMaxSnpTracker();}
+  static Double_t GetMaxSnpTrack()  { return GetRecoParam()->GetMaxSnpTrack();}
 
-  static Double_t fgCtgRange; //! +-fCtgRange is the ctg(Theta) window used for clusterization and tracking (MI) 
+  static Int_t StreamLevel()               { return fgStreamLevel;}
+  static void  SetStreamLevel(Int_t level) { fgStreamLevel = level;}
+
+private:
+  AliTPCParam*         GetTPCParam() const;
+  static Int_t               fgStreamLevel; // flag for streaming      - for TPC reconstruction
+  AliTPCclustererMI*         fClusterer;   // TPC clusterer
 
   ClassDef(AliTPCReconstructor, 0)   // class for the TPC reconstruction
 };