Herwig 7.3.0
|
Here is the documentation of the GeneralCurrentDecayer class. More...
#include <GeneralCurrentDecayer.h>
Public Member Functions | |
GeneralCurrentDecayer () | |
The default constructor. | |
Virtual functions required by the Decayer class. | |
virtual int | modeNumber (bool &cc, tcPDPtr parent, const tPDVector &children) const |
Which of the possible decays is required. | |
virtual Energy | partialWidth (tPDPtr inpart, tPDPtr outa, vector< tPDPtr > currout)=0 |
Function to return partial Width. | |
void | setDecayInfo (PDPtr in, PDPtr out, const vector< tPDPtr > &outCurrent, VertexBasePtr vertex, WeakCurrentPtr current, Energy maxmass) |
set up the decay | |
Public Member Functions inherited from Herwig::DecayIntegrator | |
DecayIntegrator () | |
The default constructor. | |
virtual bool | accept (tcPDPtr parent, const tPDVector &children) const |
Check if this decayer can perfom the decay for a particular mode. | |
virtual ParticleVector | decay (const Particle &parent, const tPDVector &children) const |
For a given decay mode and a given particle instance, perform the decay and return the decay products. | |
virtual int | modeNumber (bool &cc, tcPDPtr parent, const tPDVector &children) const =0 |
Which of the possible decays is required. | |
int | imode () const |
The mode being used for this decay. | |
void | addMode (PhaseSpaceModePtr mode) const |
Add a phase-space mode to the list. | |
virtual double | me2 (const int ichan, const Particle &part, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, MEOption meopt) const =0 |
Return the matrix element squared for a given mode and phase-space channel. | |
virtual void | constructSpinInfo (const Particle &part, ParticleVector outgoing) const =0 |
Construct the SpinInfos for the particles produced in the decay. | |
virtual void | dataBaseOutput (ofstream &os, bool header) const |
Output the setup information for the particle database. | |
void | setPartialWidth (const DecayMode &dm, int imode) |
Set the code for the partial width. | |
virtual bool | twoBodyMEcode (const DecayMode &, int &mecode, double &coupling) const |
Specify the \(1\to2\) matrix element to be used in the running width calculation. | |
virtual WidthCalculatorBasePtr | threeBodyMEIntegrator (const DecayMode &dm) const |
Method to return an object to calculate the 3 (or higher body) partial width. | |
virtual double | threeBodyMatrixElement (const int imode, const Energy2 q2, const Energy2 s3, const Energy2 s2, const Energy2 s1, const Energy m1, const Energy m2, const Energy m3) const |
The matrix element to be integrated for the three-body decays as a function of the invariant masses of pairs of the outgoing particles. | |
virtual InvEnergy | threeBodydGammads (const int imode, const Energy2 q2, const Energy2 s, const Energy m1, const Energy m2, const Energy m3) const |
The differential three body decay rate with one integral performed. | |
int | findMode (const DecayMode &dm) |
Finds the phase-space mode corresponding to a given decay mode. | |
ParticleVector | generatePhotons (const Particle &p, ParticleVector children) |
Members for the generation of QED radiation in the decays. | |
bool | canGeneratePhotons () |
check if photons can be generated in the decay | |
virtual double | oneLoopVirtualME (unsigned int imode, const Particle &part, const ParticleVector &products) |
The one-loop virtual correction. | |
bool | hasOneLoopME () |
Whether or not the one loop matrix element is implemented. | |
virtual InvEnergy2 | realEmissionME (unsigned int imode, const Particle &part, ParticleVector &products, unsigned int iemitter, double ctheta, double stheta, const LorentzRotation &rot1, const LorentzRotation &rot2) |
The real emission matrix element. | |
bool | hasRealEmissionME () |
Whether or not the real emission matrix element is implemented. | |
bool | warnings () const |
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. | |
Public Member Functions inherited from Herwig::HwDecayerBase | |
HwDecayerBase () | |
The default constructor. | |
virtual bool | accept (const DecayMode &dm) const |
Check if this decayer can perfom the decay specified by the given decay mode. | |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p) const |
Perform a decay for a given DecayMode and a given Particle instance. | |
virtual POWHEGType | hasPOWHEGCorrection () |
Has a POWHEG style correction. | |
virtual bool | hasMECorrection () |
Has an old fashioned ME correction. | |
virtual void | initializeMECorrection (RealEmissionProcessPtr, double &, double &) |
Initialize the ME correction. | |
virtual RealEmissionProcessPtr | applyHardMatrixElementCorrection (RealEmissionProcessPtr) |
Apply the hard matrix element correction to a given hard process or decay. | |
virtual bool | softMatrixElementVeto (PPtr parent, PPtr progenitor, const bool &fs, const Energy &highestpT, const vector< tcPDPtr > &ids, const double &z, const Energy &scale, const Energy &pT) |
Apply the soft matrix element correction. | |
virtual RealEmissionProcessPtr | generateHardest (RealEmissionProcessPtr) |
Apply the POWHEG style correction. | |
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. | |
bool | initialize () const |
Access to the initialize variable. | |
bool | databaseOutput () const |
Access the database output variable. | |
Public Member Functions inherited from ThePEG::Decayer | |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual bool | accept (const DecayMode &dm) const=0 |
virtual bool | needsFullStep () const |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p) const=0 |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p, Step &step) const |
virtual double | brat (const DecayMode &dm, const ParticleData &pd, double oldbrat) const |
virtual double | brat (const DecayMode &dm, const Particle &p, double oldbrat) const |
virtual ParticleVector | getChildren (const DecayMode &dm, const Particle &parent) const |
virtual void | finalBoost (const Particle &parent, const ParticleVector &children) const |
virtual void | setScales (const Particle &parent, const ParticleVector &children) const |
Ptr< Amplitude >::pointer | amplitude () const |
Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom > | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
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 |
Standard Interfaced functions. | |
VertexBasePtr | theVertex_ |
Pointer to vertex set in inheriting class. | |
PDPtr | inpart_ |
Incoming particle. | |
PDPtr | outpart_ |
First outgoing particle. | |
vector< tPDPtr > | currentOut_ |
Outgoing particles from the current. | |
WeakCurrentPtr | current_ |
Pointer to the current. | |
Energy | maxmass_ |
Maximum mass difference. | |
unsigned int | mode_ |
mapping of the modes to the currents | |
int | wgtloc_ |
location of the weights | |
double | wgtmax_ |
the maximum weight | |
vector< double > | weights_ |
The weights for the different channels. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object. | |
int | modeNumber (bool &cc, vector< long > id) const |
The number of the mode. | |
unsigned int | mode () const |
Access to the map between the number of the mode and the modes in the current. | |
WeakCurrentPtr | weakCurrent () const |
Access to the weak current. | |
VertexBasePtr | vertex () const |
Get vertex pointer. | |
GeneralCurrentDecayer & | operator= (const GeneralCurrentDecayer &)=delete |
The assignment operator is private and must never be called. | |
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 () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Public Types inherited from Herwig::DecayIntegrator | |
enum | MEOption { Initialize , Calculate , Terminate } |
Enum for the matrix element option. More... | |
Public Types inherited from Herwig::HwDecayerBase | |
enum | POWHEGType { No , ISR , FSR , Both } |
Virtual members to be overridden by inheriting classes which implement hard corrections. More... | |
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 Herwig::DecayIntegrator | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from Herwig::HwDecayerBase | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from ThePEG::Decayer | |
static void | Init () |
static ParticleVector | DecayParticle (tPPtr parent, Step &step, long maxtry=1000) |
Static Public Member Functions inherited from ThePEG::HandlerBase | |
static void | Init () |
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 Herwig::DecayIntegrator | |
ParticleVector | generate (bool inter, bool cc, const unsigned int &imode, const Particle &inpart) const |
Generate the momenta for the decay. | |
void | imode (int in) |
Set the mode being use for this decay. | |
void | ME (DecayMEPtr in) const |
Set the helicity matrix element for the decay. | |
DecayMEPtr | ME () const |
The helicity amplitude matrix element for spin correlations. | |
void | resetIntermediate (tcPDPtr part, Energy mass, Energy width) |
Reset the properities of all intermediates. | |
Energy | initializePhaseSpaceMode (unsigned int imode, bool init, bool onShell=false) const |
Initialize the phase-space mode. | |
void | generateIntermediates (bool in) |
Methods to set variables in inheriting classes. | |
bool | generateIntermediates () const |
Set whether or not the intermediates are included. | |
void | hasOneLoopME (bool in) |
Whether or not the one loop matrix element is implemented. | |
void | hasRealEmissionME (bool in) |
Whether or not the real emission matrix element is implemented. | |
void | epsilonPS (Energy in) |
Set the epsilon parameter. | |
void | clearModes () |
Clear the models. | |
unsigned int | numberModes () const |
Number of decay modes. | |
tPhaseSpaceModePtr | mode (unsigned int ix) |
Pointer to a mode. | |
tcPhaseSpaceModePtr | mode (unsigned int ix) const |
Pointer to a mode. | |
Protected Member Functions inherited from Herwig::HwDecayerBase | |
virtual void | dofinish () |
Finalize this object. | |
void | fixRho (RhoDMatrix &) const |
Set rho to be diagonal if no correlations. | |
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) |
Here is the documentation of the GeneralCurrentDecayer class.
Definition at line 31 of file GeneralCurrentDecayer.h.
|
inline |
The default constructor.
Definition at line 38 of file GeneralCurrentDecayer.h.
|
protectedvirtual |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in Herwig::FFVCurrentDecayer.
|
protectedvirtual |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from Herwig::DecayIntegrator.
|
static |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
|
inlineprotected |
Access to the map between the number of the mode and the modes in the current.
Definition at line 125 of file GeneralCurrentDecayer.h.
References mode_.
|
virtual |
Which of the possible decays is required.
cc | Is this mode the charge conjugate |
parent | The decaying particle |
children | The decay products |
Implements Herwig::DecayIntegrator.
|
protected |
The number of the mode.
cc | Whether of not this is the charge conjugate of the defined mode |
id | The PDG codes of the particles |
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
|
pure virtual |
Function to return partial Width.
inpart | Pointer to incoming particle data object |
outa | Pointer to first outgoing particle data object |
currout | Pointer to particles in the current |
Implemented in Herwig::FFVCurrentDecayer.
void Herwig::GeneralCurrentDecayer::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::GeneralCurrentDecayer::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inlineprotected |
Get vertex pointer.
Definition at line 136 of file GeneralCurrentDecayer.h.
References theVertex_.
|
inlineprotected |
Access to the weak current.
Definition at line 130 of file GeneralCurrentDecayer.h.
References current_.
|
private |
Pointer to the current.
Definition at line 171 of file GeneralCurrentDecayer.h.
Referenced by weakCurrent().
|
private |
Outgoing particles from the current.
Definition at line 166 of file GeneralCurrentDecayer.h.
|
private |
Incoming particle.
Definition at line 156 of file GeneralCurrentDecayer.h.
|
private |
Maximum mass difference.
Definition at line 176 of file GeneralCurrentDecayer.h.
|
private |
mapping of the modes to the currents
Definition at line 181 of file GeneralCurrentDecayer.h.
Referenced by mode().
|
private |
First outgoing particle.
Definition at line 161 of file GeneralCurrentDecayer.h.
|
private |
Pointer to vertex set in inheriting class.
Definition at line 151 of file GeneralCurrentDecayer.h.
Referenced by vertex().
|
private |
The weights for the different channels.
Definition at line 196 of file GeneralCurrentDecayer.h.
|
private |
location of the weights
Definition at line 186 of file GeneralCurrentDecayer.h.
|
private |
the maximum weight
Definition at line 191 of file GeneralCurrentDecayer.h.