The FFDipole class generates radiation from a final-final dipole for the generation of photons in decay by the SOPTHY algorithm. More...
#include <FFDipole.h>
Public Member Functions | |
FFDipole () | |
The default constructor. | |
virtual | ~FFDipole () |
Destructor. | |
virtual ParticleVector | generatePhotons (const Particle &p, ParticleVector children, tDecayIntegratorPtr decayer) |
Member to generate the photons from the dipole. More... | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
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 () |
The standard Init function used to initialize the interfaces. More... | |
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 | |
double | photon (double beta1, double ombeta1, double beta2, double ombeta2) |
Generate the momentum of a photon. More... | |
double | exactDipoleWeight (double beta1, double ombeta1, double beta2, double ombeta2, unsigned int iphot) |
Calculate the exact weight for the dipole. More... | |
double | jacobianWeight () |
Jacobian factor for the weight. | |
double | meWeight (const ParticleVector &children) |
Matrix element weight. | |
double | makePhotons (const Boost &boost, const ParticleVector &children) |
Member which generates the photons. More... | |
bool | boostMomenta (const Boost &boost) |
Boost all the momenta from the dipole rest frame via the parent rest frame to the lab. More... | |
unsigned int | removePhotons () |
Remove any photons which fail the energy cuts. More... | |
double | collinearWeight (const ParticleVector &children) |
The real emission weight in the collinear limit. | |
double | virtualWeight (const ParticleVector &children) |
The vrtiual correction weight. | |
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... | |
Standard Interfaced functions. | |
virtual void | dofinish () |
Finalize this object. 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 IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
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 | |
FFDipole & | operator= (const FFDipole &)=delete |
The assignment operator is private and must never be called. More... | |
void | printDebugInfo (const Particle &p, const ParticleVector &children, double wgt) const |
Debug output. | |
Private Attributes | |
Energy | _emin |
The minimum photon energy in the boosted frame. | |
Energy | _eminrest |
The minimum photon energy in the rest frame. | |
Energy | _eminlab |
The minimum photon energy in the lab frame. | |
Energy | _emax |
The maximum photon energy. | |
unsigned int | _multiplicity |
Photon multiplicity being generated. | |
vector< Energy > | _m |
Masses of the particles involved. | |
double | _charge |
Produce of the particles charges. | |
vector< double > | _photonwgt |
Weights for the individual photons. | |
vector< bool > | _photcut |
Whether a given photon passes the energy cut. | |
unsigned int | _mode |
Type of unweighting to perform. | |
unsigned int | _maxtry |
Maximum number of attempts to generate a result. | |
unsigned int | _energyopt |
Option for the energy cut-off. | |
unsigned int | _betaopt |
Option for the inclusion of higher order corrections. | |
unsigned int | _dipoleopt |
Option for the form of the primary distribution. | |
tDecayIntegratorPtr | _decayer |
The decayer. | |
tPPtr | _parent |
The decaying particle. | |
vector< Lorentz5Momentum > | _qdrf |
Momenta of the particles in the dipole rest frame. More... | |
vector< Lorentz5Momentum > | _qnewdrf |
vector< Lorentz5Momentum > | _ldrf |
Momenta of the photons in the dipole rest frame. | |
Lorentz5Momentum | _bigLdrf |
Total momentum of the photons in the dipole rest frame. | |
vector< Lorentz5Momentum > | _qprf |
Momentum of the particles in the parent's rest frame. More... | |
vector< Lorentz5Momentum > | _qnewprf |
Momenta of the charged particles in the parent's rest frame after radiation. | |
vector< Lorentz5Momentum > | _lprf |
Momenta of the photons in the parent rest frame. | |
Lorentz5Momentum | _bigLprf |
Total momentum of the photons in the parent rest frame. | |
vector< Lorentz5Momentum > | _qlab |
Momentum of the particles in the lab frame. More... | |
vector< Lorentz5Momentum > | _qnewlab |
Momenta of the charged particles in the lab frame after radiation. | |
vector< Lorentz5Momentum > | _llab |
Momenta of the photons in the lab frame. | |
Lorentz5Momentum | _bigLlab |
Total momentum of the photons in the lab frame. | |
double | _dipolewgt |
Reweighting factors due to differences between the true and crude distributions. More... | |
double | _yfswgt |
Reweighting factor for the YFS form-factor. | |
double | _jacobianwgt |
Reweighting factor due to phase space. | |
double | _mewgt |
Reweighting factor due to matrix element corrections. | |
double | _maxwgt |
Maximum weight. | |
vector< double > | _cosphot |
Angles of the photons with respect to the first charged particle which are stored for numerical accuracy. More... | |
vector< double > | _sinphot |
Sine of the photon angles. | |
unsigned int | _nweight |
Storage of averages etc for testing. More... | |
double | _wgtsum |
Sum of weights. | |
double | _wgtsq |
Sum of squares of weights. | |
bool | _weightOutput |
Whether or not to output the averages. | |
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) |
The FFDipole class generates radiation from a final-final dipole for the generation of photons in decay by the SOPTHY algorithm.
Definition at line 38 of file FFDipole.h.
|
protected |
Boost all the momenta from the dipole rest frame via the parent rest frame to the lab.
boost | The boost vector from the rest frame to the lab |
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 105 of file FFDipole.h.
|
protectedvirtual |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::InterfacedBase.
|
inlineprotected |
Calculate the exact weight for the dipole.
beta1 | Velocity of the first charged particle, |
beta2 | Velocity of the second charged particle, . |
ombeta1 | One minus the velocity of the first particle, |
ombeta2 | One minus the velocity of the second particle, |
iphot | The number of the photon for which the weight is required |
Definition at line 137 of file FFDipole.h.
References sqr().
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 111 of file FFDipole.h.
|
virtual |
Member to generate the photons from the dipole.
p | The decaying particle |
children | The decay products |
decayer | The decayer for this mode |
|
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.
|
protected |
Member which generates the photons.
boost | Boost vector to take the particles produced back from the decaying particle's rest frame to the lab |
children | The decay products |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::FFDipole::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::FFDipole::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
protected |
Generate the momentum of a photon.
beta1 | The velocity, , of the first charged particle |
ombeta1 | One minus the velocity, , of the first charged particle which is supplied for numerical stability |
beta2 | The velocity, , of the second charged particle |
ombeta2 | One minus the velocity, , of the second charged particle which is supplied for numerical stability |
|
protected |
Remove any photons which fail the energy cuts.
|
private |
Angles of the photons with respect to the first charged particle which are stored for numerical accuracy.
Cosine of the photon angles
Definition at line 385 of file FFDipole.h.
|
private |
Reweighting factors due to differences between the true and crude distributions.
Reweighting factor for the real emission
Definition at line 354 of file FFDipole.h.
|
private |
|
private |
Momenta of the particles in the dipole rest frame.
Momenta of the charged particles in the dipole rest frame before radiation
Definition at line 278 of file FFDipole.h.
|
private |
Momentum of the particles in the lab frame.
Momenta of the charged particles in the lab frame before radiation
Definition at line 327 of file FFDipole.h.
|
private |
Definition at line 282 of file FFDipole.h.
|
private |
Momentum of the particles in the parent's rest frame.
Momenta of the charged particles in the parent's rest frame before radiation
Definition at line 302 of file FFDipole.h.