herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
Herwig::GeneralDecayMatrixElement Class Reference

#include <GeneralDecayMatrixElement.h>

Inheritance diagram for Herwig::GeneralDecayMatrixElement:

Public Member Functions

void zero ()
 Member to zero all the elements for the matrix element.
 
void setMESize ()
 Set the size of the vector containing the matrix element.
 
Standard constructors and destructors.
 GeneralDecayMatrixElement ()
 Default constructor.
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2)
 Constructor for two body decay. More...
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2, PDT::Spin outspin3)
 Constructor for three body decay. More...
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2, PDT::Spin outspin3, PDT::Spin outspin4)
 Constructor for four body decay. More...
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2, PDT::Spin outspin3, PDT::Spin outspin4, PDT::Spin outspin5)
 Constructor for five body decay. More...
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2, PDT::Spin outspin3, PDT::Spin outspin4, PDT::Spin outspin5, PDT::Spin outspin6)
 Constructor for six body decay. More...
 
 GeneralDecayMatrixElement (PDT::Spin spinin, vector< PDT::Spin > spinout)
 Constructor for arbitary body decay. More...
 
 GeneralDecayMatrixElement (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 $\rho$ matrix for a given outgoing particle. More...
 
Complex contract (const RhoDMatrix &rhoin) const
 Contract the matrix element with the $\rho$ matrix of the incoming particle. More...
 
Complex contract (const GeneralDecayMatrixElement &con, const RhoDMatrix &rhoin)
 Contract the matrix element with the $\rho$ matrix of the incoming particle. More...
 
Complex operator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2) const
 Access to the individual helicity components. More...
 
Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2)
 Set the helicity components for a two body decay. More...
 
Complex operator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3) const
 Get the helicity components for a three body decay. More...
 
Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3)
 Set the helicity components for a three body decay. More...
 
Complex operator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3, unsigned int outhel4) const
 Get the helicity components for a four body decay. More...
 
Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3, unsigned int outhel4)
 Set the helicity components for a four body decay. More...
 
Complex operator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3, unsigned int outhel4, unsigned int outhel5) const
 Get the helicity components for a five body decay. More...
 
Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3, unsigned int outhel4, unsigned int outhel5)
 Set the helicity components for a five body decay. More...
 
Complex operator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3, unsigned int outhel4, unsigned int outhel5, unsigned int outhel6) const
 Get the helicity components for a six body decay. More...
 
Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3, unsigned int outhel4, unsigned int outhel5, unsigned int outhel6)
 Set the helicity components for a six body decay. More...
 
Complex operator() (const vector< unsigned int > &in) const
 Get the helicity components for an $n$-body decay. More...
 
Complexoperator() (const vector< unsigned int > &in)
 Set the helicity components for an $n$-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
 Access to the spins of the particles. More...
 
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

vector< ComplexmatrixElement_
 Storage of the matrix element, a vector is better for memory usage.
 
vector< unsigned int > constants_
 Constants needed to map the index of the vector to a helicity structure.
 

Additional Inherited Members

- 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

Author
Peter Richardson

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

See also
RhoDMatrix
ProductionMatrixElement
DecayVertex

Definition at line 32 of file GeneralDecayMatrixElement.h.

Constructor & Destructor Documentation

◆ GeneralDecayMatrixElement() [1/7]

Herwig::GeneralDecayMatrixElement::GeneralDecayMatrixElement ( 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 49 of file GeneralDecayMatrixElement.h.

◆ GeneralDecayMatrixElement() [2/7]

Herwig::GeneralDecayMatrixElement::GeneralDecayMatrixElement ( PDT::Spin  spinin,
PDT::Spin  outspin1,
PDT::Spin  outspin2,
PDT::Spin  outspin3 
)
inline

Constructor for three 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.
outspin3$2S+1$ for the third decay product.

Definition at line 64 of file GeneralDecayMatrixElement.h.

◆ GeneralDecayMatrixElement() [3/7]

Herwig::GeneralDecayMatrixElement::GeneralDecayMatrixElement ( PDT::Spin  spinin,
PDT::Spin  outspin1,
PDT::Spin  outspin2,
PDT::Spin  outspin3,
PDT::Spin  outspin4 
)
inline

Constructor for four 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.
outspin3$2S+1$ for the third decay product.
outspin4$2S+1$ for the fourth decay product.

Definition at line 81 of file GeneralDecayMatrixElement.h.

◆ GeneralDecayMatrixElement() [4/7]

Herwig::GeneralDecayMatrixElement::GeneralDecayMatrixElement ( PDT::Spin  spinin,
PDT::Spin  outspin1,
PDT::Spin  outspin2,
PDT::Spin  outspin3,
PDT::Spin  outspin4,
PDT::Spin  outspin5 
)
inline

Constructor for five 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.
outspin3$2S+1$ for the third decay product.
outspin4$2S+1$ for the fourth decay product.
outspin5$2S+1$ for the fifth decay product.

Definition at line 100 of file GeneralDecayMatrixElement.h.

◆ GeneralDecayMatrixElement() [5/7]

Herwig::GeneralDecayMatrixElement::GeneralDecayMatrixElement ( PDT::Spin  spinin,
PDT::Spin  outspin1,
PDT::Spin  outspin2,
PDT::Spin  outspin3,
PDT::Spin  outspin4,
PDT::Spin  outspin5,
PDT::Spin  outspin6 
)
inline

Constructor for six 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.
outspin3$2S+1$ for the third decay product.
outspin4$2S+1$ for the fourth decay product.
outspin5$2S+1$ for the fifth decay product.
outspin6$2S+1$ for the sixth decay product.

Definition at line 121 of file GeneralDecayMatrixElement.h.

◆ GeneralDecayMatrixElement() [6/7]

Herwig::GeneralDecayMatrixElement::GeneralDecayMatrixElement ( PDT::Spin  spinin,
vector< PDT::Spin spinout 
)
inline

Constructor for arbitary body decay.

Parameters
spinin$2S+1$ for the decaying particle
spinout$2S+1$ for the decay products.

Definition at line 139 of file GeneralDecayMatrixElement.h.

◆ GeneralDecayMatrixElement() [7/7]

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

Constructor for arbitary body decay.

Parameters
extspin$2S+1$ external particles.

Definition at line 149 of file GeneralDecayMatrixElement.h.

Member Function Documentation

◆ calculateDMatrix()

RhoDMatrix Herwig::GeneralDecayMatrixElement::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::GeneralDecayMatrixElement::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::GeneralDecayMatrixElement::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::GeneralDecayMatrixElement::contract ( const GeneralDecayMatrixElement 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::GeneralDecayMatrixElement::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 206 of file GeneralDecayMatrixElement.h.

◆ operator()() [2/12]

Complex& Herwig::GeneralDecayMatrixElement::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 220 of file GeneralDecayMatrixElement.h.

◆ operator()() [3/12]

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

Get the helicity components for a three 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.

Implements Herwig::DecayMatrixElement.

Definition at line 235 of file GeneralDecayMatrixElement.h.

◆ operator()() [4/12]

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

Set the helicity components for a three 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.

Implements Herwig::DecayMatrixElement.

Definition at line 250 of file GeneralDecayMatrixElement.h.

◆ operator()() [5/12]

Complex Herwig::GeneralDecayMatrixElement::operator() ( unsigned int  inhel,
unsigned int  outhel1,
unsigned int  outhel2,
unsigned int  outhel3,
unsigned int  outhel4 
) const
inlinevirtual

Get the helicity components for a four 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.

Implements Herwig::DecayMatrixElement.

Definition at line 266 of file GeneralDecayMatrixElement.h.

◆ operator()() [6/12]

Complex& Herwig::GeneralDecayMatrixElement::operator() ( unsigned int  inhel,
unsigned int  outhel1,
unsigned int  outhel2,
unsigned int  outhel3,
unsigned int  outhel4 
)
inlinevirtual

Set the helicity components for a four 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.

Implements Herwig::DecayMatrixElement.

Definition at line 284 of file GeneralDecayMatrixElement.h.

◆ operator()() [7/12]

Complex Herwig::GeneralDecayMatrixElement::operator() ( unsigned int  inhel,
unsigned int  outhel1,
unsigned int  outhel2,
unsigned int  outhel3,
unsigned int  outhel4,
unsigned int  outhel5 
) 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 303 of file GeneralDecayMatrixElement.h.

◆ operator()() [8/12]

Complex& Herwig::GeneralDecayMatrixElement::operator() ( unsigned int  inhel,
unsigned int  outhel1,
unsigned int  outhel2,
unsigned int  outhel3,
unsigned int  outhel4,
unsigned int  outhel5 
)
inlinevirtual

Set 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 322 of file GeneralDecayMatrixElement.h.

◆ operator()() [9/12]

Complex Herwig::GeneralDecayMatrixElement::operator() ( unsigned int  inhel,
unsigned int  outhel1,
unsigned int  outhel2,
unsigned int  outhel3,
unsigned int  outhel4,
unsigned int  outhel5,
unsigned int  outhel6 
) const
inlinevirtual

Get the helicity components for a six 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.
outhel6The helicity of the sixth decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 342 of file GeneralDecayMatrixElement.h.

◆ operator()() [10/12]

Complex& Herwig::GeneralDecayMatrixElement::operator() ( unsigned int  inhel,
unsigned int  outhel1,
unsigned int  outhel2,
unsigned int  outhel3,
unsigned int  outhel4,
unsigned int  outhel5,
unsigned int  outhel6 
)
inlinevirtual

Set the helicity components for a six 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.
outhel6The helicity of the sixth decay product.

Implements Herwig::DecayMatrixElement.

Definition at line 364 of file GeneralDecayMatrixElement.h.

◆ operator()() [11/12]

Complex Herwig::GeneralDecayMatrixElement::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 380 of file GeneralDecayMatrixElement.h.

◆ operator()() [12/12]

Complex& Herwig::GeneralDecayMatrixElement::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 394 of file GeneralDecayMatrixElement.h.


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