herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
CVolver::ColourFlow Class Reference

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.
 
ColourFlowconjugate ()
 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)
 
ColourFlowswap (const std::size_t &i, const std::size_t &j)
 Act a transposition on this index.
 
ColourFlowemitSinglet ()
 Add another flow to this basis tensor; this correspons to emitting a `singlet' gluon.
 
ColourFlowemitFromColour (const std::size_t &i)
 Emit a gluon on a given colour line.
 
ColourFlowemitFromAntiColour (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< ColourFlowallFlows (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. More...
 

Detailed Description

A colour flow (basis tensor).

Definition at line 60 of file ColourFlows.h.

Member Data Documentation

◆ thePermutation

std::vector<std::size_t> CVolver::ColourFlow::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(), permutation(), and swap().


The documentation for this class was generated from the following file: