CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SourceFactory.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Framework
4 // Class : SourceFactory
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Author: Chris Jones
10 // Created: Wed May 25 19:27:37 EDT 2005
11 // $Id: SourceFactory.cc,v 1.8 2012/06/06 15:51:21 wdd Exp $
12 //
13 
14 // system include files
15 
16 // user include files
22 
23 //
24 // static member functions
25 //
26 namespace edm {
27  namespace eventsetup {
28 
29  std::string SourceMakerTraits::name() { return "CMS EDM Framework ESSource"; }
30 
31  void
32  SourceMakerTraits::replaceExisting(EventSetupProvider& iProvider, boost::shared_ptr<EventSetupRecordIntervalFinder> iComponent) {
34  << "SourceMakerTraits::replaceExisting\n"
35  << "This function is not implemented and should never be called.\n"
36  << "Please report this to a Framework Developer\n";
37  }
38 
39  boost::shared_ptr<SourceMakerTraits::base_type>
41  ParameterSet const& iConfiguration) {
42  return esController.getESSourceAndRegisterProcess(iConfiguration, esController.indexOfNextProcess());
43  }
44 
46  ParameterSet const& iConfiguration,
47  boost::shared_ptr<base_type> const& component) {
48  esController.putESSource(iConfiguration, component, esController.indexOfNextProcess());
49  }
50 
52 
53  std::string edmtype = iConfiguration.getParameter<std::string>("@module_edm_type");
54  std::string modtype = iConfiguration.getParameter<std::string>("@module_type");
55  std::string label = iConfiguration.getParameter<std::string>("@module_label");
56  edm::LogVerbatim("EventSetupSharing") << "Sharing " << edmtype << ": class=" << modtype << " label='" << label << "'";
57  }
58  }
59 }
60 
T getParameter(std::string const &) const
static boost::shared_ptr< base_type > getComponentAndRegisterProcess(EventSetupsController &esController, ParameterSet const &iConfiguration)
static void replaceExisting(EventSetupProvider &iProvider, boost::shared_ptr< EventSetupRecordIntervalFinder > iComponent)
void putESSource(ParameterSet const &pset, boost::shared_ptr< EventSetupRecordIntervalFinder > const &component, unsigned subProcessIndex)
#define COMPONENTFACTORY_GET(_type_)
static void putComponent(EventSetupsController &esController, ParameterSet const &iConfiguration, boost::shared_ptr< base_type > const &component)
static void logInfoWhenSharing(ParameterSet const &iConfiguration)
boost::shared_ptr< EventSetupRecordIntervalFinder > getESSourceAndRegisterProcess(ParameterSet const &pset, unsigned subProcessIndex)