herwig is hosted by Hepforge, IPPP Durham
 Herwig  7.1.5
Herwig::TwoBodyDecayMatrixElement Class Reference

#include <TwoBodyDecayMatrixElement.h>

Inheritance diagram for Herwig::TwoBodyDecayMatrixElement:

## Public Member Functions

void zero ()
Member to zero all the elements for the matrix element.

Standard constructors and destructors.
TwoBodyDecayMatrixElement ()
Default constructor.

TwoBodyDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2)
Constructor for two body decay. More...

TwoBodyDecayMatrixElement (PDT::Spin inspin, vector< PDT::Spin > spinout)
Constructor for arbitary body decay. More...

TwoBodyDecayMatrixElement (vector< PDT::Spin > extspin)
Constructor for arbitary body decay. More...

RhoDMatrix calculateDMatrix (const vector< RhoDMatrix > &rhoout) const
Spin Density matrices. More...

RhoDMatrix calculateRhoMatrix (int ipart, const RhoDMatrix &rhoin, const vector< RhoDMatrix > &rhoout) const
Calculate the matrix for a given outgoing particle. More...

Complex contract (const RhoDMatrix &rhoin) const
Contract the matrix element with the matrix of the incoming particle. More...

Complex contract (const TwoBodyDecayMatrixElement &con, const RhoDMatrix &rhoin)
Contract the matrix element with the matrix of the incoming particle. More...

Complex operator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2) const

Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2)
Set the helicity components for a two body decay. More...

Complex operator() (unsigned int, unsigned int, unsigned int, unsigned int) const
Get the helicity components for a three body decay.

Complexoperator() (unsigned int, unsigned int, unsigned int, unsigned int)
Set the helicity components for a three body decay.

Complex operator() (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) const
Get the helicity components for a four body decay.

Complexoperator() (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
Set the helicity components for a four body decay.

Complex operator() (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) const
Get the helicity components for a five body decay. More...

Complexoperator() (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
Set the helicity components for a five body decay.

Complex operator() (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) const
Get the helicity components for a six body decay.

Complexoperator() (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
Set the helicity components for a six body decay.

Complex operator() (const vector< unsigned int > &in) const
Get the helicity components for an -body decay. More...

Complexoperator() (const vector< unsigned int > &in)
Set the helicity components for an -body decay. More...

Public Member Functions inherited from Herwig::DecayMatrixElement
unsigned int nOut () const
Get the number of outgoing particles.

DecayMatrixElement (unsigned int ntemp=999, PDT::Spin spin=PDT::SpinUndefined)
The default constructor.

virtual ~DecayMatrixElement ()
The destructor.

PDT::Spin inspin () const

const vector< PDT::Spin > & outspin () const
Get the spins of the outgoing particles.

Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const

## Private Attributes

Complex matrixElement_ [5][5][5]
Storage of the matrix element, a vector is better for memory usage.

Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType

Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId

Protected Member Functions inherited from Herwig::DecayMatrixElement
vector< PDT::Spin > & outspin ()
Get the spins of the outgoing particles.

Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
ReferenceCounted (const ReferenceCounted &)

ReferenceCountedoperator= (const ReferenceCounted &)

ReferenceCounted (const ReferenceCounted &)

ReferenceCountedoperator= (const ReferenceCounted &)

## Detailed Description

Implementation of the complex matrix element for a two-body decay a decay. An arbitary number of external particles are supported.

RhoDMatrix
ProductionMatrixElement
DecayVertex

Definition at line 31 of file TwoBodyDecayMatrixElement.h.

## ◆ TwoBodyDecayMatrixElement() [1/3]

 Herwig::TwoBodyDecayMatrixElement::TwoBodyDecayMatrixElement ( PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2 )
inline

Constructor for two body decay.

Parameters
 spinin for the decaying particle outspin1 for the first decay product. outspin2 for the second decay product.

Definition at line 48 of file TwoBodyDecayMatrixElement.h.

## ◆ TwoBodyDecayMatrixElement() [2/3]

 Herwig::TwoBodyDecayMatrixElement::TwoBodyDecayMatrixElement ( PDT::Spin inspin, vector< PDT::Spin > spinout )
inline

Constructor for arbitary body decay.

Parameters
 inspin for the decaying particle spinout for the decay products.

Definition at line 59 of file TwoBodyDecayMatrixElement.h.

## ◆ TwoBodyDecayMatrixElement() [3/3]

 Herwig::TwoBodyDecayMatrixElement::TwoBodyDecayMatrixElement ( vector< PDT::Spin > extspin )
inline

Constructor for arbitary body decay.

Parameters
 extspin external particles.

Definition at line 69 of file TwoBodyDecayMatrixElement.h.

## ◆ calculateDMatrix()

 RhoDMatrix Herwig::TwoBodyDecayMatrixElement::calculateDMatrix ( const vector< RhoDMatrix > & rhoout ) const
virtual

Spin Density matrices.

Calculate the decay matrix for this decay.

Parameters
 rhoout The matrix for this decay.

Implements Herwig::DecayMatrixElement.

## ◆ calculateRhoMatrix()

 RhoDMatrix Herwig::TwoBodyDecayMatrixElement::calculateRhoMatrix ( int ipart, const RhoDMatrix & rhoin, const vector< RhoDMatrix > & rhoout ) const
virtual

Calculate the matrix for a given outgoing particle.

Parameters
 ipart The outgoing particle the matrix is needed for rhoin The matrix for the decaying particle. rhoout he matrices for the other decay products.

Implements Herwig::DecayMatrixElement.

## ◆ contract() [1/2]

 Complex Herwig::TwoBodyDecayMatrixElement::contract ( const RhoDMatrix & rhoin ) const
virtual

Contract the matrix element with the matrix of the incoming particle.

The spins of the decay products are summed over.

Parameters
 rhoin The matrix for the decaying particle.

Implements Herwig::DecayMatrixElement.

## ◆ contract() [2/2]

 Complex Herwig::TwoBodyDecayMatrixElement::contract ( const TwoBodyDecayMatrixElement & con, const RhoDMatrix & rhoin )

Contract the matrix element with the matrix of the incoming particle.

The spins of the decay products are summed over.

Parameters
 con The conjugate matrix elemetn for the contraction rhoin The matrix for the decaying particle.

## ◆ operator()() [1/5]

 Complex Herwig::TwoBodyDecayMatrixElement::operator() ( unsigned int inhel, unsigned int outhel1, unsigned int outhel2 ) const
inlinevirtual

Get the helicity components for a two body decay

Parameters
 inhel The helicity of the decaying particle. outhel1 The helicity of the first decay product. outhel2 The helicity of the second decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 126 of file TwoBodyDecayMatrixElement.h.

## ◆ operator()() [2/5]

 Complex& Herwig::TwoBodyDecayMatrixElement::operator() ( unsigned int inhel, unsigned int outhel1, unsigned int outhel2 )
inlinevirtual

Set the helicity components for a two body decay.

Parameters
 inhel The helicity of the decaying particle. outhel1 The helicity of the first decay product. outhel2 The helicity of the second decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 137 of file TwoBodyDecayMatrixElement.h.

## ◆ operator()() [3/5]

 Complex Herwig::TwoBodyDecayMatrixElement::operator() ( unsigned int , unsigned int , unsigned int , unsigned int , unsigned int , unsigned int ) const
inlinevirtual

Get the helicity components for a five body decay.

Parameters
 inhel The helicity of the decaying particle. outhel1 The helicity of the first decay product. outhel2 The helicity of the second decay product. outhel3 The helicity of the third decay product. outhel4 The helicity of the fourth decay product. outhel5 The helicity of the fifth decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 193 of file TwoBodyDecayMatrixElement.h.

## ◆ operator()() [4/5]

 Complex Herwig::TwoBodyDecayMatrixElement::operator() ( const vector< unsigned int > & in ) const
inlinevirtual

Get the helicity components for an -body decay.

Parameters
 in The helicities of the external particles.

Implements Herwig::DecayMatrixElement.

Definition at line 240 of file TwoBodyDecayMatrixElement.h.

## ◆ operator()() [5/5]

 Complex& Herwig::TwoBodyDecayMatrixElement::operator() ( const vector< unsigned int > & in )
inlinevirtual

Set the helicity components for an -body decay.

Parameters
 in The helicities of the external particles.

Implements Herwig::DecayMatrixElement.

Definition at line 249 of file TwoBodyDecayMatrixElement.h.

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