CMS 3D CMS Logo

BlockElementLinkerBase.h
Go to the documentation of this file.
1 #ifndef __BlockElementLinkerBase_H__
2 #define __BlockElementLinkerBase_H__
3 
7 
8 #include <string>
9 
11  public:
13  _linkerName( conf.getParameter<std::string>("linkerName") ) { }
15  virtual ~BlockElementLinkerBase() = default;
17 
18  virtual bool linkPrefilter( const reco::PFBlockElement*,
19  const reco::PFBlockElement* ) const
20  { return true; }
21 
22  virtual double testLink( const reco::PFBlockElement*,
23  const reco::PFBlockElement* ) const = 0;
24 
25  const std::string& name() const { return _linkerName; }
26 
27  private:
29 };
30 
33 
34 #endif
BlockElementLinkerBase & operator=(const BlockElementLinkerBase &)=delete
Abstract base class for a PFBlock element (track, cluster...)
virtual double testLink(const reco::PFBlockElement *, const reco::PFBlockElement *) const =0
virtual bool linkPrefilter(const reco::PFBlockElement *, const reco::PFBlockElement *) const
const std::string & name() const
edmplugin::PluginFactory< BlockElementLinkerBase *(const edm::ParameterSet &) > BlockElementLinkerFactory
virtual ~BlockElementLinkerBase()=default
BlockElementLinkerBase(const edm::ParameterSet &conf)