#include "AliTracker.h"
class AliCluster;
-class AliESD;
-class AliLoader;
+class AliESDEvent;
class AliMUONDigitMaker;
class AliMUONGeometryTransformer;
class AliMUONTrackHitPattern;
class AliMUONVTrackReconstructor;
class AliMUONVTrackStore;
class AliMUONVTriggerStore;
+class AliMUONVClusterServer;
+class AliMUONVDigitStore;
class AliMUONTracker : public AliTracker
{
public:
- AliMUONTracker(AliLoader* loader,
+ AliMUONTracker(AliMUONVClusterServer& clusterServer,
+ const AliMUONVDigitStore& digitStore,
const AliMUONDigitMaker* digitMaker=0,
const AliMUONGeometryTransformer* transformer=0,
const AliMUONTriggerCircuit* triggerCircuit=0);
virtual ~AliMUONTracker();
- /// Main entry point.
- virtual Int_t Clusters2Tracks(AliESD* esd);
+ virtual Int_t Clusters2Tracks(AliESDEvent* esd);
- ///
virtual Int_t LoadClusters(TTree* clustersTree);
- ///
virtual void UnloadClusters();
/// Dummy implementation
- virtual Int_t PropagateBack(AliESD* /*event*/) {return 0;}
+ virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;}
/// Dummy implementation
- virtual Int_t RefitInward(AliESD* /*event*/) {return 0;}
+ virtual Int_t RefitInward(AliESDEvent* /*event*/) {return 0;}
/// Dummy implementation
virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;}
- /// Set option
- void SetOption(Option_t* opt);
private:
/// Not implemented
/// Not implemented
AliMUONTracker& operator=(const AliMUONTracker& rhs);
- Int_t Clusters2Tracks(TTree& tracksTree, AliESD* esd);
+ AliMUONVClusterStore* ClusterStore() const;
- void FillESD(AliMUONVTrackStore& trackStore, AliESD* esd) const;
+ void CreateTrackReconstructor();
+
+ void FillESD(AliMUONVTrackStore& trackStore, AliESDEvent* esd) const;
private:
- AliLoader* fLoader; //!< loader to get access to trees
const AliMUONDigitMaker* fDigitMaker; //!< digit maker (not owner)
const AliMUONGeometryTransformer* fTransformer; //!< geometry transformer (not owner)
- const AliMUONTriggerCircuit* fTriggerCircuit; //!< trigger circuit (not owner)
+ const AliMUONTriggerCircuit* fTriggerCircuit; //!< trigger circuit (not owner)
AliMUONTrackHitPattern* fTrackHitPatternMaker; //!< trigger hit pattern maker
- AliMUONVTrackReconstructor* fTrackReco; //!< track reconstructor
- AliMUONVClusterStore* fClusterStore; //!< cluster container
+ AliMUONVTrackReconstructor* fTrackReco; //!< track reconstructor
+ mutable AliMUONVClusterStore* fClusterStore; //!< cluster container
AliMUONVTriggerStore* fTriggerStore; //!< trigger information
+ AliMUONVClusterServer& fClusterServer; //!< to get clusters
+ const AliMUONVDigitStore& fDigitStore; //!< digit info to fill in ESD
ClassDef(AliMUONTracker,0) //tracker base class for MUON
};