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 | |
Standard constructors and destructors. | |
IFDipole () | |
The default constructor. | |
virtual ParticleVector | generatePhotons (const Particle &p, ParticleVector children) |
Member to generate the photons from the dipole. | |
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 |
Protected Member Functions | |
Clone Methods. | |
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. | |
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) |
Standard Interfaced functions. | |
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 | |
vector< Lorentz5Momentum > | _qprf |
Momentum of the particles in the parent's rest frame. | |
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. | |
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. | |
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. | |
vector< double > | _sinphot |
Sine of the photon angles. | |
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. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
double | nbar (double beta1, double ombeta1) |
Average crude photon multiplicity. | |
double | photon (double beta1, double ombeta1) |
Generate the momentum of a photon. | |
double | exactDipoleWeight (double beta1, double ombeta1, unsigned int iphot) |
Calculate the exact weight for the dipole. | |
double | crudeYFSFormFactor (double b, double omb) |
The crude YFS form factor for calculating the weight. | |
double | exactYFSFormFactor (double beta1, double ombeta1, double beta2, double ombeta2) |
The exact YFS form factor for calculating the weight. | |
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. | |
LorentzRotation | solveBoost (const Lorentz5Momentum &q, const Lorentz5Momentum &p) const |
Compute a Lorentz transform from p to q. | |
IFDipole & | operator= (const IFDipole &)=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 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 |
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.
|
inline |
The default constructor.
Definition at line 44 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, \(\beta_1\) |
omb | One minus the velocity of the first particle, \(1-\beta_1\) |
Definition at line 165 of file IFDipole.h.
References _alpha, _chrg1, _chrg2, _emin, _m, and 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, \(\beta_1\) |
ombeta1 | One minus the velocity of the first particle, \(1-\beta_1\) |
iphot | The number of the photon for which the weight is required |
Definition at line 147 of file IFDipole.h.
References _cosphot, _sinphot, and ThePEG::sqr().
|
protected |
The exact YFS form factor for calculating the weight.
beta1 | Velocity of the first charged particle, \(\beta_1\) |
beta2 | Velocity of the second charged particle, \(\beta_2\). |
ombeta1 | One minus the velocity of the first particle, \(1-\beta_1\) |
ombeta2 | One minus the velocity of the second particle, \(1-\beta_2\) |
|
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, \(\beta_1\). |
ombeta1 | One minus the velocity of the first particle, \(1-\beta_1\). |
Definition at line 126 of file IFDipole.h.
References _alpha, _chrg1, _chrg2, _emax, _emin, and 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, \(\beta_1\), of the first charged particle |
ombeta1 | One minus the velocity, \(1-\beta_1\), 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 |
the fine structure constant at $q^2=0$
Definition at line 220 of file IFDipole.h.
Referenced by crudeYFSFormFactor(), and nbar().
|
private |
Option for the inclusion of higher order corrections.
Definition at line 375 of file IFDipole.h.
|
private |
Total momentum of the photons in the lab frame.
Definition at line 306 of file IFDipole.h.
|
private |
Total momentum of the photons in the parent rest frame.
Definition at line 281 of file IFDipole.h.
|
private |
charge of the parent particle
Definition at line 252 of file IFDipole.h.
Referenced by crudeYFSFormFactor(), and nbar().
|
private |
charge of the (charged) child particle
Definition at line 257 of file IFDipole.h.
Referenced by crudeYFSFormFactor(), and nbar().
|
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.
Referenced by exactDipoleWeight().
|
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 |
|
private |
The minimum photon energy.
Definition at line 225 of file IFDipole.h.
Referenced by crudeYFSFormFactor(), and nbar().
|
private |
Option for the energy cut-off.
Definition at line 370 of file IFDipole.h.
|
private |
Reweighting factor due to phase space.
Definition at line 328 of file IFDipole.h.
|
private |
Momenta of the photons in the lab frame.
Definition at line 301 of file IFDipole.h.
|
private |
Momenta of the photons in the parent rest frame.
Definition at line 276 of file IFDipole.h.
|
private |
Masses of the particles involved.
Definition at line 247 of file IFDipole.h.
Referenced by crudeYFSFormFactor().
|
private |
Map from arguments of lists such that _q???[_map[0]] is the charged child and _q???[_map[1]] is the neutral child.
Definition at line 242 of file IFDipole.h.
|
private |
Maximum number of attempts to generate a result.
Definition at line 365 of file IFDipole.h.
|
private |
Maximum weight.
Definition at line 338 of file IFDipole.h.
|
private |
Reweighting factor due to matrix element corrections.
Definition at line 333 of file IFDipole.h.
|
private |
Type of unweighting to perform.
Definition at line 360 of file IFDipole.h.
|
private |
Photon multiplicity being generated.
Definition at line 235 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 |
Momenta of the charged particles in the lab frame after radiation.
Definition at line 296 of file IFDipole.h.
|
private |
Momenta of the charged particles in the parent's rest frame after radiation.
Definition at line 271 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.
|
private |
Sine of the photon angles.
Definition at line 354 of file IFDipole.h.
Referenced by exactDipoleWeight().
|
private |
Reweighting factor for the YFS form-factor.
Definition at line 323 of file IFDipole.h.