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

#include <TwoBodyDecayMatrixElement.h>

Inheritance diagram for Herwig::TwoBodyDecayMatrixElement:

Standard constructors and destructors.

Complex matrixElement_ [5][5][5]
 Storage of the matrix element, a vector is better for memory usage.
 
 TwoBodyDecayMatrixElement ()
 Default constructor.
 
 TwoBodyDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2)
 Constructor for two body decay.
 
 TwoBodyDecayMatrixElement (PDT::Spin inspin, vector< PDT::Spin > spinout)
 Constructor for arbitary body decay.
 
 TwoBodyDecayMatrixElement (vector< PDT::Spin > extspin)
 Constructor for arbitary body decay.
 
RhoDMatrix calculateDMatrix (const vector< RhoDMatrix > &rhoout) const
 Spin Density matrices.
 
RhoDMatrix calculateRhoMatrix (int ipart, const RhoDMatrix &rhoin, const vector< RhoDMatrix > &rhoout) const
 Calculate the \(\rho\) matrix for a given outgoing particle.
 
Complex contract (const RhoDMatrix &rhoin) const
 Contract the matrix element with the \(\rho\) matrix of the incoming particle.
 
Complex contract (const TwoBodyDecayMatrixElement &con, const RhoDMatrix &rhoin)
 Contract the matrix element with the \(\rho\) matrix of the incoming particle.
 
Complex operator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2) const
 Access to the individual helicity components.
 
Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2)
 Set the helicity components for a two body decay.
 
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.
 
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 \(n\)-body decay.
 
Complexoperator() (const vector< unsigned int > &in)
 Set the helicity components for an \(n\)-body decay.
 
void zero ()
 Member to zero all the elements for the matrix element.
 

Additional Inherited Members

- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Public Member Functions inherited from Herwig::DecayMatrixElement
 DecayMatrixElement (unsigned int ntemp=999, PDT::Spin spin=PDT::SpinUndefined)
 The default constructor.
 
virtual ~DecayMatrixElement ()
 The destructor.
 
PDT::Spin inspin () const
 Access to the spins of the particles.
 
const vector< PDT::Spin > & outspin () const
 Get the spins of the outgoing particles.
 
unsigned int nOut () const
 Get the number of outgoing particles.
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 
- 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 &)
 

Detailed Description

Author
Peter Richardson

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

See also
RhoDMatrix
ProductionMatrixElement
DecayVertex

Definition at line 31 of file TwoBodyDecayMatrixElement.h.

Constructor & Destructor Documentation

◆ TwoBodyDecayMatrixElement() [1/4]

Herwig::TwoBodyDecayMatrixElement::TwoBodyDecayMatrixElement ( )
inline

Default constructor.

Definition at line 40 of file TwoBodyDecayMatrixElement.h.

◆ TwoBodyDecayMatrixElement() [2/4]

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

Constructor for two body decay.

Parameters
spinin\(2S+1\) for the decaying particle
outspin1\(2S+1\) for the first decay product.
outspin2\(2S+1\) for the second decay product.

Definition at line 48 of file TwoBodyDecayMatrixElement.h.

References Herwig::DecayMatrixElement::outspin().

◆ TwoBodyDecayMatrixElement() [3/4]

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

Constructor for arbitary body decay.

Parameters
inspin\(2S+1\) for the decaying particle
spinout\(2S+1\) for the decay products.

Definition at line 59 of file TwoBodyDecayMatrixElement.h.

References Herwig::DecayMatrixElement::outspin().

◆ TwoBodyDecayMatrixElement() [4/4]

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

Constructor for arbitary body decay.

Parameters
extspin\(2S+1\) external particles.

Definition at line 69 of file TwoBodyDecayMatrixElement.h.

References Herwig::DecayMatrixElement::outspin().

Member Function Documentation

◆ calculateDMatrix()

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

Spin Density matrices.

Calculate the decay matrix for this decay.

Parameters
rhooutThe \(D\) 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 \(\rho\) matrix for a given outgoing particle.

