]>
Commit | Line | Data |
---|---|---|
196471e9 | 1 | #ifndef ALIMUONTRACKER_H |
2 | #define ALIMUONTRACKER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
6b092dfc | 7 | /// \ingroup rec |
196471e9 | 8 | /// \class AliMUONTracker |
9 | /// \brief MUON base Tracker | |
d81d2e8e | 10 | /// |
11 | // Author: Christian Finck, SUBATECH Nantes | |
196471e9 | 12 | |
13 | #include "AliTracker.h" | |
e64fdf8a | 14 | |
196471e9 | 15 | class AliCluster; |
af885e0f | 16 | class AliESDEvent; |
e64fdf8a | 17 | class AliMUONDigitMaker; |
18 | class AliMUONGeometryTransformer; | |
19 | class AliMUONTrackHitPattern; | |
8c0b5e70 | 20 | class AliMUONTriggerChamberEff; |
32ab62c9 | 21 | class AliMUONTriggerCircuit; |
e64fdf8a | 22 | class AliMUONVClusterStore; |
196471e9 | 23 | class AliMUONVTrackReconstructor; |
e64fdf8a | 24 | class AliMUONVTrackStore; |
25 | class AliMUONVTriggerStore; | |
1fef78c8 | 26 | class AliMUONVClusterServer; |
196471e9 | 27 | |
28 | class AliMUONTracker : public AliTracker | |
29 | { | |
30 | public: | |
31 | ||
1fef78c8 | 32 | AliMUONTracker(AliMUONVClusterServer& clusterServer, |
33 | const AliMUONDigitMaker* digitMaker=0, | |
e64fdf8a | 34 | const AliMUONGeometryTransformer* transformer=0, |
8c0b5e70 | 35 | const AliMUONTriggerCircuit* triggerCircuit=0, |
1fef78c8 | 36 | AliMUONTriggerChamberEff* chamberEff=0); |
196471e9 | 37 | virtual ~AliMUONTracker(); |
196471e9 | 38 | |
af885e0f | 39 | virtual Int_t Clusters2Tracks(AliESDEvent* esd); |
e64fdf8a | 40 | |
e64fdf8a | 41 | virtual Int_t LoadClusters(TTree* clustersTree); |
42 | ||
e64fdf8a | 43 | virtual void UnloadClusters(); |
44 | ||
71a2d3aa | 45 | /// Dummy implementation |
af885e0f | 46 | virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;} |
71a2d3aa | 47 | /// Dummy implementation |
af885e0f | 48 | virtual Int_t RefitInward(AliESDEvent* /*event*/) {return 0;} |
71a2d3aa | 49 | /// Dummy implementation |
196471e9 | 50 | virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;} |
196471e9 | 51 | |
52 | private: | |
71a2d3aa | 53 | /// Not implemented |
54 | AliMUONTracker(const AliMUONTracker& rhs); | |
55 | /// Not implemented | |
56 | AliMUONTracker& operator=(const AliMUONTracker& rhs); | |
57 | ||
1fef78c8 | 58 | AliMUONVClusterStore* ClusterStore() const; |
59 | ||
3304fa09 | 60 | void CreateTrackReconstructor(); |
61 | ||
af885e0f | 62 | void FillESD(AliMUONVTrackStore& trackStore, AliESDEvent* esd) const; |
e64fdf8a | 63 | |
64 | private: | |
e64fdf8a | 65 | const AliMUONDigitMaker* fDigitMaker; //!< digit maker (not owner) |
66 | const AliMUONGeometryTransformer* fTransformer; //!< geometry transformer (not owner) | |
3304fa09 | 67 | const AliMUONTriggerCircuit* fTriggerCircuit; //!< trigger circuit (not owner) |
8c0b5e70 | 68 | AliMUONTriggerChamberEff* fTrigChamberEff; //!< trigger efficiency (not owner) |
e64fdf8a | 69 | AliMUONTrackHitPattern* fTrackHitPatternMaker; //!< trigger hit pattern maker |
3304fa09 | 70 | AliMUONVTrackReconstructor* fTrackReco; //!< track reconstructor |
1fef78c8 | 71 | mutable AliMUONVClusterStore* fClusterStore; //!< cluster container |
e64fdf8a | 72 | AliMUONVTriggerStore* fTriggerStore; //!< trigger information |
1fef78c8 | 73 | AliMUONVClusterServer& fClusterServer; //!< to get clusters |
e64fdf8a | 74 | |
196471e9 | 75 | ClassDef(AliMUONTracker,0) //tracker base class for MUON |
76 | }; | |
77 | #endif |