#include "AliTPCRecoParam.h"
class AliTPCParam;
-
+class AliTPCclustererMI;
class AliTPCReconstructor: public AliReconstructor {
public:
AliTPCReconstructor();
- virtual ~AliTPCReconstructor() {if (fgkRecoParam) delete fgkRecoParam;};
-
- virtual void Reconstruct(AliRunLoader* runLoader) const;
- virtual void Reconstruct(AliRunLoader* runLoader,
- AliRawReader* rawReader) const;
- virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const {
- AliReconstructor::Reconstruct(digitsTree,clustersTree);
- }
- virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const {
- AliReconstructor::Reconstruct(rawReader,clustersTree);
- }
- virtual AliTracker* CreateTracker(AliRunLoader* runLoader) const;
- virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
- virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
- AliESD* esd) const {
- AliReconstructor::FillESD(digitsTree,clustersTree,esd);
- }
- virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree,
- AliESD* esd) const {
- AliReconstructor::FillESD(rawReader,clustersTree,esd);
- }
- virtual void FillESD(AliRunLoader* runLoader,
- AliRawReader* rawReader, AliESD* esd) const {
- AliReconstructor::FillESD(runLoader,rawReader,esd);
- }
-
- void SetRecoParam(AliTPCRecoParam * param){ fgkRecoParam = param;}
- static const AliTPCRecoParam* GetRecoParam(){ return fgkRecoParam;}
+ virtual ~AliTPCReconstructor();
+ virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
+ virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
+
+ virtual AliTracker* CreateTracker() 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 fgkRecoParam->GetCtgRange();}
- static Double_t GetMaxSnpTracker(){ return fgkRecoParam->GetMaxSnpTracker();}
- static Double_t GetMaxSnpTrack() { return fgkRecoParam->GetMaxSnpTrack();}
+ static Double_t GetCtgRange() { return GetRecoParam()->GetCtgRange();}
+ static Double_t GetMaxSnpTracker(){ return GetRecoParam()->GetMaxSnpTracker();}
+ static Double_t GetMaxSnpTrack() { return GetRecoParam()->GetMaxSnpTrack();}
static Int_t StreamLevel() { return fgStreamLevel;}
static void SetStreamLevel(Int_t level) { fgStreamLevel = level;}
private:
- AliTPCParam* GetTPCParam(AliRunLoader* runLoader) const;
- static AliTPCRecoParam * fgkRecoParam; // reconstruction parameters
+ 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
ClassDef(AliTPCReconstructor, 0) // class for the TPC reconstruction
};