]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCReconstructor.h
skim task first usable version
[u/mrichter/AliRoot.git] / TPC / AliTPCReconstructor.h
index 52baafc331b0d3447b6aad62710b2db31c126dd1..d618b52725e5bcfa7bb952d7789152306bf2f141 100644 (file)
@@ -6,29 +6,48 @@
 /* $Id$ */
 
 #include "AliReconstructor.h"
+#include "AliTPCRecoParam.h"
 
 class AliTPCParam;
-
+class AliTPCclustererMI;
+class AliTPCtrackerMI;
+class AliTPCAltroEmulator;
 
 class AliTPCReconstructor: public AliReconstructor {
 public:
-  AliTPCReconstructor(): AliReconstructor() {};
-  virtual ~AliTPCReconstructor() {};
+  AliTPCReconstructor();
+  virtual ~AliTPCReconstructor();
+  virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
+  virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
 
-  virtual void         Reconstruct(AliRunLoader* runLoader) const;
-  virtual void         Reconstruct(AliRunLoader* runLoader,
-                                  AliRawReader* rawReader) const;
-  virtual AliTracker*  CreateTracker(AliRunLoader* runLoader) const;
-  virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const;
+  virtual AliTracker*  CreateTracker() const;
 
-  static void SetCtgRange(Double_t ctgRange = 1.05) {fgCtgRange = ctgRange;}
-  static Double_t GetCtgRange(){ return fgCtgRange;}
+  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);}
 
-private:
-  AliTPCParam*         GetTPCParam(AliRunLoader* runLoader) const;
+  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;}
+  static void  SetAltroEmulator(AliTPCAltroEmulator *altro) { fAltroEmulator=altro;}
+  static AliTPCAltroEmulator *  GetAltroEmulator() { return fAltroEmulator;}
 
+  void ParseOptions(AliTPCtrackerMI* tracker) const;
+
+private:
+  AliTPCReconstructor(const AliTPCReconstructor&); //Not implemented
+  AliTPCReconstructor& operator=(const AliTPCReconstructor&); //Not implemented
+  AliTPCParam*         GetTPCParam() const;
+  static Int_t               fgStreamLevel; // flag for streaming      - for TPC reconstruction
+  AliTPCclustererMI*         fClusterer;   // TPC clusterer
+  static AliTPCAltroEmulator * fAltroEmulator;    // ALTRO emulator
   ClassDef(AliTPCReconstructor, 0)   // class for the TPC reconstruction
 };