CMS 3D CMS Logo

GeometryProducer.cc File Reference

#include "FWCore/PluginManager/interface/PluginManager.h"
#include "SimG4Core/GeometryProducer/interface/GeometryProducer.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "SimG4Core/Watcher/interface/SimProducer.h"
#include "SimG4Core/Watcher/interface/SimWatcherFactory.h"
#include "SimG4Core/Geometry/interface/DDDWorld.h"
#include "SimG4Core/Geometry/interface/G4LogicalVolumeToDDLogicalPartMap.h"
#include "SimG4Core/Geometry/interface/SensitiveDetectorCatalog.h"
#include "SimG4Core/MagneticField/interface/FieldBuilder.h"
#include "SimG4Core/MagneticField/interface/Field.h"
#include "SimG4Core/Notification/interface/SimG4Exception.h"
#include "SimG4Core/Application/interface/SimTrackManager.h"
#include "MagneticField/Engine/interface/MagneticField.h"
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
#include "Geometry/Records/interface/IdealGeometryRecord.h"
#include "DetectorDescription/Core/interface/DDCompactView.h"
#include "G4RunManagerKernel.hh"
#include "G4TransportationManager.hh"
#include <iostream>

Go to the source code of this file.

Functions

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


Function Documentation

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

Definition at line 31 of file GeometryProducer.cc.

References DBSPlugin::get(), edm::ParameterSet::getParameter(), and std.

00034 {
00035     using namespace std;
00036     using namespace edm;
00037     vector<ParameterSet> watchers;
00038     try { watchers = iP.getParameter<vector<ParameterSet> >("Watchers"); } 
00039     catch(edm::Exception) {}
00040   
00041     for(vector<ParameterSet>::iterator itWatcher = watchers.begin();
00042         itWatcher != watchers.end(); ++itWatcher) 
00043     {
00044         std::auto_ptr<SimWatcherMakerBase> 
00045             maker(SimWatcherFactory::get()->create(itWatcher->getParameter<std::string> ("type")));
00046         if(maker.get()==0) { throw SimG4Exception("Unable to find the requested Watcher"); }
00047     
00048         boost::shared_ptr<SimWatcher> watcherTemp;
00049         boost::shared_ptr<SimProducer> producerTemp;
00050         maker->make(*itWatcher,iReg,watcherTemp,producerTemp);
00051         oWatchers.push_back(watcherTemp);
00052         if(producerTemp) oProds.push_back(producerTemp);
00053   }
00054 }

DEFINE_FWK_MODULE ( GeometryProducer   ) 


Generated on Tue Jun 9 17:55:49 2009 for CMSSW by  doxygen 1.5.4