CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/SimG4Core/Application/interface/OscarProducer.h

Go to the documentation of this file.
00001 #ifndef SimG4Core_OscarProducer_H
00002 #define SimG4Core_OscarProducer_H
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 // #include "DataFormats/Common/interface/Handle.h"
00007 #include "DataFormats/Common/interface/Handle.h"
00008 #include "FWCore/Framework/interface/MakerMacros.h"
00009 #include "FWCore/Framework/interface/EventSetup.h"
00010 #include "FWCore/Framework/interface/Run.h"
00011 
00012 #include "SimG4Core/Application/interface/RunManager.h"
00013 
00014 #include "SimG4Core/Application/interface/CustomUIsession.h"
00015 
00016 namespace CLHEP {
00017     class HepRandomEngine;
00018 }
00019 
00020 class OscarProducer : public edm::EDProducer
00021 {
00022 public:
00023     typedef std::vector<boost::shared_ptr<SimProducer> > Producers;
00024 
00025     explicit OscarProducer(edm::ParameterSet const & p);
00026     virtual ~OscarProducer();
00027     virtual void beginRun(edm::Run & r,const edm::EventSetup & c);
00028     virtual void beginJob();
00029     virtual void endJob();
00030     virtual void produce(edm::Event & e, const edm::EventSetup & c);
00031 protected:
00032     RunManager*   m_runManager;
00033     Producers     m_producers;
00034     CustomUIsession* m_UIsession;
00035 
00036 private:
00037     CLHEP::HepRandomEngine*  m_engine;
00038 };
00039 
00040 #endif