14 const std::shared_ptr<HepMC3::GenParticle>
particle) {
18 SimParticle fw(particleId, static_cast<Acts::PdgParticle>(particle->pid()),
20 fw.
setDirection(particle->momentum().x(), particle->momentum().y(),
21 particle->momentum().z());
23 return std::make_unique<SimParticle>(std::move(fw));
27 const std::shared_ptr<HepMC3::GenParticle>
particle) {
28 return particle->id();
32 const std::shared_ptr<HepMC3::GenParticle>
particle) {
36 if (particle->production_vertex())
38 std::make_shared<HepMC3::GenVertex>(*particle->production_vertex())));
44 const std::shared_ptr<HepMC3::GenParticle>
particle) {
48 if (particle->end_vertex())
50 std::make_shared<HepMC3::GenVertex>(*(particle->end_vertex()))));
56 const std::shared_ptr<HepMC3::GenParticle>
particle) {
57 return particle->pid();
61 const std::shared_ptr<HepMC3::GenParticle>
particle) {
63 mom(0) = particle->momentum().x();
64 mom(1) = particle->momentum().y();
65 mom(2) = particle->momentum().z();
70 const std::shared_ptr<HepMC3::GenParticle>
particle) {
71 return particle->momentum().e();
75 const std::shared_ptr<HepMC3::GenParticle>
particle) {
76 return particle->generated_mass();
80 const std::shared_ptr<HepMC3::GenParticle>
particle) {
86 particle->set_pid(pid);
91 HepMC3::FourVector fVec(
mom(0),
mom(1),
mom(2), particle->momentum().e());
92 particle->set_momentum(fVec);
97 HepMC3::FourVector fVec(particle->momentum().x(), particle->momentum().y(),
98 particle->momentum().z(),
energy);
99 particle->set_momentum(fVec);
104 particle->set_generated_mass(mass);