Parameters
ipartThe outgoing particle the \(\rho\) matrix is needed for
rhoinThe \(\rho\) matrix for the decaying particle.
rhoouthe \(D\) 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 \(\rho\) matrix of the incoming particle.

The spins of the decay products are summed over.

Parameters
rhoinThe \(\rho\) 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 \(\rho\) matrix of the incoming particle.

The spins of the decay products are summed over.

Parameters
conThe conjugate matrix elemetn for the contraction
rhoinThe \(\rho\) matrix for the decaying particle.

◆ operator()() [1/12]

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

Set the helicity components for an \(n\)-body decay.

Parameters
inThe helicities of the external particles.

Implements Herwig::DecayMatrixElement.

Definition at line 249 of file TwoBodyDecayMatrixElement.h.

References matrixElement_.

◆ operator()() [2/12]

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

Get the helicity components for an \(n\)-body decay.

Parameters
inThe helicities of the external particles.

Implements Herwig::DecayMatrixElement.

Definition at line 240 of file TwoBodyDecayMatrixElement.h.

References matrixElement_.

◆ operator()() [3/12]

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

Set the helicity components for a two body decay.

Parameters
inhelThe helicity of the decaying particle.
outhel1The helicity of the first decay product.
outhel2The helicity of the second decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 137 of file TwoBodyDecayMatrixElement.h.

References matrixElement_.

◆ operator()() [4/12]

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

Access to the individual helicity components.

Get the helicity components for a two body decay

Parameters
inhelThe helicity of the decaying particle.
outhel1The helicity of the first decay product.
outhel2The helicity of the second decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 126 of file TwoBodyDecayMatrixElement.h.

References matrixElement_.

◆ operator()() [5/12]

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

Set the helicity components for a three body decay.

Implements Herwig::DecayMatrixElement.

Definition at line 155 of file TwoBodyDecayMatrixElement.h.

◆ operator()() [6/12]

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

Get the helicity components for a three body decay.

Implements Herwig::DecayMatrixElement.

Definition at line 145 of file TwoBodyDecayMatrixElement.h.

◆ operator()() [7/12]

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

Set the helicity components for a four body decay.

Implements Herwig::DecayMatrixElement.

Definition at line 176 of file TwoBodyDecayMatrixElement.h.

◆ operator()() [8/12]

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

Get the helicity components for a four body decay.

Implements Herwig::DecayMatrixElement.

Definition at line 165 of file TwoBodyDecayMatrixElement.h.

◆ operator()() [9/12]

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

Set the helicity components for a five body decay.

Implements Herwig::DecayMatrixElement.

Definition at line 204 of file TwoBodyDecayMatrixElement.h.

◆ operator()() [10/12]

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
inhelThe helicity of the decaying particle.
outhel1The helicity of the first decay product.
outhel2The helicity of the second decay product.
outhel3The helicity of the third decay product.
outhel4The helicity of the fourth decay product.
outhel5The helicity of the fifth decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 193 of file TwoBodyDecayMatrixElement.h.

◆ operator()() [11/12]

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

Set the helicity components for a six body decay.

Implements Herwig::DecayMatrixElement.

Definition at line 227 of file TwoBodyDecayMatrixElement.h.

◆ operator()() [12/12]

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

Get the helicity components for a six body decay.

Implements Herwig::DecayMatrixElement.

Definition at line 215 of file TwoBodyDecayMatrixElement.h.

◆ zero()

void Herwig::TwoBodyDecayMatrixElement::zero ( )
inlinevirtual

Member to zero all the elements for the matrix element.

Implements Herwig::DecayMatrixElement.

Definition at line 258 of file TwoBodyDecayMatrixElement.h.

References matrixElement_.

Member Data Documentation

◆ matrixElement_

Complex Herwig::TwoBodyDecayMatrixElement::matrixElement_[5][5][5]
private

Storage of the matrix element, a vector is better for memory usage.

Definition at line 273 of file TwoBodyDecayMatrixElement.h.

Referenced by operator()(), and zero().


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