]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/MUON/src/AliRoot/AliHLTMUONTracker.h
Also dropping references to AliMUONTriggerCircuit which are depricated. This is a...
[u/mrichter/AliRoot.git] / HLT / MUON / src / AliRoot / AliHLTMUONTracker.h
1 // Author: Artur Szostak
2 // Email:  artur@alice.phy.uct.ac.za | artursz@iafrica.com
3
4 #ifndef ALIHLTMUONTRACKER_H
5 #define ALIHLTMUONTRACKER_H
6
7 #include "AliTracker.h"
8 #include "AliLog.h"
9
10 #include "AliRoot/MicrodHLT.hpp"
11 #include "AliRoot/TriggerSource.hpp"
12 #include "AliRoot/ClusterSource.hpp"
13 #include "AliRoot/TrackSink.hpp"
14
15 class AliRunLoader;
16 class AliESD;
17
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.
21  */
22
23 class AliHLTMUONTracker : public AliTracker
24 {
25 public:
26         AliHLTMUONTracker(AliRunLoader* runloader);
27         virtual ~AliHLTMUONTracker();
28
29         // Inherited methods.
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);
36
37 private:
38         
39         // Do not allow copying of this object.
40         AliHLTMUONTracker(const AliHLTMUONTracker& /*object*/)
41                 : AliTracker(), fdHLT(NULL), fTriggers(NULL), fClusters(NULL),
42                   fTracks(NULL)
43         {}
44
45         AliHLTMUONTracker& operator = (const AliHLTMUONTracker& /*object*/) { return *this; }
46
47
48         const AliHLTMUONTriggerRecord*
49         FindTriggerRecord(const AliHLTMUONTrack* track) const;
50
51         void LeastSquaresFit(
52                         const Double_t x[4], const Double_t y[4],
53                         Double_t& m, Double_t& c
54                 ) const;
55
56         Double_t ComputeChi2(const AliHLTMUONTrack* track) const;
57
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.
62
63         ClassDef(AliHLTMUONTracker, 1)  // dHLT tracker algorithm
64 };
65
66
67 #endif // ALIHLTMUONTRACKER_H
68