Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:48

0001 #ifndef DataFormats_MuonReco_MuonTrackLinks_H
0002 #define DataFormats_MuonReco_MuonTrackLinks_H
0003 
0004 /** \class MuonTrackLinks
0005  *  Transient format to keep the links between the three different tracks
0006  *  which are built in the RecoMuon tracking code.
0007  *  This data format is meant to be used internally only.
0008  *
0009  *  \author R. Bellan - INFN Torino <riccardo.bellan@cern.ch>
0010  */
0011 
0012 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0013 
0014 namespace reco {
0015 
0016   class MuonTrackLinks {
0017   public:
0018     /// Default Constructor
0019     MuonTrackLinks() {}
0020 
0021     /// Constructor
0022     MuonTrackLinks(reco::TrackRef tk, reco::TrackRef sta, reco::TrackRef glb)
0023         : theTkTrack(tk), theStaTrack(sta), theGlbTrack(glb) {}
0024 
0025     /// Destructor
0026     virtual ~MuonTrackLinks(){};
0027 
0028     // Operations
0029 
0030     /// get the tracker's track which match with the stand alone muon tracks
0031     inline reco::TrackRef trackerTrack() const { return theTkTrack; }
0032 
0033     /// get the track built with the muon spectrometer alone
0034     inline reco::TrackRef standAloneTrack() const { return theStaTrack; }
0035 
0036     /// get the combined track
0037     inline reco::TrackRef globalTrack() const { return theGlbTrack; }
0038 
0039     /// set the ref to tracker's track
0040     inline void setTrackerTrack(reco::TrackRef tk) { theTkTrack = tk; }
0041 
0042     /// set the ref to stand alone track
0043     inline void setStandAloneTrack(reco::TrackRef sta) { theStaTrack = sta; }
0044 
0045     /// set the ref to combined track
0046     inline void setGlobalTrack(reco::TrackRef glb) { theGlbTrack = glb; }
0047 
0048   protected:
0049   private:
0050     /// ref to tracker's track which match with the stand alone muon tracks
0051     reco::TrackRef theTkTrack;
0052 
0053     /// ref to the track built with the muon spectrometer alone
0054     reco::TrackRef theStaTrack;
0055 
0056     /// ref to the combined track
0057     reco::TrackRef theGlbTrack;
0058   };
0059 }  // namespace reco
0060 #endif