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 | |
![]() | |
enum | InitState |
![]() | |
typedef unsigned int | CounterType |
![]() | |
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 |
![]() | |
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 |
![]() | |
void | debug () const |
virtual void | debugme () const |
![]() | |
CounterType | referenceCount () const |
![]() | |
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 void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
initializing | |
uninitialized | |
initialized | |
runready | |
![]() | |
const unsigned long | uniqueId |
![]() | |
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) |
![]() | |
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 &) |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
![]() | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
![]() | |
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.