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 11 of file PresenceFactory.cc.

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

Definition at line 14 of file PresenceFactory.cc.

14  {
15  }

Member Function Documentation

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

Definition at line 25 of file PresenceFactory.cc.

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

Referenced by get().

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