|  | 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