|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef PFMATCHINTERFACES_H_
13 #define PFMATCHINTERFACES_H_
24 #define TrackLayer eflowCalo
43 virtual double eta()
const = 0;
44 virtual double phi()
const = 0;
57 virtual unsigned int nCells()
const = 0;
58 virtual const std::vector<double>&
cellPhi()
const = 0;
59 virtual const std::vector<double>&
cellEta()
const = 0;
84 template <
class ObjectType,
class PositionType>
95 template <
class PositionType>
98 template <
class PositionType>
103 template<
class TrackPositionType,
class ClusterPositionType>
110 virtual double distanceBetween(
const TrackPositionType& position1,
const ClusterPositionType& position2)
const = 0;
125 template<
class TrackPositionType,
class ClusterPositionType>
129 std::unique_ptr<IPositionProvider> clusterPosition,
virtual double etaMean() const =0
virtual const std::vector< double > & cellEta() const =0
virtual void phiVariance(double)=0
double distanceBetween(ITrack *track, ICluster *cluster) const
virtual double etaVariance() const =0
virtual void etaVariance(double)=0
eflowCalo::LAYER LayerType
virtual ~IDistanceProvider()
virtual ~IPositionProvider()
virtual ~PositionProvider()
virtual double distanceBetween(const TrackPositionType &position1, const ClusterPositionType &position2) const =0
virtual double phiMean() const =0
virtual double distanceBetween(ITrack *track, ICluster *cluster) const =0
virtual void etaMean(double)=0
virtual void phiMean(double)=0
virtual ~DistanceProvider()
virtual PositionType getPosition(ObjectType *cluster) const =0
virtual eflowEtaPhiPosition etaPhiInLayer(LayerType layer) const =0
std::unique_ptr< TrackPositionProvider< TrackPositionType > > m_trackPosition
virtual double phi() const =0
virtual bool calVarianceStatus() const =0
virtual unsigned int nCells() const =0
virtual void setCalVarianceStatus()=0
DistanceProvider(std::unique_ptr< IPositionProvider > trackPosition, std::unique_ptr< IPositionProvider > clusterPosition, std::unique_ptr< DistanceCalculator< TrackPositionType, ClusterPositionType > > distanceCalculator)
virtual const std::vector< double > & cellPhi() const =0
std::unique_ptr< DistanceCalculator< TrackPositionType, ClusterPositionType > > m_distanceCalculator
virtual ~DistanceCalculator()
virtual double phiVariance() const =0
std::unique_ptr< ClusterPositionProvider< ClusterPositionType > > m_clusterPosition
virtual double eta() const =0