9 #ifndef ThePEG_ClusterCollapser_H 10 #define ThePEG_ClusterCollapser_H 13 #include "ThePEG/Handlers/StepHandler.h" 14 #include "ThePEG/Handlers/FlavourGenerator.h" 15 #include "ThePEG/EventRecord/ColourSinglet.h" 16 #include "ClusterCollapser.fh" 234 class ClusterException:
public Exception {
238 theMessage <<
"In ClusterCollapser '" << cc.
name() <<
"': ";
322 static string className() {
return "ThePEG::ClusterCollapser"; }
pair< tcPDPtr, tcPDPtr > tcPDPair
A pair of transient pointers to const ParticleData objects.
virtual SingletMap getSinglets(const tPVector &tagged) const
Go through the tagged partons and extract all colour singlet combination of partons.
virtual IBPtr clone() const
Make a simple clone of this object.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
tStepPtr newStep()
Return a pointer to a new step.
The EventHandler is the base class used to implement event handlers in ThePEG.
double pStrange
The relative probability to produce a s-sbar pair in a split as compared to a u-ubar or d-dbar pair...
int theNTry2
The number of attempts to collapse a cluster into two particles, before it is collapsed into one part...
ClassTraitsType is an empty, non-polymorphic, base class.
multimap< Energy, ColourSinglet > SingletMap
Declare a multimap of singlets indexed by their mass.
Exception::Severity errorlevel
How should we respond to errors? 0 means do nothing, ie.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
virtual ColourSinglet splitDiQuarkJunction(ColourSinglet &cs, tStepPtr newStep) const
If a singlet contains at least one diquark and a junction, split the diquark and split off a new colo...
virtual ~ClusterCollapser()
The destructor.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Ptr< FlavourGenerator >::pointer FlavGenPtr
Declare a pointer to a FlavourGenerator object.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
static bool diDiQuark(const ColourSinglet &cs)
Returns true iff the given singlet contains one string piece with diquarks in both ends...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
virtual bool collapse2(tStepPtr newStep, const ColourSinglet &cs) const
Perform the actual collapse of a cluster into two hadrons.
Energy cut() const
If the invariant mass of a cluster, minus the constituent masses of its partons is below this cut...
virtual tcPDPtr pickFlavour() const
Pick a random flavour.
This is the main namespace within which all identifiers in ThePEG are declared.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual void handle(EventHandler &eh, const tPVector &tagged, const Hint &hint)
The main function called by the EventHandler class to perform a step.
static void insert(SingletMap &mmap, const ColourSinglet &cl)
Insert a ColourSinglet object in a SingletMap.
FlavGenPtr flavGen
The flavour generator object to use to combine quarks and diqurks into hadrons.
StepHandler is the base class for implementing any model for a step in the event generation chain...
static void Init()
Standard Init function used to initialize the interfaces.
ClusterCollapser is a general StepHandler which can be called anywhere in the event generation (typic...
Energy theEnergyCut
Energy cut.
QTY< 0, 1, 0 >::Type Energy
Energy.
Hint is a base class to be used to pass information between StepHandler s, which cannot be convayed t...
A ColourSinglet object represents a set of colour-connected partons in a total colour-singlet state...
Severity
The levels of severity.
RCPtr is a reference counted (smart) pointer.
static ClassDescription< ClusterCollapser > initClusterCollapser
Describe a concrete class with persistent data.
static Energy mass(const ColourSinglet &cl)
Return the invariant mass of a cluster minus the constituent masses of its partons.
virtual tcPDPtr getHadron(const ColourSinglet &cs) const
Return a hadron into which the given cluster may collapse.
Exception is the base class for all exceptions to be used in ThePEG.
virtual tPVector getCompensators(Energy mh, const ColourSinglet &cs, const tPVector &tagged, tStepPtr newStep) const
Get particles for compensation.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static bool diQuarkJunction(const ColourSinglet &cs)
Returns true iff the given singlet contains a junction and at least one diquark.
Ptr is a templated class to provide typedefs for pointers types ThePEG should use for a given type...
The default concrete implementation of ClassTraitsBase.
ClusterCollapser()
The default constructor.
virtual vector< ColourSinglet > collapse(tPVector tagged, tStepPtr newstep)
Perform all necessary collapses.
string name() const
Returns the name of this object, without the path.
virtual tcPDPair getHadrons(const ColourSinglet &cs) const
Return a pair of hadrons into which the given cluster may collapse.
ClusterCollapser & operator=(const ClusterCollapser &)
Private and non-existent assignment operator.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< tPPtr > tPVector
A vector of transient pointers to Particle objects.
int nTry2() const
The number of attempts to collapse a cluster into two particles, before it is collapsed into one part...
BaseClassTraits describes the base classes of the templated class.
virtual ColourSinglet splitDiDiQuark(ColourSinglet &cs, tStepPtr newStep) const
If a singlet contains a simple string with diquarks in both ends, split them into quarks and split of...
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...