48 namespace HepMCUtils {
49 ConstGenParticlePtr getParticlePtr(
const RivetHepMC::GenParticle & gp);
50 std::vector<ConstGenParticlePtr> particles(ConstGenEventPtr ge);
51 std::vector<ConstGenParticlePtr> particles(
const GenEvent *ge);
52 std::vector<ConstGenVertexPtr> vertices(ConstGenEventPtr ge);
53 std::vector<ConstGenVertexPtr> vertices(
const GenEvent *ge);
54 std::vector<ConstGenParticlePtr> particles(ConstGenVertexPtr gv,
const Relatives &relo);
55 std::vector<ConstGenParticlePtr> particles(ConstGenParticlePtr gp,
const Relatives &relo);
56 int uniqueId(ConstGenParticlePtr gp);
57 int particles_size(ConstGenEventPtr ge);
58 int particles_size(
const GenEvent* ge);
59 std::pair<ConstGenParticlePtr,ConstGenParticlePtr>
beams(
const GenEvent* ge);
60 std::shared_ptr<HepMC_IO_type> makeReader(std::string filename, std::shared_ptr<std::istream>& istrp, std::string* errm = 0);
61 bool readEvent(std::shared_ptr<HepMC_IO_type> io, std::shared_ptr<GenEvent> evt);
62 void strip(GenEvent & ge,
const set<long>& stripid = {1, -1, 2, -2, 3,-3, 21});
63 vector<string> weightNames(
const GenEvent& ge);
64 std::valarray<double> weights(
const GenEvent& ge);
65 pair<double,double> crossSection(
const GenEvent& ge,
size_t index = 0);