File indexing completed on 2024-09-07 04:38:06
0001 #ifndef RecTracksDistanceMatrix_H
0002 #define RecTracksDistanceMatrix_H
0003
0004 #include <vector>
0005 #include <map>
0006 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0007
0008 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0009
0010
0011
0012
0013
0014
0015
0016
0017 class RecTracksDistanceMatrix {
0018
0019 public:
0020 virtual const std::vector<reco::TransientTrack>* tracks() const = 0;
0021 virtual ~RecTracksDistanceMatrix() {}
0022
0023 virtual double distance(const reco::TransientTrack, const reco::TransientTrack) const = 0;
0024 virtual double weightedDistance(const reco::TransientTrack, const reco::TransientTrack) const = 0;
0025
0026 virtual GlobalPoint crossingPoint(const reco::TransientTrack, const reco::TransientTrack) const = 0;
0027
0028 virtual std::pair<GlobalPoint, GlobalPoint> pointsOfClosestApproach(const reco::TransientTrack,
0029 const reco::TransientTrack) const = 0;
0030
0031 virtual bool hasDistances() const = 0;
0032 virtual bool hasWeightedDistances() const = 0;
0033 virtual bool hasCrossingPoints() const = 0;
0034 virtual bool hasPCAs() const = 0;
0035 };
0036
0037 #endif