#ifndef ALITOFRECONSTRUCTOR_H
#define ALITOFRECONSTRUCTOR_H
#include "AliReconstructor.h"
#include "AliTOFRecoParam.h"
#include "AliTOFClusterFinder.h"
#include "AliTOFClusterFinderV1.h"
class TTree;
class AliESDEvent;
class AliRawReader;
class AliTOFcalib;
class AliTOFReconstructor: public AliReconstructor {
public:
AliTOFReconstructor();
virtual ~AliTOFReconstructor();
virtual void Reconstruct(AliRawReader* rawReader,
TTree* clusterTree) const;
virtual void Reconstruct(TTree* digitsTree, TTree* clusterTree) const;
virtual void ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;
virtual AliTracker* CreateTracker() const;
virtual void FillESD(AliRawReader*, TTree*clustersTree, AliESDEvent* esd) const
{FillESD((TTree*)NULL,clustersTree,esd);}
virtual void FillESD(TTree *, TTree *, AliESDEvent * ) const;
static const AliTOFRecoParam* GetRecoParam() { return dynamic_cast<const AliTOFRecoParam*>(AliReconstructor::GetRecoParam(3)); }
virtual void FillEventTimeWithTOF(AliESDEvent *event, AliESDpid *esdPID);
private:
AliTOFReconstructor(const AliTOFReconstructor &);
AliTOFReconstructor& operator=(const AliTOFReconstructor &);
AliTOFcalib *fTOFcalib;
Int_t fNumberOfTofClusters;
Int_t fNumberOfTofTrgPads;
AliTOFClusterFinder *fClusterFinder;
AliTOFClusterFinderV1 *fClusterFinderV1;
ClassDef(AliTOFReconstructor, 5)
};
#endif