15 #include <HepMC3/FourVector.h>
16 #include <HepMC3/GenEvent.h>
17 #include <HepMC3/GenParticle.h>
18 #include <HepMC3/GenVertex.h>
19 #include <HepPID/ParticleIDMethods.hh>
21 namespace ActsExamples {
34 void momentumUnit(std::shared_ptr<HepMC3::GenEvent> event,
41 void lengthUnit(std::shared_ptr<HepMC3::GenEvent> event,
77 void addParticle(std::shared_ptr<HepMC3::GenEvent> event,
78 std::shared_ptr<SimParticle>
particle);
84 void addVertex(std::shared_ptr<HepMC3::GenEvent> event,
85 const std::shared_ptr<SimVertex> vertex);
94 const std::shared_ptr<SimParticle>& particle);
101 void removeVertex(std::shared_ptr<HepMC3::GenEvent> event,
102 const std::shared_ptr<SimVertex>& vertex);
111 double momentumUnit(
const std::shared_ptr<HepMC3::GenEvent> event);
116 double lengthUnit(
const std::shared_ptr<HepMC3::GenEvent> event);
126 double eventTime(
const std::shared_ptr<HepMC3::GenEvent> event);
131 std::vector<std::unique_ptr<SimParticle>>
particles(
132 const std::shared_ptr<HepMC3::GenEvent> event);
137 std::vector<std::unique_ptr<SimVertex>>
vertices(
138 const std::shared_ptr<HepMC3::GenEvent> event);
143 std::vector<std::unique_ptr<SimParticle>>
beams(
144 const std::shared_ptr<HepMC3::GenEvent> event);
149 std::vector<std::unique_ptr<SimParticle>>
finalState(
150 const std::shared_ptr<HepMC3::GenEvent> event);
158 std::shared_ptr<SimParticle> actsParticle);
165 const std::shared_ptr<SimVertex>& actsVertex);
178 const HepMC3::GenVertexPtr& genVertex);