CMS 3D CMS Logo

ProtonTransport.h
Go to the documentation of this file.
1 #ifndef PROTONTRANSPORT
2 #define PROTONTRANSPORT
6 #include "HepMC/GenEvent.h"
10 
11 #include <memory>
12 #include <vector>
13 
15 public:
17  ~ProtonTransport() = default;
18 
19  std::vector<LHCTransportLink>& getCorrespondenceMap() { return instance_->getCorrespondenceMap(); }
20  void process(const HepMC::GenEvent* ev, const edm::EventSetup& es, CLHEP::HepRandomEngine* engine) {
21  instance_->process(ev, es, engine);
22  }
23  void addPartToHepMC(const HepMC::GenEvent* iev, HepMC::GenEvent* ev) { instance_->addPartToHepMC(iev, ev); }
24 
25 private:
26  std::unique_ptr<BaseProtonTransport> instance_;
27 };
28 #endif
void addPartToHepMC(const HepMC::GenEvent *iev, HepMC::GenEvent *ev)
TkSoAView< TrackerTraits > HitToTuple< TrackerTraits > const *__restrict__ int32_t int32_t int iev
std::vector< LHCTransportLink > & getCorrespondenceMap()
std::unique_ptr< BaseProtonTransport > instance_
~ProtonTransport()=default
ProtonTransport(const edm::ParameterSet &iConfig, edm::ConsumesCollector iC)
void process(const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine)