Diagram¶
-
class Diagram¶
A tree-level Feynman diagram: external masses, internal Propagator lines and the vertices connecting them.
Incoming and outgoing lines and propagators are each 0-indexed. A collision has two incoming lines, the beams 0 and 1; a decay has the single decaying particle as incoming line 0. A
Diagramis turned into one or more Topology integration channels. PhaseSpaceMapping walks those to build the recursive phase-space decomposition (Sec. 2.2 of [1]).References
[1] T. Heimel, O. Mattelaer, R. Winterhalder, “MadSpace”, https://arxiv.org/abs/2602.06895
Public Types
Public Functions
-
Diagram(const std::vector<double> &incoming_masses, const std::vector<double> &outgoing_masses, const std::vector<Propagator> &propagators, const std::vector<Vertex> &vertices)¶
- Parameters:
incoming_masses – Masses of the incoming particles: the two beams of a collision, or the single decaying particle.
outgoing_masses – Masses of the outgoing particles.
propagators – The internal lines.
vertices – The vertices, each listing its LineRef lines.
-
inline const std::vector<double> &incoming_masses() const¶
Masses of the incoming particles.
-
inline const std::vector<double> &outgoing_masses() const¶
Masses of the outgoing particles.
-
inline const std::vector<Propagator> &propagators() const¶
The internal propagator lines.
-
inline const std::vector<int> &incoming_vertices() const¶
Index of the vertex each incoming line attaches to.
One entry per incoming particle: two for a collision, one for a decay.
-
inline const std::vector<int> &outgoing_vertices() const¶
Index of the vertex each outgoing line attaches to.
-
inline bool is_decay() const¶
Whether this diagram is a decay, with a single incoming particle.
-
inline const std::vector<std::vector<std::size_t>> &propagator_vertices() const¶
For each propagator, the indices of its two end vertices.