Herwig 7.3.0
|
This class decays the "normal" clusters. More...
#include <ClusterDecayer.h>
Clone Methods. | |
Ptr< HadronSelector >::pointer | _hadronsSelector |
Pointer to a Herwig::HadronSelector for choosing decay types. | |
bool | _clDirLight |
Whether a cluster decays along the perturbative parton direction. | |
bool | _clDirBottom |
bool | _clDirCharm |
bool | _clDirExotic |
double | _clSmrLight |
The S parameter from decayIntoTwoHadrons. | |
double | _clSmrBottom |
double | _clSmrCharm |
double | _clSmrExotic |
bool | _onshell |
Whether or not the hadrons produced should be on-shell or generated used the MassGenerator. | |
unsigned int | _masstry |
Number of tries to generate the masses of the decay products. | |
pair< PPtr, PPtr > | decayIntoTwoHadrons (tClusterPtr ptr) |
Decays the cluster into two hadrons. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
ClusterDecayer & | operator= (const ClusterDecayer &)=delete |
Private and non-existent assignment operator. | |
void | calculatePositions (const Lorentz5Momentum &, const LorentzPoint &, const Lorentz5Momentum &, const Lorentz5Momentum &, LorentzPoint &, LorentzPoint &) const |
Compute the positions of the new hadrons based on the clusters position. | |
Standard constructors and destructors. | |
ClusterDecayer () | |
Default constructor. | |
void | decay (const ClusterVector &clusters, tPVector &finalhadrons) |
Decays all remaining clusters into hadrons. | |
void | persistentOutput (PersistentOStream &) const |
Standard ThePEG function for writing a persistent stream. | |
void | persistentInput (PersistentIStream &, int) |
Standard ThePEG function for reading from a persistent stream. | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual bool | defaultInit () |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual void | debugme () const |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () const |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Named (const Named &)=default | |
const string & | name () const |
bool | operator== (const Named &other) const |
bool | operator< (const Named &other) const |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
Interfaced (const string &newName) | |
Interfaced (const Interfaced &i) | |
void | setGenerator (tEGPtr generator) |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual IBPtr | clone () const=0 |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
This class decays the "normal" clusters.
This class decays the "normal" clusters, e.g. ones that are not heavy enough for fission, and not too light to decay into one hadron.
This class is directs the production of hadrons via 2-body cluster decays. The selection of the hadron flavours is given by Herwig::HadronSelector.
Definition at line 37 of file ClusterDecayer.h.
|
private |
Compute the positions of the new hadrons based on the clusters position.
This method calculates the positions of the children hadrons by a call to ThePEG::RandomGenerator::rndGaussTwoNumbers with width inversely proportional to the cluster mass, around the parent cluster position.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
void Herwig::ClusterDecayer::decay | ( | const ClusterVector & | clusters, |
tPVector & | finalhadrons | ||
) |
Decays all remaining clusters into hadrons.
This routine decays the clusters that are left after Herwig::ClusterFissioner::fission and Herwig::LightClusterDecayer::decay have been called. These are all the "normal" clusters which are not forced into hadrons by the other functions.
Decays the cluster into two hadrons.
This routine is used to take a given cluster and decay it into two hadrons which are returned. If one of the constituents is from the perturbative regime then the direction of the perturbative parton is remembered and the decay is preferentially in that direction. The direction of the decay is given by
\[ \cos \theta = 1 + S \log r_1 \]
where \( S \) is a parameter of the model and \( r_1 \) is a random number [0,1].
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
private |
Definition at line 137 of file ClusterDecayer.h.
|
private |
Definition at line 138 of file ClusterDecayer.h.
|
private |
Definition at line 139 of file ClusterDecayer.h.
|
private |
Whether a cluster decays along the perturbative parton direction.
Definition at line 136 of file ClusterDecayer.h.
|
private |
Definition at line 145 of file ClusterDecayer.h.
|
private |
Definition at line 146 of file ClusterDecayer.h.
|
private |
Definition at line 147 of file ClusterDecayer.h.
|
private |
The S parameter from decayIntoTwoHadrons.
Definition at line 144 of file ClusterDecayer.h.
|
private |
Pointer to a Herwig::HadronSelector for choosing decay types.
Definition at line 130 of file ClusterDecayer.h.
|
private |
Number of tries to generate the masses of the decay products.
Definition at line 159 of file ClusterDecayer.h.
|
private |
Whether or not the hadrons produced should be on-shell or generated used the MassGenerator.
Definition at line 154 of file ClusterDecayer.h.