The IFDipole class generates radiation from a final-final dipole for the generation of photons in decay by the SOPTHY algorithm. More...
#include <IFDipole.h>
Public Member Functions | |
virtual ParticleVector | generatePhotons (const Particle &p, ParticleVector children) |
Member to generate the photons from the dipole. More... | |
Standard constructors and destructors. | |
IFDipole () | |
The default constructor. | |
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 | nbar (double beta1, double ombeta1) |
Average crude photon multiplicity. More... | |
double | photon (double beta1, double ombeta1) |
Generate the momentum of a photon. More... | |
double | exactDipoleWeight (double beta1, double ombeta1, unsigned int iphot) |
Calculate the exact weight for the dipole. More... | |
double | crudeYFSFormFactor (double b, double omb) |
The crude YFS form factor for calculating the weight. More... | |
double | exactYFSFormFactor (double beta1, double ombeta1, double beta2, double ombeta2) |
The exact YFS form factor for calculating the weight. More... | |
double | jacobianWeight () |
Jacobian factor for the weight. | |
double | meWeight (ParticleVector children) |
Matrix element weight. | |
double | makePhotons (Boost boost, ParticleVector children) |
Member which generates the photons. More... | |
LorentzRotation | solveBoost (const Lorentz5Momentum &q, const Lorentz5Momentum &p) const |
Compute a Lorentz transform from p to q. More... | |
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 | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. 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 | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
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 | |
IFDipole & | operator= (const IFDipole &)=delete |
The assignment operator is private and must never be called. More... | |
Private Attributes | |
double | _alpha |
the fine structure constant at $q^2=0$ | |
Energy | _emin |
The minimum photon energy. | |
Energy | _emax |
The maximum photon energy. | |
unsigned int | _multiplicity |
Photon multiplicity being generated. | |
vector< int > | _map |
Map from arguments of lists such that _q???[_map[0]] is the charged child and _q???[_map[1]] is the neutral child. | |
vector< Energy > | _m |
Masses of the particles involved. | |
double | _chrg1 |
charge of the parent particle | |
double | _chrg2 |
charge of the (charged) child particle | |
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. | |
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. | |
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 IFDipole class generates radiation from a final-final dipole for the generation of photons in decay by the SOPTHY algorithm.
Definition at line 35 of file IFDipole.h.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 97 of file IFDipole.h.
|
inlineprotected |
The crude YFS form factor for calculating the weight.
b | Velocity of the first charged particle, |
omb | One minus the velocity of the first particle, |
Definition at line 165 of file IFDipole.h.
References ThePEG::Constants::pi.
|
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.
|
inlineprotected |
Calculate the exact weight for the dipole.
beta1 | Velocity of the first charged particle, |
ombeta1 | One minus the velocity of the first particle, |
iphot | The number of the photon for which the weight is required |
Definition at line 147 of file IFDipole.h.
References sqr().
|
protected |
The exact YFS form factor for calculating the weight.
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, |
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 103 of file IFDipole.h.
|
virtual |
Member to generate the photons from the dipole.
p | The decaying particle |
children | The decay products |
|
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 |
|
inlineprotected |
Average crude photon multiplicity.
beta1 | Velocity of the first charged particle, . |
ombeta1 | One minus the velocity of the first particle, . |
Definition at line 126 of file IFDipole.h.
References ThePEG::Constants::pi.
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::IFDipole::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::IFDipole::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 |
|
protected |
Compute a Lorentz transform from p to q.
p | Original momentum |
q | Final momentum |
|
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 349 of file IFDipole.h.
|
private |
Reweighting factors due to differences between the true and crude distributions.
Reweighting factor for the real emission
Definition at line 318 of file IFDipole.h.
|
private |
Momentum of the particles in the lab frame.
Momenta of the charged particles in the lab frame before radiation
Definition at line 291 of file IFDipole.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 266 of file IFDipole.h.