]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTracker.h
bookkeep pt hard info when generating on-the-fly pythia events
[u/mrichter/AliRoot.git] / MUON / AliMUONTracker.h
index 788cb9e4b18b276bb1bd8333e14b6d145f90281d..855e7d7ea8da46932dbfc112b49164814faa1561 100644 (file)
@@ -15,8 +15,8 @@
 
 class AliCluster;
 class AliESDEvent;
-class AliMUONDigitMaker;
 class AliMUONGeometryTransformer;
+class AliMUONRecoParam;
 class AliMUONTrackHitPattern;
 class AliMUONTriggerCircuit;
 class AliMUONVClusterServer;
@@ -26,16 +26,18 @@ class AliMUONVTrackReconstructor;
 class AliMUONVTrackStore;
 class AliMUONVTriggerStore;
 class AliMUONVTriggerTrackStore;
+class AliMUONTriggerUtilities;
 
 class AliMUONTracker : public AliTracker
 {
  public:
 
-  AliMUONTracker(AliMUONVClusterServer* clusterServer,
-                 const AliMUONVDigitStore& digitStore,
-                 const AliMUONDigitMaker* digitMaker=0,
+  AliMUONTracker(const AliMUONRecoParam* recoParam,
+                 AliMUONVClusterServer* clusterServer,
+                 AliMUONVDigitStore& digitStore,
                  const AliMUONGeometryTransformer* transformer=0,
-                 const AliMUONTriggerCircuit* triggerCircuit=0);
+                 const AliMUONTriggerCircuit* triggerCircuit=0,
+                 const AliMUONTriggerUtilities* triggerUtilities=0);
   virtual ~AliMUONTracker();
   
   virtual Int_t Clusters2Tracks(AliESDEvent* esd);
@@ -44,6 +46,9 @@ class AliMUONTracker : public AliTracker
 
   virtual void  UnloadClusters();
 
+  /// Return reco parameters
+  const AliMUONRecoParam* GetRecoParam() const { return fkRecoParam; }
+  
   /// Dummy implementation
   virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;}
   /// Dummy implementation
@@ -51,7 +56,9 @@ class AliMUONTracker : public AliTracker
   /// Dummy implementation
   virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;}
 
-  static AliMUONVTrackReconstructor* CreateTrackReconstructor(const char* trackingMode, AliMUONVClusterServer* clusterServer);
+  static AliMUONVTrackReconstructor* CreateTrackReconstructor(const AliMUONRecoParam* recoParam,
+                                                             AliMUONVClusterServer* clusterServer,
+                                                             const AliMUONGeometryTransformer* transformer);
   
 private:
   /// Not implemented
@@ -63,23 +70,24 @@ private:
 
   AliMUONVTriggerTrackStore* TriggerTrackStore() const;
   
-  void FillESD(AliMUONVTrackStore& trackStore, AliESDEvent* esd) const;
+  void FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent* esd) const;
 
   void SetupClusterServer(AliMUONVClusterServer& clusterServer);
   
 private:
-  const AliMUONDigitMaker* fDigitMaker; //!< digit maker (not owner)
-  const AliMUONGeometryTransformer* fTransformer; //!< geometry transformer (not owner)
-  const AliMUONTriggerCircuit* fTriggerCircuit; //!< trigger circuit (not owner)
+  const AliMUONGeometryTransformer* fkTransformer; //!< geometry transformer (not owner)
+  const AliMUONTriggerCircuit* fkTriggerCircuit; //!< trigger circuit (not owner)
   AliMUONTrackHitPattern* fTrackHitPatternMaker; //!< trigger hit pattern maker
   AliMUONVTrackReconstructor* fTrackReco; //!< track reconstructor
   mutable AliMUONVClusterStore* fClusterStore; //!< cluster container
   AliMUONVTriggerStore* fTriggerStore; //!< trigger information
   AliMUONVClusterServer* fClusterServer; //!< to get clusters
   Bool_t fIsOwnerOfClusterServer; //!< whether we are owner of the cluster server
-  const AliMUONVDigitStore& fDigitStore; //!< digit info to fill in ESD
+  const AliMUONVDigitStore& fkDigitStore; //!< digit info to fill in ESD
   mutable AliMUONVClusterStore* fInputClusterStore; //!< cluster container
   mutable AliMUONVTriggerTrackStore* fTriggerTrackStore; //!< trigger track store
+  const AliMUONRecoParam* fkRecoParam; //!< pointer to reco param
+  AliMUONVTrackStore* fInternalTrackStore; //!< internal track store
   
   ClassDef(AliMUONTracker,0)  //tracker base class for MUON
 };