CMS 3D CMS Logo

Functions
GeometryProducer.cc File Reference
#include "FWCore/PluginManager/interface/PluginManager.h"
#include "SimG4Core/GeometryProducer/interface/GeometryProducer.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "SimG4Core/Geometry/interface/DDDWorld.h"
#include "SimG4Core/Geometry/interface/G4LogicalVolumeToDDLogicalPartMap.h"
#include "SimG4Core/Geometry/interface/SensitiveDetectorCatalog.h"
#include "SimG4Core/MagneticField/interface/CMSFieldManager.h"
#include "SimG4Core/MagneticField/interface/Field.h"
#include "SimG4Core/MagneticField/interface/FieldBuilder.h"
#include "SimG4Core/Notification/interface/SimTrackManager.h"
#include "SimG4Core/Watcher/interface/SimProducer.h"
#include "SimG4Core/Watcher/interface/SimWatcherFactory.h"
#include "SimG4Core/SensitiveDetector/interface/sensitiveDetectorMakers.h"
#include "SimG4Core/SensitiveDetector/interface/AttachSD.h"
#include "G4RunManagerKernel.hh"
#include "G4TransportationManager.hh"
#include "G4EmParameters.hh"
#include "G4HadronicParameters.hh"
#include <iostream>
#include <memory>

Go to the source code of this file.

Functions

static void createWatchers (const edm::ParameterSet &iP, SimActivityRegistry &iReg, std::vector< std::shared_ptr< SimWatcher >> &oWatchers, std::vector< std::shared_ptr< SimProducer >> &oProds)
 
static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker< edm::ParameterSetDescriptionFiller< GeometryProducer > > s_filler_0__LINE__ ("GeometryProducer")
 
static const edm::MakerPluginFactory ::PMaker< edm::WorkerMaker< GeometryProducer > > s_maker__LINE__ ("GeometryProducer")
 

Function Documentation

◆ createWatchers()

static void createWatchers ( const edm::ParameterSet iP,
SimActivityRegistry iReg,
std::vector< std::shared_ptr< SimWatcher >> &  oWatchers,
std::vector< std::shared_ptr< SimProducer >> &  oProds 
)
static

Definition at line 29 of file GeometryProducer.cc.

References beamerCreator::create(), Exception, get, edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by GeometryProducer::GeometryProducer(), and RunManagerMTWorker::initializeTLS().

32  {
33  using namespace std;
34  using namespace edm;
35  std::vector<ParameterSet> watchers;
36  try {
37  watchers = iP.getParameter<vector<ParameterSet>>("Watchers");
38  } catch (edm::Exception const &) {
39  }
40 
41  for (std::vector<ParameterSet>::iterator itWatcher = watchers.begin(); itWatcher != watchers.end(); ++itWatcher) {
42  std::unique_ptr<SimWatcherMakerBase> maker(
43  SimWatcherFactory::get()->create(itWatcher->getParameter<std::string>("type")));
44  if (maker.get() == nullptr) {
45  throw cms::Exception("SimG4CoreGeometryProducer", " createWatchers: Unable to find the requested Watcher");
46  }
47 
48  std::shared_ptr<SimWatcher> watcherTemp;
49  std::shared_ptr<SimProducer> producerTemp;
50  maker->make(*itWatcher, iReg, watcherTemp, producerTemp);
51  oWatchers.push_back(watcherTemp);
52  if (producerTemp)
53  oProds.push_back(producerTemp);
54  }
55 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
def create(alignables, pedeDump, additionalData, outputFile, config)
HLT enums.
#define get

◆ s_filler_0__LINE__()

static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::ParameterSetDescriptionFiller< GeometryProducer > > s_filler_0__LINE__ ( "GeometryProducer"  )
static

◆ s_maker__LINE__()

static const edm::MakerPluginFactory ::PMaker< edm::WorkerMaker< GeometryProducer > > s_maker__LINE__ ( "GeometryProducer"  )
static