CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions
edm::PresenceFactory Class Reference

#include <PresenceFactory.h>

Public Member Functions

std::unique_ptr< PresencemakePresence (std::string const &presence_type) const
 
 ~PresenceFactory ()
 

Static Public Member Functions

static PresenceFactoryget ()
 

Private Member Functions

 PresenceFactory ()
 

Detailed Description

Definition at line 15 of file PresenceFactory.h.

Constructor & Destructor Documentation

edm::PresenceFactory::~PresenceFactory ( )

Definition at line 12 of file PresenceFactory.cc.

12 {}
edm::PresenceFactory::PresenceFactory ( )
private

Definition at line 14 of file PresenceFactory.cc.

14 {}

Member Function Documentation

PresenceFactory * edm::PresenceFactory::get ( )
static
std::unique_ptr< Presence > edm::PresenceFactory::makePresence ( std::string const &  presence_type) const

Definition at line 21 of file PresenceFactory.cc.

References edm::errors::Configuration, beamerCreator::create(), Exception, FDEBUG, and reco::get().

21  {
22  std::unique_ptr<Presence> sp(PresencePluginFactory::get()->create(presence_type));
23 
24  if (sp.get() == nullptr) {
25  throw edm::Exception(errors::Configuration, "NoPresenceModule")
26  << "Presence Factory:\n"
27  << "Cannot find presence type: " << presence_type << "\n"
28  << "Perhaps the name is misspelled or is not a Plugin?\n"
29  << "Try running EdmPluginDump to obtain a list of available Plugins.";
30  }
31 
32  FDEBUG(1) << "PresenceFactory: created presence " << presence_type << std::endl;
33 
34  return sp;
35  }
def create(alignables, pedeDump, additionalData, outputFile, config)
#define FDEBUG(lev)
Definition: DebugMacros.h:19
T get(const Candidate &c)
Definition: component.h:55