Herwig 7.3.0
|
The PhaseSpaceMode
class is designed to store a group of phase-space channels for use by the DecayIntegrator class to generate the phase-space for a given decay mode.
More...
#include <PhaseSpaceMode.h>
Public Member Functions | |
Standard constructors and destructors. | |
PhaseSpaceMode () | |
The default constructor. | |
PhaseSpaceMode (tPDPtr in1, tPDVector out, double wMax, tPDPtr in2=tPDPtr(), Energy eMax=ZERO) | |
The default constructor. | |
ParticleVector | generateDecay (const Particle &inpart, tcDecayIntegratorPtr decayer, bool intermediates, bool cc) |
Generate the decay. | |
void | addChannel (PhaseSpaceChannel channel) |
Add a new channel. | |
void | resetIntermediate (int ichan, tcPDPtr part, Energy mass, Energy width) |
Reset the properties of one of the intermediate particles. | |
void | resetIntermediate (tcPDPtr part, Energy mass, Energy width) |
Reset the properties of one of the intermediate particles. | |
const vector< PhaseSpaceChannel > & | channels () const |
The phase-space channels. | |
void | setWeights (const vector< double > &wgts) |
Set the weights. | |
unsigned int | selectedChannel () const |
Access to the selected channel. | |
unsigned int | nRand () const |
Number of rnadom numbers needed. | |
void | checkOnShell (bool in) |
Set whether of not decays are generated on-shell. | |
![]() | |
void | debug () const |
virtual void | debugme () const |
![]() | |
CounterType | referenceCount () const |
Friends | |
class | PhaseSpaceChannel |
Functions used by the persistent I/O system. | |
ostream & | operator<< (ostream &os, const PhaseSpaceMode &mode) |
A friend operator to allow the mode to be outputted for debugging purposes. | |
pair< PDPtr, PDPtr > | incoming_ |
The incoming particles. | |
vector< PhaseSpaceChannel > | channels_ |
The phase-space channels. | |
double | maxWeight_ |
The maximum weight. | |
tPDVector | outgoing_ |
The external particles. | |
tPDVector | outgoingCC_ |
int | partial_ |
Which of the partial widths of the incoming particle to use. | |
cGenericWidthGeneratorPtr | widthGen_ |
The width generator for the incoming particle. | |
vector< cGenericMassGeneratorPtr > | massGen_ |
The mass generators for the outgoing particles. | |
vector< double > | BRsum_ |
bool | testOnShell_ |
Whether to check on-shell or off-shell kinematics in doinit, if on-shell off-shell is tested in initrun. | |
Energy | eMax_ |
The maximum energy for the mode. | |
unsigned int | iChannel_ |
The selected channel. | |
Energy | eps_ |
Cut-off. | |
unsigned int | nRand_ |
Number of random numbers required. | |
stack< double > | rStack_ |
Stack for the random numbers. | |
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. | |
void | init () |
Initialize the phase space. | |
void | initrun () |
Initialisation before the run stage. | |
double | maxWeight () const |
Get the maximum weight for the decay. | |
void | maxWeight (double wgt) const |
Set the maximum weight for the decay. | |
Energy | initializePhaseSpace (bool init, tcDecayIntegratorPtr decayer, bool onShell=false) |
Initialise the phase space. | |
pair< PDPtr, PDPtr > | incoming () const |
The incoming particles. | |
tPDVector | outgoing () const |
Access to the outging particles. | |
tPDVector | outgoingCC () const |
Access to the outging particles. | |
unsigned int | numberOfParticles () const |
Number of outgoing particles. | |
void | setPartialWidth (int in) |
Set the partial width to use for normalization. | |
Energy | epsilonPS () const |
Access to the epsilon parameter. | |
void | fillStack (const double *r) |
Fill the stack. | |
void | fillStack () |
Fill the stack. | |
Energy | weight (int &ichan, const Lorentz5Momentum &in, vector< Lorentz5Momentum > &momenta, bool onShell=false) const |
Return the weight for a given phase-space point. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Energy | flatPhaseSpace (const Lorentz5Momentum &in, vector< Lorentz5Momentum > &momenta, bool onShell=false) const |
Return the weight and momenta for a flat phase-space decay. | |
Energy | channelPhaseSpace (int &ichan, const Lorentz5Momentum &in, vector< Lorentz5Momentum > &momenta, bool onShell=false) const |
Generate a phase-space point using multichannel phase space. | |
vector< Energy > | externalMasses (Energy inmass, double &wgt, bool onShell) const |
Generate the masses of the external particles. | |
void | constructVertex (const Particle &in, const ParticleVector &out, tcDecayIntegratorPtr decayer) const |
Construct the vertex for spin corrections. | |
PhaseSpaceMode & | operator= (const PhaseSpaceMode &)=delete |
The assignment operator is private and must never be called. | |
Additional Inherited Members | |
![]() | |
typedef unsigned int | CounterType |
![]() | |
static void | Init () |
![]() | |
const unsigned long | uniqueId |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
The PhaseSpaceMode
class is designed to store a group of phase-space channels for use by the DecayIntegrator class to generate the phase-space for a given decay mode.
Additional phase-space channels can be added using the addChannel member.
In practice the modes are usually constructed together with the a number of PhaseSpaceChannel
objects. In classes inheriting from the DecayIntegrator class.
Definition at line 42 of file PhaseSpaceMode.h.
|
inline |
The default constructor.
Definition at line 53 of file PhaseSpaceMode.h.
|
inline |
The default constructor.
Definition at line 61 of file PhaseSpaceMode.h.
|
inline |
Add a new channel.
channel | A pointer to the new PhaseChannel |
Definition at line 90 of file PhaseSpaceMode.h.
References channels_, and Herwig::PhaseSpaceChannel::init().
|
private |
Generate a phase-space point using multichannel phase space.
ichan | The channel to use |
in | The momentum of the incoming particle |
momenta | The momenta of the outgoing particles |
onShell | Whether or not to force the intermediates to be on-shell |
Referenced by weight().
|
inline |
|
inline |
Set whether of not decays are generated on-shell.
Definition at line 147 of file PhaseSpaceMode.h.
References testOnShell_.
|
private |
Construct the vertex for spin corrections.
in | The incoming particle. |
out | The outgoing particles. |
|
inline |
|
private |
Generate the masses of the external particles.
inmass | The mass of the decaying particle. |
wgt | The weight for the masses. |
|
inline |
Fill the stack.
Definition at line 253 of file PhaseSpaceMode.h.
References nRand_, ThePEG::UseRandom::rnd(), and rStack_.
|
inline |
|
private |
Return the weight and momenta for a flat phase-space decay.
in | The momentum of the incoming particle |
momenta | The momenta of the outgoing particles |
onShell | Whether or not to force the intermediates to be on-shell |
Referenced by weight().
ParticleVector Herwig::PhaseSpaceMode::generateDecay | ( | const Particle & | inpart, |
tcDecayIntegratorPtr | decayer, | ||
bool | intermediates, | ||
bool | cc | ||
) |
Generate the decay.
intermediates | Whether or not to generate the intermediate particle in the decay channel. |
cc | Whether we are generating the mode specified or the charge conjugate mode. |
inpart | The incoming particle. |
|
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.
Energy Herwig::PhaseSpaceMode::initializePhaseSpace | ( | bool | init, |
tcDecayIntegratorPtr | decayer, | ||
bool | onShell = false |
||
) |
Initialise the phase space.
init | Perform the initialization. |
|
inline |
Get the maximum weight for the decay.
Definition at line 191 of file PhaseSpaceMode.h.
References maxWeight_.
|
inline |
Set the maximum weight for the decay.
Definition at line 197 of file PhaseSpaceMode.h.
References maxWeight_.
|
inline |
Number of rnadom numbers needed.
Definition at line 142 of file PhaseSpaceMode.h.
References nRand_.
|
inline |
Number of outgoing particles.
Definition at line 227 of file PhaseSpaceMode.h.
References outgoing_.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
|
inline |
Access to the outging particles.
Definition at line 215 of file PhaseSpaceMode.h.
References outgoing_.
|
inline |
Access to the outging particles.
Definition at line 221 of file PhaseSpaceMode.h.
void Herwig::PhaseSpaceMode::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::PhaseSpaceMode::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inline |
Reset the properties of one of the intermediate particles.
Only a specific channel is reset.
ichan | The channel to reset. |
part | The ParticleData object of the particle to reset |
mass | The mass of the intermediate. |
width | The width of gthe intermediate. |
Definition at line 103 of file PhaseSpaceMode.h.
References channels_.
|
inline |
Reset the properties of one of the intermediate particles.
All the channels are reset.
part | The ParticleData object of the particle to reset |
mass | The mass of the intermediate. |
width | The width of gthe intermediate. |
Definition at line 115 of file PhaseSpaceMode.h.
References channels_.
|
inline |
Access to the selected channel.
Definition at line 137 of file PhaseSpaceMode.h.
References iChannel_.
|
inline |
Set the partial width to use for normalization.
This is the partial width in the WidthGenerator object.
in | The partial width to use. |
Definition at line 234 of file PhaseSpaceMode.h.
References partial_.
|
inline |
Set the weights.
Definition at line 128 of file PhaseSpaceMode.h.
|
inline |
Return the weight for a given phase-space point.
in | The momentum of the incoming particle |
momenta | The momenta of the outgoing particles |
onShell | Whether or not to force the intermediates to be on-shell |
Definition at line 265 of file PhaseSpaceMode.h.
References channelPhaseSpace(), channels_, and flatPhaseSpace().
Referenced by setWeights().
|
friend |
A friend operator to allow the mode to be outputted for debugging purposes.
Definition at line 282 of file PhaseSpaceMode.h.
|
friend |
Definition at line 44 of file PhaseSpaceMode.h.
|
private |
Definition at line 381 of file PhaseSpaceMode.h.
|
private |
The phase-space channels.
Definition at line 354 of file PhaseSpaceMode.h.
Referenced by addChannel(), channels(), resetIntermediate(), setWeights(), and weight().
|
private |
The maximum energy for the mode.
Definition at line 391 of file PhaseSpaceMode.h.
|
private |
|
mutableprivate |
The selected channel.
Definition at line 396 of file PhaseSpaceMode.h.
Referenced by selectedChannel().
|
private |
The mass generators for the outgoing particles.
Definition at line 380 of file PhaseSpaceMode.h.
|
mutableprivate |
|
private |
Number of random numbers required.
Definition at line 406 of file PhaseSpaceMode.h.
Referenced by fillStack(), and nRand().
|
private |
The external particles.
Definition at line 364 of file PhaseSpaceMode.h.
Referenced by numberOfParticles(), and outgoing().
|
private |
Definition at line 365 of file PhaseSpaceMode.h.
|
private |
Which of the partial widths of the incoming particle to use.
Definition at line 370 of file PhaseSpaceMode.h.
Referenced by setPartialWidth().
|
mutableprivate |
Stack for the random numbers.
Definition at line 411 of file PhaseSpaceMode.h.
Referenced by fillStack().
|
private |
Whether to check on-shell or off-shell kinematics in doinit, if on-shell off-shell is tested in initrun.
Definition at line 386 of file PhaseSpaceMode.h.
Referenced by checkOnShell().
|
private |
The width generator for the incoming particle.
Definition at line 375 of file PhaseSpaceMode.h.