Herwig 7.3.0
|
A colour flow (basis tensor). More...
#include <ColourFlows.h>
Public Member Functions | |
ColourFlow () | |
Default constructor. | |
ColourFlow (const std::vector< size_t > &perm) | |
Construct a colour flow given a permutation. | |
bool | operator== (const ColourFlow &other) const |
Compare for equality. | |
bool | operator!= (const ColourFlow &other) const |
Compare for inequality. | |
bool | operator< (const ColourFlow &other) const |
Compare for ordering. | |
ColourFlow & | conjugate () |
Conjugate this basis tensor. | |
std::size_t | scalarProduct (const ColourFlow &other) const |
Return the scalar product with another basis tensor as the resulting power of N. | |
const std::vector< std::size_t > & | permutation () const |
Return the permutation. | |
const std::size_t & | antiColour (const std::size_t &i) const |
Return the anti-colour index connected to the given colour index. | |
std::size_t | colour (const std::size_t &i) const |
Return the colour index connected to the given anti-colour index. | |
std::pair< std::size_t, std::size_t > | getTranspositionOf (const ColourFlow &other) const |
Return the swapped indices, if this corresponds to a transposition of the given one, or (0,0) | |
ColourFlow & | swap (const std::size_t &i, const std::size_t &j) |
Act a transposition on this index. | |
ColourFlow & | emitSinglet () |
Add another flow to this basis tensor; this correspons to emitting a ‘singlet’ gluon. | |
ColourFlow & | emitFromColour (const std::size_t &i) |
Emit a gluon on a given colour line. | |
ColourFlow & | emitFromAntiColour (const std::size_t &i) |
Emit a gluon on a given anti-colour line. | |
bool | isNonZero (const std::vector< std::size_t > &colours, const std::vector< std::size_t > &antiColours) const |
Return true, if this colour flow is non-vanishing for the given colours and anticolours. | |
size_t | nLegs () const |
Return the number of coloured legs. | |
Static Public Member Functions | |
template<class Rnd > | |
static ColourFlow | randomFlow (const std::size_t &n, Rnd &rnd) |
Generate a random colour flow. | |
static std::set< ColourFlow > | allFlows (const std::size_t &n) |
Generate all colour flows. | |
Private Attributes | |
std::vector< std::size_t > | thePermutation |
The vector representing the permutation of anti-fundamental w.r.t. | |
A colour flow (basis tensor).
Definition at line 60 of file ColourFlows.h.
|
inline |
|
inlineexplicit |
Construct a colour flow given a permutation.
Definition at line 72 of file ColourFlows.h.
|
inline |
Return the anti-colour index connected to the given colour index.
Definition at line 136 of file ColourFlows.h.
References thePermutation.
|
inline |
Return the colour index connected to the given anti-colour index.
Definition at line 144 of file ColourFlows.h.
References thePermutation.
Referenced by emitFromAntiColour().
|
inline |
Conjugate this basis tensor.
Definition at line 112 of file ColourFlows.h.
References thePermutation.
|
inline |
Emit a gluon on a given anti-colour line.
Definition at line 188 of file ColourFlows.h.
References colour(), and emitFromColour().
|
inline |
Emit a gluon on a given colour line.
Definition at line 178 of file ColourFlows.h.
References thePermutation.
Referenced by emitFromAntiColour().
|
inline |
Add another flow to this basis tensor; this correspons to emitting a ‘singlet’ gluon.
Definition at line 170 of file ColourFlows.h.
References thePermutation.
|
inline |
Return the number of coloured legs.
Definition at line 202 of file ColourFlows.h.
References thePermutation.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Generate a random colour flow.
Definition at line 79 of file ColourFlows.h.
References ColourFlow().
|
inline |
Act a transposition on this index.
Definition at line 160 of file ColourFlows.h.
References std::swap(), and thePermutation.
|
private |
The vector representing the permutation of anti-fundamental w.r.t.
fundamental indices.
Definition at line 210 of file ColourFlows.h.
Referenced by antiColour(), colour(), conjugate(), emitFromColour(), emitSinglet(), nLegs(), operator!=(), operator<(), operator==(), permutation(), and swap().