Herwig
7.2.1
|
This class decays the "normal" clusters. More...
#include <ClusterDecayer.h>
Public Member Functions | |
void | decay (const ClusterVector &clusters, tPVector &finalhadrons) |
Decays all remaining clusters into hadrons. More... | |
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. | |
pair< PPtr, PPtr > | decayIntoTwoHadrons (tClusterPtr ptr) |
Decays the cluster into two hadrons. More... | |
Standard constructors and destructors. | |
ClusterDecayer () | |
Default constructor. | |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::Base | |
void | debug () 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 | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
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 () |
Protected Member Functions | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. More... | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. More... | |
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 | |
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 &) |
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 &) |
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) |
Private Member Functions | |
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. More... | |
Private Attributes | |
Ptr< HadronSelector >::pointer | _hadronsSelector |
Pointer to a Herwig::HadronSelector for choosing decay types. | |
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. | |
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 |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
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
where is a parameter of the model and 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.