]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONESDInterface.h
Updated homer buffer to not start source list timer
[u/mrichter/AliRoot.git] / MUON / AliMUONESDInterface.h
index 8d566436ad9ce04d03ef286858f78f77c295384c..c8484068ca1ce4600db03aa3e6cc452fab451fb5 100644 (file)
@@ -24,6 +24,8 @@ class AliMUONVClusterStore;
 class AliMUONVDigit;
 class AliMUONVDigitStore;
 class AliMUONLocalTrigger;
+class AliMUONTriggerTrack;
+class AliMUONVTriggerTrackStore;
 class AliMUONVTriggerStore;
 class AliMUONTrackParam;
 class AliMUONVTrackReconstructor;
@@ -43,7 +45,7 @@ public: // methods to play with internal objects
   
   virtual void Clear(Option_t* = "");
   
-  void LoadEvent(AliESDEvent& esdEvent);
+  void LoadEvent(AliESDEvent& esdEvent,  Bool_t refit = kTRUE);
   
   /// Return internal track store
   AliMUONVTrackStore* GetTracks() const {return fTracks;}
@@ -82,8 +84,10 @@ public: // methods to play with internal objects
   
 public: // static methods
   
-  /// Reset the MUON tracker (using "recoParam" if provided)
-  static void ResetTracker(const AliMUONRecoParam* recoParam = 0x0);
+  // Reset the MUON tracker (using "recoParam" if provided)
+  static void ResetTracker(const AliMUONRecoParam* recoParam = 0x0, Bool_t info = kTRUE);
+  /// Return pointer to the MUON tracker if any (use first ResetTracker(...) to create it)
+  static AliMUONVTrackReconstructor* GetTracker() {return fgTracker;}
   
   /// Set the version of track store
   static void UseTrackStore(TString name) {fgTrackStoreName = name;}
@@ -99,6 +103,7 @@ public: // static methods
   static AliMUONVClusterStore* NewClusterStore();
   static AliMUONVDigitStore* NewDigitStore();
   static AliMUONVTriggerStore* NewTriggerStore();
+  static AliMUONVTriggerTrackStore* NewTriggerTrackStore();
   
   // ESD track parameters --> MUON track parameters
   static void GetParamAtVertex(const AliESDMuonTrack& esdTrack, AliMUONTrackParam& trackParam);
@@ -113,7 +118,7 @@ public: // static methods
   static void SetParamCov(const AliMUONTrackParam& trackParam, AliESDMuonTrack& esdTrack);
   
   // ESDMuon objects --> MUON objects conversion
-  static void ESDToMUON(const AliESDMuonTrack& esdTrack, AliMUONTrack& track);
+  static void ESDToMUON(const AliESDMuonTrack& esdTrack, AliMUONTrack& track, Bool_t refit = kTRUE);
   static void ESDToMUON(const AliESDMuonTrack& esdTrack, AliMUONLocalTrigger& locTrg);
   static void ESDToMUON(const AliESDMuonCluster& esdCluster, AliMUONVCluster& cluster);
   static void ESDToMUON(const AliESDMuonPad& esdPad, AliMUONVDigit& digit);
@@ -121,13 +126,14 @@ public: // static methods
   // MUON objects --> ESDMuon objects conversion
   static void MUONToESD(const AliMUONTrack& track, AliESDMuonTrack& esdTrack, const Double_t vertex[3],
                        const AliMUONVDigitStore* digits = 0x0, const AliMUONLocalTrigger* locTrg = 0x0);
-  static void MUONToESD(const AliMUONLocalTrigger& locTrg, AliESDMuonTrack& esdTrack, UInt_t trackId);
+  static void MUONToESD(const AliMUONLocalTrigger& locTrg, AliESDMuonTrack& esdTrack, UInt_t trackId,
+                       const AliMUONTriggerTrack* triggerTrack = 0x0);
   static void MUONToESD(const AliMUONVCluster& cluster, AliESDMuonCluster& esdCluster, const AliMUONVDigitStore* digits = 0x0);
   static void MUONToESD(const AliMUONVDigit& digit, AliESDMuonPad& esdPad);
   
   // Add ESD object into the corresponding MUON store
   // return a pointer to the corresponding MUON object into the store
-  static AliMUONTrack*    Add(const AliESDMuonTrack& esdTrack, AliMUONVTrackStore& trackStore);
+  static AliMUONTrack*    Add(const AliESDMuonTrack& esdTrack, AliMUONVTrackStore& trackStore, Bool_t refit = kTRUE);
   static void             Add(const AliESDMuonTrack& esdTrack, AliMUONVTriggerStore& triggerStore);
   static AliMUONVCluster* Add(const AliESDMuonCluster& esdCluster, AliMUONVClusterStore& clusterStore);
   static AliMUONVDigit*   Add(const AliESDMuonPad& esdPad, AliMUONVDigitStore& digitStore);
@@ -154,6 +160,7 @@ private:
   static TString fgClusterStoreName; ///< class name of the cluster store to use
   static TString fgDigitStoreName;   ///< class name of the digit store to use
   static TString fgTriggerStoreName; ///< class name of the trigger store to use
+  static TString fgTriggerTrackStoreName; ///< class name of the trigger track store to use
   
   // data containers
   AliMUONVTrackStore*   fTracks;   ///< track container