CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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:
12  BlockElementLinkerBase(const edm::ParameterSet& conf) : _linkerName(conf.getParameter<std::string>("linkerName")) {}
14  virtual ~BlockElementLinkerBase() = default;
16 
17  virtual bool linkPrefilter(const reco::PFBlockElement*, const reco::PFBlockElement*) const { return true; }
18 
19  virtual double testLink(const reco::PFBlockElement*, const reco::PFBlockElement*) const = 0;
20 
21  const std::string& name() const { return _linkerName; }
22 
23 private:
25 };
26 
29 
30 #endif
virtual double testLink(const reco::PFBlockElement *, const reco::PFBlockElement *) const =0
BlockElementLinkerBase & operator=(const BlockElementLinkerBase &)=delete
Abstract base class for a PFBlock element (track, cluster...)
edmplugin::PluginFactory< BlockElementLinkerBase *(const edm::ParameterSet &)> BlockElementLinkerFactory
virtual bool linkPrefilter(const reco::PFBlockElement *, const reco::PFBlockElement *) const
const std::string & name() const
virtual ~BlockElementLinkerBase()=default
BlockElementLinkerBase(const edm::ParameterSet &conf)