herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
Herwig::ThreeBodyAllOn1IntegralCalculator< T > Class Template Reference

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>

Inheritance diagram for Herwig::ThreeBodyAllOn1IntegralCalculator< T >:

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

ThreeBodyAllOn1IntegralCalculatoroperator= (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
 
_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 &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 

Detailed Description

template<class T>
class Herwig::ThreeBodyAllOn1IntegralCalculator< T >

The ThreeBodyAllOn1IntegralCalculator class is designed to integrate a function which gives \(d\Gamma/dm^2_{ij}\) to give the partial width.

See also
WidthCalculatorBase
ThreeBodyAllOn1IntegralOuter

Definition at line 28 of file ThreeBodyAllOn1IntegralCalculator.h.

Member Typedef Documentation

◆ ArgType

template<class T >
typedef double Herwig::ThreeBodyAllOn1IntegralCalculator< T >::ArgType

Argument type for the GSLIntegrator.

Definition at line 106 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ ValType

template<class T >
typedef Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::ValType

Return type for the GSLIntegrator.

Definition at line 108 of file ThreeBodyAllOn1IntegralCalculator.h.

Constructor & Destructor Documentation

◆ ThreeBodyAllOn1IntegralCalculator()

template<class T >
Herwig::ThreeBodyAllOn1IntegralCalculator< T >::ThreeBodyAllOn1IntegralCalculator ( int  intype,
Energy  inmass,
Energy  inwidth,
double  inpow,
indGamma,
int  mode,
Energy  m1,
Energy  m2,
Energy  m3 
)
inline

Constructor with the \(d\Gamma/ds\) as a function.

Parameters
intypeThe types of the different integration channels.
inmassThe mass for the Jacobian for the different channels.
inwidthThe width for the Jacobian for the different channels.
inpowThe power for the power-law smoothing function
indGammaThe pointer to the function which gives \(d\Gamma/ds\).
modeThe mode to be calculated
m1The mass of the first particle.
m2The mass of the second particle.
m3The 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().

Member Function Documentation

◆ getMass()

template<class T >
Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::getMass ( const int  imass) const
inlinevirtual

Get the mass of one of the decay products.

This must be implemented in classes inheriting from this one.

Parameters
imassThe mass required.
Returns
The mass required.

Implements Herwig::WidthCalculatorBase.

Definition at line 81 of file ThreeBodyAllOn1IntegralCalculator.h.

References Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m.

◆ operator()()

template<class T >
Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::operator() ( double  argument) const

The integrand for the inner integrand.

Parameters
argumentThe mass squared for the inner integral
Returns
The value of the inner integrand.

◆ otherMass()

template<class T >
Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::otherMass ( const int  imass) const
inlinevirtual

Get the masses of all bar the one specified.

Used to get the limits for integration.

Parameters
imassThe particle not needed
Returns
The sum of the other masses.

Implements Herwig::WidthCalculatorBase.

Definition at line 92 of file ThreeBodyAllOn1IntegralCalculator.h.

References Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m.

◆ partialWidth()

template<class T >
Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::partialWidth ( Energy2  q2) const
virtual

calculate the width for a given mass

Parameters
q2The mass squared of the decaying particle.
Returns
The partial width.

Implements Herwig::WidthCalculatorBase.

◆ resetMass()

template<class T >
void Herwig::ThreeBodyAllOn1IntegralCalculator< T >::resetMass ( int  imass,
Energy  mass 
)
inlinevirtual

Get the mass of one of the decay products.

This must be implemented in classes inheriting from this one.

Parameters
imassThe mass required.
massThe new value.
Returns
The mass required.

Implements Herwig::WidthCalculatorBase.

Definition at line 69 of file ThreeBodyAllOn1IntegralCalculator.h.

References Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m, and Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m2.

Member Data Documentation

◆ _integrator

template<class T >
GSLIntegrator Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_integrator
private

the integrator

Definition at line 164 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ _intmass

template<class T >
Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_intmass
private

The mass for the jacobian.

Definition at line 128 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ _intpower

template<class T >
double Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_intpower
private

The power for power-law smoothing.

Definition at line 138 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ _intwidth

template<class T >
Energy Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_intwidth
private

The width for the jacobian.

Definition at line 133 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ _m

◆ _m2

template<class T >
vector<Energy2> Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_m2
mutableprivate

◆ _mode

template<class T >
int Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_mode
private

The mode to be integrated.

Definition at line 144 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ _theDgamma

template<class T >
T Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_theDgamma
private

The function for the differential rate.

Definition at line 159 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ _variabletype

template<class T >
int Herwig::ThreeBodyAllOn1IntegralCalculator< T >::_variabletype
private

which scale we are using

Definition at line 123 of file ThreeBodyAllOn1IntegralCalculator.h.


The documentation for this class was generated from the following file: