Herwig 7.3.0
|
The ThreeBodyAllOn1IntegralCalculator class is designed to integrate a function which gives \(d\Gamma/dm^2_{ij}\) to give the partial width. More...
#include <ThreeBodyAllOn1IntegralCalculator.h>
Public Types | |
typedef double | ArgType |
Argument type for the GSLIntegrator. | |
typedef Energy | ValType |
Return type for the GSLIntegrator. | |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Member Functions | |
ThreeBodyAllOn1IntegralCalculator (int intype, Energy inmass, Energy inwidth, double inpow, T indGamma, int mode, Energy m1, Energy m2, Energy m3) | |
Constructor with the \(d\Gamma/ds\) as a function. | |
Energy | partialWidth (Energy2 q2) const |
calculate the width for a given mass | |
void | resetMass (int imass, Energy mass) |
Get the mass of one of the decay products. | |
Energy | getMass (const int imass) const |
Get the mass of one of the decay products. | |
Energy | otherMass (const int imass) const |
Get the masses of all bar the one specified. | |
Energy | operator() (double argument) const |
The integrand for the inner integrand. | |
Public Member Functions inherited from Herwig::WidthCalculatorBase | |
virtual | ~WidthCalculatorBase () |
Destructor. | |
virtual Energy | partialWidth (Energy2 scale) const =0 |
Calculate the partial width. | |
virtual void | resetMass (int imass, Energy mass)=0 |
Reset the mass of a particle (used to integrate over the mass.) This must be implemented in classes inheriting from this one. | |
virtual Energy | getMass (const int imass) const =0 |
Get the mass of one of the decay products. | |
virtual Energy | otherMass (const int imass) const =0 |
Get the masses of all bar the one specified. | |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Private Member Functions | |
ThreeBodyAllOn1IntegralCalculator & | operator= (const ThreeBodyAllOn1IntegralCalculator &)=delete |
Private and non-existent assignment operator. | |
Private Attributes | |
int | _variabletype |
which scale we are using | |
Energy | _intmass |
The mass for the jacobian. | |
Energy | _intwidth |
The width for the jacobian. | |
double | _intpower |
The power for power-law smoothing. | |
int | _mode |
The mode to be integrated. | |
vector< Energy > | _m |
masses of the external particles | |
vector< Energy2 > | _m2 |
mass squareds of the external particles | |
T | _theDgamma |
The function for the differential rate. | |
GSLIntegrator | _integrator |
the integrator | |
Additional Inherited Members | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
The ThreeBodyAllOn1IntegralCalculator class is designed to integrate a function which gives \(d\Gamma/dm^2_{ij}\) to give the partial width.
Definition at line 28 of file ThreeBodyAllOn1IntegralCalculator.h.
typedef double Herwig::ThreeBodyAllOn1IntegralCalculator< T >::ArgType |
Argument type for the GSLIntegrator.
Definition at line 106 of file ThreeBodyAllOn1IntegralCalculator.h.
typedef Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::ValType |
Return type for the GSLIntegrator.
Definition at line 108 of file ThreeBodyAllOn1IntegralCalculator.h.
|
inline |
Constructor with the \(d\Gamma/ds\) as a function.
intype | The types of the different integration channels. |
inmass | The mass for the Jacobian for the different channels. |
inwidth | The width for the Jacobian for the different channels. |
inpow | The power for the power-law smoothing function |
indGamma | The pointer to the function which gives \(d\Gamma/ds\). |
mode | The mode to be calculated |
m1 | The mass of the first particle. |
m2 | The mass of the second particle. |
m3 | The mass of the third particle. |
Definition at line 44 of file ThreeBodyAllOn1IntegralCalculator.h.
References Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m, Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m2, and ThePEG::sqr().
|
inlinevirtual |
Get the mass of one of the decay products.
This must be implemented in classes inheriting from this one.
imass | The mass required. |
Implements Herwig::WidthCalculatorBase.
Definition at line 81 of file ThreeBodyAllOn1IntegralCalculator.h.
References Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m.
Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::operator() | ( | double | argument | ) | const |
The integrand for the inner integrand.
argument | The mass squared for the inner integral |
|
inlinevirtual |
Get the masses of all bar the one specified.
Used to get the limits for integration.
imass | The particle not needed |
Implements Herwig::WidthCalculatorBase.
Definition at line 92 of file ThreeBodyAllOn1IntegralCalculator.h.
References Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m.
|
virtual |
calculate the width for a given mass
q2 | The mass squared of the decaying particle. |
Implements Herwig::WidthCalculatorBase.
|
inlinevirtual |
Get the mass of one of the decay products.
This must be implemented in classes inheriting from this one.
imass | The mass required. |
mass | The new value. |
Implements Herwig::WidthCalculatorBase.
Definition at line 69 of file ThreeBodyAllOn1IntegralCalculator.h.
References Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m, and Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m2.
|
private |
the integrator
Definition at line 164 of file ThreeBodyAllOn1IntegralCalculator.h.
|
private |
The mass for the jacobian.
Definition at line 128 of file ThreeBodyAllOn1IntegralCalculator.h.
|
private |
The power for power-law smoothing.
Definition at line 138 of file ThreeBodyAllOn1IntegralCalculator.h.
|
private |
The width for the jacobian.
Definition at line 133 of file ThreeBodyAllOn1IntegralCalculator.h.
|
mutableprivate |
masses of the external particles
Definition at line 149 of file ThreeBodyAllOn1IntegralCalculator.h.
Referenced by Herwig::ThreeBodyAllOn1IntegralCalculator< T >::getMass(), Herwig::ThreeBodyAllOn1IntegralCalculator< T >::otherMass(), Herwig::ThreeBodyAllOn1IntegralCalculator< T >::resetMass(), and Herwig::ThreeBodyAllOn1IntegralCalculator< T >::ThreeBodyAllOn1IntegralCalculator().
|
mutableprivate |
mass squareds of the external particles
Definition at line 154 of file ThreeBodyAllOn1IntegralCalculator.h.
Referenced by Herwig::ThreeBodyAllOn1IntegralCalculator< T >::resetMass(), and Herwig::ThreeBodyAllOn1IntegralCalculator< T >::ThreeBodyAllOn1IntegralCalculator().
|
private |
The mode to be integrated.
Definition at line 144 of file ThreeBodyAllOn1IntegralCalculator.h.
|
private |
The function for the differential rate.
Definition at line 159 of file ThreeBodyAllOn1IntegralCalculator.h.
|
private |
which scale we are using
Definition at line 123 of file ThreeBodyAllOn1IntegralCalculator.h.