herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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. More...
 
Energy partialWidth (Energy2 q2) const
 calculate the width for a given mass More...
 
void resetMass (int imass, Energy mass)
 Get the mass of one of the decay products. More...
 
Energy getMass (const int imass) const
 Get the mass of one of the decay products. More...
 
Energy otherMass (const int imass) const
 Get the masses of all bar the one specified. More...
 
Energy operator() (double argument) const
 The integrand for the inner integrand. More...
 
- Public Member Functions inherited from Herwig::WidthCalculatorBase
virtual ~WidthCalculatorBase ()
 Destructor.
 
- 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 &)
 
 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 30 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 46 of file ThreeBodyAllOn1IntegralCalculator.h.

References 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 83 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ 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 94 of file ThreeBodyAllOn1IntegralCalculator.h.

◆ 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 71 of file ThreeBodyAllOn1IntegralCalculator.h.


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