1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#ifndef DataFormats_MuonReco_MuonTrackLinks_H
#define DataFormats_MuonReco_MuonTrackLinks_H
/** \class MuonTrackLinks
* Transient format to keep the links between the three different tracks
* which are built in the RecoMuon tracking code.
* This data format is meant to be used internally only.
*
* \author R. Bellan - INFN Torino <riccardo.bellan@cern.ch>
*/
#include "DataFormats/TrackReco/interface/TrackFwd.h"
namespace reco {
class MuonTrackLinks {
public:
/// Default Constructor
MuonTrackLinks() {}
/// Constructor
MuonTrackLinks(reco::TrackRef tk, reco::TrackRef sta, reco::TrackRef glb)
: theTkTrack(tk), theStaTrack(sta), theGlbTrack(glb) {}
/// Destructor
virtual ~MuonTrackLinks() {}
// Operations
/// get the tracker's track which match with the stand alone muon tracks
inline reco::TrackRef trackerTrack() const { return theTkTrack; }
/// get the track built with the muon spectrometer alone
inline reco::TrackRef standAloneTrack() const { return theStaTrack; }
/// get the combined track
inline reco::TrackRef globalTrack() const { return theGlbTrack; }
/// set the ref to tracker's track
inline void setTrackerTrack(reco::TrackRef tk) { theTkTrack = tk; }
/// set the ref to stand alone track
inline void setStandAloneTrack(reco::TrackRef sta) { theStaTrack = sta; }
/// set the ref to combined track
inline void setGlobalTrack(reco::TrackRef glb) { theGlbTrack = glb; }
protected:
private:
/// ref to tracker's track which match with the stand alone muon tracks
reco::TrackRef theTkTrack;
/// ref to the track built with the muon spectrometer alone
reco::TrackRef theStaTrack;
/// ref to the combined track
reco::TrackRef theGlbTrack;
};
} // namespace reco
#endif
|