Herwig 7.3.0
|
This class performs the decay of light clusters into a single hadron. More...
#include <LightClusterDecayer.h>
Public Member Functions | |
Standard constructors and destructors. | |
LightClusterDecayer () | |
Default constructor. | |
bool | decay (ClusterVector &clusters, tPVector &finalhadrons) |
This method does the decay of light hadron in one hadron. | |
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 |
Clone Methods. | |
Ptr< HadronSelector >::pointer | _hadronSelector |
A pointer to a Herwig::HadronSelector object used for producing 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. | |
LightClusterDecayer & | operator= (const LightClusterDecayer &)=delete |
Private and non-existent assignment operator. | |
bool | reshuffling (const tcPDPtr, tClusterPtr, tClusterPtr, tClusterVector &, tPVector &finalhadrons) |
This (private) method, called by decay(), takes care of the kinematical reshuffling necessary for energy-momentum conservation. | |
bool | partonicReshuffle (const tcPDPtr hadron, const PPtr cluster, tPVector &finalhadrons) |
This (private) method, called by decay(), performs reshuffling in the special case of a semileptonic partonic b/c decay. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
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 |
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 performs the decay of light clusters into a single hadron.
This is the class that performs the decay of light clusters into only one hadron. The major difficulty is that a kinematical reshuffling is necessary, between the cluster under consideration and its "neighbouring" clusters, to conserve energy-momentum in one-body decay. Notice that, differently from what happens in Fortran Herwig, light (that is below the threshold for the production of the lightest pair of hadrons with the proper flavours) fission products, produced by the fission of heavy clusters in ClusterFissioner have been already "decayed" into single hadron (the lightest one with proper flavour) by the same latter class, without require any reshuffling. Therefore the light clusters that are treated in this LightClusterDecayer class are produced directly (originally) by the ClusterFinder.
Notice:
Definition at line 53 of file LightClusterDecayer.h.
|
inline |
Default constructor.
Definition at line 62 of file LightClusterDecayer.h.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
bool Herwig::LightClusterDecayer::decay | ( | ClusterVector & | clusters, |
tPVector & | finalhadrons | ||
) |
This method does the decay of light hadron in one hadron.
This method requires a kinematical reshuffling for energy-momentum conservation. This is done explicitly by the (private) method reshuffling().
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
private |
This (private) method, called by decay(), performs reshuffling in the special case of a semileptonic partonic b/c decay.
hadron | The hadron to be produced |
cluster | The cluster to be reshuffled |
finalhadrons | The vector of outgoing hadrons |
void Herwig::LightClusterDecayer::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::LightClusterDecayer::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
private |
A pointer to a Herwig::HadronSelector object used for producing hadrons.
Definition at line 142 of file LightClusterDecayer.h.