New option to discard mono-cathod clusters (by changing their resolution) and refit...
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructor.h
index beece1c..d3c6215 100644 (file)
@@ -15,24 +15,29 @@ class AliMUONVCluster;
 class AliMUONVClusterStore;
 class AliMUONTrackParam;
 class AliMUONTrack;
+class AliMUONGeometryTransformer;
 
 class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor 
 {
  
  public:
   
-  AliMUONTrackReconstructor(AliMUONVClusterServer& clusterServer); // default Constructor
+  AliMUONTrackReconstructor(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer,
+                           const AliMUONGeometryTransformer* transformer); // default Constructor
   virtual ~AliMUONTrackReconstructor(); // Destructor
 
+  virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE);
+
 
  protected:
 
   // Functions
-  virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
-  virtual void FollowTracks(AliMUONVClusterStore& clusterStore);
-  virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore);
-  virtual void ImproveTrack(AliMUONTrack &track);
-  virtual void FinalizeTrack(AliMUONTrack &track);
+  virtual Bool_t MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
+  virtual Bool_t MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore);
+  virtual Bool_t FollowTracks(AliMUONVClusterStore& clusterStore);
+  virtual Bool_t ComplementTracks(const AliMUONVClusterStore& clusterStore);
+  virtual void   ImproveTrack(AliMUONTrack &track);
+  virtual Bool_t FinalizeTrack(AliMUONTrack &track);
   
 
  private:
@@ -42,6 +47,7 @@ class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor
   /// Not implemented copy assignment operator
   AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs);
   
+  Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber);
   Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
   
   Double_t TryTwoClusters(const AliMUONTrackParam &trackParamAtCluster, AliMUONVCluster* cluster2, AliMUONTrackParam &trackParamAtCluster2);