26 using namespace CLHEP;
31 : fVertex(0), boost_(0), fTimeOffset(0),
32 sourceLabel(pset.getParameter<edm::
InputTag>(
"src"))
37 <<
"The BaseEvtVtxGenerator requires the RandomNumberGeneratorService\n"
38 "which is not present in the configuration file. \n"
39 "You must add the service\n"
40 "in the configuration file or remove the modules that require it.";
44 produces<edm::HepMCProduct>();
65 HepMC::GenEvent* genevt =
new HepMC::GenEvent(*HepUnsmearedMCEvt->GetEvent());
69 HepMCEvt->applyVtxGen(
newVertex(engine) ) ;
75 evt.
put(std::move(HepMCEvt)) ;
HepMC::FourVector * fVertex
virtual void produce(edm::Event &, const edm::EventSetup &) override
virtual ~BaseEvtVtxGenerator()
virtual HepMC::FourVector * newVertex(CLHEP::HepRandomEngine *)=0
BaseEvtVtxGenerator(const edm::ParameterSet &)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual TMatrixD * GetInvLorentzBoost()=0
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &) const =0
Use this engine in event methods.
StreamID streamID() const
edm::InputTag sourceLabel