|
|
Go to the documentation of this file.
94 produces<edm::HepMCProduct>();
95 produces<edm::LHCTransportLinkContainer>();
100 <<
"LHCTransport (ProtonTransport) requires the RandomNumberGeneratorService\n"
101 "which is not present in the configuration file. You must add the service\n"
102 "in the configuration file or remove the modules that require it.";
126 if (engine->name() !=
"TRandom3") {
127 throw cms::Exception(
"Configuration") <<
"The TRandom3 engine type must be used with ProtonTransport, Random "
128 "Number Generator Service not correctly configured!";
136 throw cms::Exception(
"InvalidReference") <<
"Invalid reference to HepMCProduct\n";
140 throw cms::Exception(
"LogicError") <<
"LHCTrasport HepMCProduce already exists\n";
153 newProduct->addHepMCData(evt);
159 (*NewCorrespondenceMap).swap(thisLink);
162 for (
unsigned int i = 0;
i < (*NewCorrespondenceMap).size(); ++
i)
163 LogDebug(
"ProtonTransportEventProcessing")
164 <<
"ProtonTransport correspondence table: " << (*NewCorrespondenceMap)[
i];
std::string const & moduleLabel() const
std::string m_transportMethod
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
std::vector< LHCTransportLink > LHCTransportLinkContainer
edm::EDGetTokenT< edm::HepMCProduct > m_InTagToken
void produce(edm::Event &, const edm::EventSetup &) override
PPSSimTrackProducer(const edm::ParameterSet &)
#define DEFINE_FWK_MODULE(type)
void endStream() override
Provenance const * provenance() const
std::vector< LHCTransportLink > & getCorrespondenceMap()
ProtonTransport * theTransporter
const HepMC::GenEvent * GetEvent() const
int m_eventsAnalysed
just to count events that have been analysed
void process(const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine)
void addPartToHepMC(const HepMC::GenEvent *iev, HepMC::GenEvent *ev)
void beginStream(edm::StreamID) override
Log< level::Info, true > LogVerbatim
~PPSSimTrackProducer() override
T getParameter(std::string const &) const