CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions

edm::PresenceFactory Class Reference

#include <PresenceFactory.h>

List of all members.

Public Member Functions

std::auto_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.

                                    {
  }
edm::PresenceFactory::PresenceFactory ( ) [private]

Definition at line 14 of file PresenceFactory.cc.

                                   {
  }

Member Function Documentation

PresenceFactory * edm::PresenceFactory::get ( void  ) [static]

Definition at line 18 of file PresenceFactory.cc.

                                        {
    static PresenceFactory singleInstance_;
    return &singleInstance_;
  }
std::auto_ptr< Presence > edm::PresenceFactory::makePresence ( std::string const &  presence_type) const

Definition at line 25 of file PresenceFactory.cc.

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

Referenced by evf::FUEventProcessor::enableMPEPSlave(), evf::FUEventProcessor::forkProcessesFromEDM(), evf::FUEventProcessor::FUEventProcessor(), evf::iDie::initFramework(), and evf::FUEventProcessor::receiving().

                                                      {
    std::auto_ptr<Presence> sp(PresencePluginFactory::get()->create(presence_type));

    if(sp.get()==0) {
        throw edm::Exception(errors::Configuration, "NoPresenceModule")
          << "Presence Factory:\n"
          << "Cannot find presence type: "
          << presence_type << "\n"
          << "Perhaps the name is misspelled or is not a Plugin?\n"
          << "Try running EdmPluginDump to obtain a list of available Plugins.";
    }

    FDEBUG(1) << "PresenceFactory: created presence "
              << presence_type
              << std::endl;

    return sp;
  }