2#ifndef RIVET_Particle_FHH
3#define RIVET_Particle_FHH
5#include "Rivet/Tools/RivetSTL.hh"
6// #include "Rivet/Tools/RivetFastJet.hh"
7// #include "Rivet/Math/Vectors.hh"
12 /// @name Particle declarations
15 // Forward declarations
20 /// @name Particle function/functor declarations
23 /// std::function instantiation for functors taking a Particle and returning a bool
24 using ParticleSelector = function<bool(const Particle&)>;
26 /// std::function instantiation for functors taking two Particles and returning a bool
27 using ParticleSorter = function<bool(const Particle&, const Particle&)>;
32 /// @name PdgId declarations
35 /// Typedefs for a PDG ID code.
37 //typedef PdgId PID; //< can't do this, because it's also a (sub)namespace
39 /// Typedef for a pair of particle names.
40 typedef std::pair<PdgId, PdgId> PdgIdPair;