9 #ifndef ThePEG_ColourSinglet_H 10 #define ThePEG_ColourSinglet_H 12 #include "ThePEG/EventRecord/EventConfig.h" 38 typedef StringPiece::size_type
Index;
115 const Junction &
junction(Index i,
bool forward)
const {
153 template <
typename Iterator>
154 static vector<ColourSinglet>
187 const vector<bool> & assing);
201 const vector<bool> & assign = vector<bool>());
215 const vector<bool> & assign = vector<bool>());
267 class ColourSingletException:
public Exception {};
const Junction & junction(Index i, bool forward) const
Return the sink (or source if forward is false) neighbors of a string piece with index i (note that t...
Index nPieces() const
Return the number of string pieces.
bool fill(Index s0, bool forward, tcColinePtr first, tcParticleSet &left)
Fill a string piece.
StringPiece::size_type Index
An integer type used as index in a string pieece.
static vector< ColourSinglet > getSinglets(tcParticleSet &left)
Extract colour-singlet strings/clusters of partons from the given set.
tcPVector & partons()
Access the vector of partons.
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Junction & source(Index i)
Return the sink or source neighbors of a string piece with index i (note that the indices starts with...
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
const Junction & source(Index i) const
Return the sink or source neighbors of a string piece with index i (note that the indices starts with...
const tcPVector & partons() const
Access the vector of partons.
Index addPiece()
Add a new string piece and return its index.
This is the main namespace within which all identifiers in ThePEG are declared.
static vector< ColourSinglet > getSinglets(Iterator first, Iterator last)
Extract colour-singlet strings/clusters of partons from the given range of particles.
ostream & left(ostream &os)
Stream manipulator setting an ostream to left-adjust its ouput.
pair< Index, Index > Junction
Representaion of a junction.
pair< tcPPtr, tcPPtr > tcPPair
A pair of transient pointers to const Particle objects.
tcPVector thePartons
The vector of all partons.
set< tcPPtr, less< tcPPtr > > tcParticleSet
A set of transient pointers to const Particle.
ColourSinglet splitInternal(Index sp=0)
Split a junction string.
vector< tcPPtr > tcPVector
A vector of transient pointers to const Particle objects.
A ColourSinglet object represents a set of colour-connected partons in a total colour-singlet state...
vector< StringPiece > thePieces
The different string pieces.
void swap(ColourSinglet &x)
Swap this colour singlet for the argument.
ColourSinglet()
Default constructor.
vector< Junction > theSources
The source neighbours of the string pieces.
Junction & sink(Index i)
Return the sink or source neighbors of a string piece with index i (note that the indices starts with...
Exception is the base class for all exceptions to be used in ThePEG.
tcPDVector getTripletData() const
Return a vector with data objects corresponding to all triplet partons in this singlet.
ColourSinglet splitDiDiQuark(tcPPair qq1, tcPPair qq2, const vector< bool > &assign=vector< bool >())
Split a di-quark string.
const StringPiece & piece(Index i) const
Return the partons belonging to string piece with index i (note that the indices starts with 1)...
Junction & junction(Index i, bool forward)
Return the sink (or source if forward is false) neighbors of a string piece with index i (note that t...
LorentzMomentum momentum() const
Return the total momentum for the partons in the colour singlet.
ColourSinglet splitDiQuarkJunction(Index sp, tcPPtr diq, tcPPair qq, const vector< bool > &assign=vector< bool >())
Split a junction string.
deque< tcPPtr > StringPiece
A piece of string.
StringPiece & piece(Index i)
Return the partons belonging to string piece with index i (note that the indices starts with 1)...
tcPPtr parton(tcPVector::size_type i) const
Access a parton giving an index.
const Junction & sink(Index i) const
Return the sink or source neighbors of a string piece with index i (note that the indices starts with...
Junction addJunction(Index s0, bool forward)
Add a junction which is a source (or sink if forward) to the string piece s0.
vector< Junction > theSinks
The sink neighbours of the string pieces.