1 // Author: Artur Szostak
2 // Email: artur@alice.phy.uct.ac.za | artursz@iafrica.com
4 #ifndef ALIHLTMUONTRACKER_H
5 #define ALIHLTMUONTRACKER_H
7 #include "AliTracker.h"
10 #include "AliRoot/MicrodHLT.hpp"
11 #include "AliRoot/TriggerSource.hpp"
12 #include "AliRoot/ClusterSource.hpp"
13 #include "AliRoot/TrackSink.hpp"
18 /* This class is a wrapper for the dHLT tracker implemented in the MicrodHLT
19 object. It is used by the AliReconstruction framework to indirectly run the
20 dHLT tracking algorithm.
23 class AliHLTMUONTracker : public AliTracker
26 AliHLTMUONTracker(AliRunLoader* runloader);
27 virtual ~AliHLTMUONTracker();
30 virtual Int_t PropagateBack(AliESD* /*event*/) { return 0; };
31 virtual Int_t RefitInward(AliESD* /*event*/) { return 0; };
32 virtual Int_t LoadClusters(TTree* data);
33 virtual void UnloadClusters();
34 virtual AliCluster* GetCluster(Int_t /*i*/) const { return NULL; };
35 virtual Int_t Clusters2Tracks(AliESD* event);
39 // Do not allow copying of this object.
40 AliHLTMUONTracker(const AliHLTMUONTracker& /*object*/)
41 : AliTracker(), fdHLT(NULL), fTriggers(NULL), fClusters(NULL),
45 AliHLTMUONTracker& operator = (const AliHLTMUONTracker& /*object*/) { return *this; }
48 const AliHLTMUONTriggerRecord*
49 FindTriggerRecord(const AliHLTMUONTrack* track) const;
52 const Double_t x[4], const Double_t y[4],
53 Double_t& m, Double_t& c
56 Double_t ComputeChi2(const AliHLTMUONTrack* track) const;
58 AliHLTMUONMicrodHLT* fdHLT; // dHLT tracker algorithm interface object.
59 AliHLTMUONTriggerSource* fTriggers; // Trigger record input data object.
60 AliHLTMUONClusterSource* fClusters; // Reconstructed hit input data object (sorry about the poor object naming).
61 AliHLTMUONTrackSink* fTracks; // Track output data object.
63 ClassDef(AliHLTMUONTracker, 1) // dHLT tracker algorithm
67 #endif // ALIHLTMUONTRACKER_H