9 #ifndef THEPEG_QuarksToHadronsDecayer_H
10 #define THEPEG_QuarksToHadronsDecayer_H
13 #include "ThePEG/PDT/Decayer.h"
14 #include "ThePEG/Handlers/FlavourGenerator.h"
101 const PVector & children)
const;
241 struct BaseClassTrait<QuarksToHadronsDecayer,1>:
public ClassTraitsType {
250 struct ClassTraits<QuarksToHadronsDecayer>
251 :
public ClassTraitsBase<QuarksToHadronsDecayer> {
253 static string className() {
return "ThePEG::QuarksToHadronsDecayer"; }
257 static string library() {
return "QuarksToHadronsDecayer.so"; }
int fixedN() const
Return the fixed number of hadrons to be produced.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr clone() const
Make a simple clone of this object.
The Particle class is used to describe an instance of a particle.
Energy c2() const
Return the parameter used for the multiplicity distriution.
double theC3
The parameter of the multiplicity distribution.
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
double c3() const
Return the parameter used for the multiplicity distriution.
int theMinN
The minimum hadrons to be produced.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Energy theC2
The parameter of the multiplicity distribution.
virtual void distribute(const Particle &parent, PVector &children) const
Distribute the produced children in phase space.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
This is the main namespace within which all identifiers in ThePEG are declared.
virtual ~QuarksToHadronsDecayer()
Destructor.
int minN() const
Return the minimum number of hadrons to be produced.
tcFlavGenPtr flavourGenerator() const
Return a pointer to the flavour generator to be used.
QuarksToHadronsDecayer & operator=(const QuarksToHadronsDecayer &)
Private and non-existent assignment operator.
#define ThePEG_DECLARE_CLASS_POINTERS(full, abbrev)
This macro helps us to declare pointers and stuff to standard classes.
QTY< 0, 1, 0 >::Type Energy
Energy.
virtual int getN(Energy m0, Energy summq, int Nq) const
Get the number of hadrons to be produced, given the mass of the decaying particle, m0, and the number, Nq and summed masses of the quarks, summq.
FlavourGenerator is an abstract base class to be used to implement models describing the quark conten...
static ClassDescription< QuarksToHadronsDecayer > initQuarksToHadronsDecayer
Describe a concrete class with persistent data.
double c1() const
Return the parameter used for the multiplicity distriution.
QuarksToHadronsDecayer()
Default constructor.
static string library()
The name of a file containing the dynamic library where the class T is implemented.
FlavGenPtr theFlavourGenerator
The object in charge of generating hadrons spieces from given quark flavours.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double theC1
The parameter of the multiplicity distribution.
virtual ParticleVector decay(const DecayMode &dm, const Particle &p) const
Perform a decay for a given DecayMode and a given Particle instance.
RCPtr is a reference counted (smart) pointer.
static void Init()
Standard Init function used to initialize the interfaces.
virtual PVector getHadrons(int Nh, tcPDVector quarks) const
Produce Nh hadrons from the specified quarks.
virtual double reweight(const Particle &parent, const PVector &children) const
Called by distribute() to reweight the default flat phase spece.
The DecayMode class describes a decay channel of a particle.
static string className()
Return the name of class T.
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Decayer is an abstract base class to specify objects modelling the decay of a particle.
The QuarksToHadronsDecayer class inherits from Decayer and is able to decay particles to (2 or 4) qu...
vector< PPtr > ParticleVector
A vector of pointers to Particle objects.
vector< PPtr > PVector
A vector of pointers to Particle objects.
int theFixedN
The fixed number of hadrons to be produced.