rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
Particle.fhh
1// -*- C++ -*-
2#ifndef RIVET_Particle_FHH
3#define RIVET_Particle_FHH
4
5#include "Rivet/Tools/RivetSTL.hh"
6
7namespace Rivet {
8
9
10 /// @name Particle declarations
11 /// @{
12
13 // Forward declarations
14 class Particle;
15 class Particles;
16
17
18 /// @name Particle function/functor declarations
19 /// @{
20
21 /// std::function instantiation for functors taking a Particle and returning a bool
22 using ParticleSelector = function<bool(const Particle&)>;
23
24 /// std::function instantiation for functors taking two Particles and returning a bool
25 using ParticleSorter = function<bool(const Particle&, const Particle&)>;
26
27 /// @}
28
29
30 /// @name PdgId declarations
31 /// @{
32
33 /// Typedefs for a PDG ID code.
34 typedef int PdgId;
35 //typedef PdgId PID; //< can't do this, because it's also a (sub)namespace
36
37 /// Typedef for a pair of particle names.
38 typedef std::pair<PdgId, PdgId> PdgIdPair;
39
40 /// @}
41
42
43 /// Enum to enable different orderings for particles
44 enum class ObjOrdering { ENERGY, ETA, ET };
45
46
47}
48
49#endif