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

#include <GeneralDecayMatrixElement.h>

Inheritance diagram for Herwig::GeneralDecayMatrixElement:

Standard constructors and destructors.

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.
 
 GeneralDecayMatrixElement ()
 Default constructor.
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2)
 Constructor for two body decay.
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2, PDT::Spin outspin3)
 Constructor for three body decay.
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2, PDT::Spin outspin3, PDT::Spin outspin4)
 Constructor for four body decay.
 
 GeneralDecayMatrixElement (PDT::Spin spinin, PDT::Spin outspin1, PDT::Spin outspin2, PDT::Spin outspin3, PDT::Spin outspin4, PDT::Spin outspin5)
 Constructor for five body decay.
 
 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.
 
 GeneralDecayMatrixElement (PDT::Spin spinin, vector< PDT::Spin > spinout)
 Constructor for arbitary body decay.
 
 GeneralDecayMatrixElement (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 GeneralDecayMatrixElement &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 inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3) const
 Get the helicity components for a three body decay.
 
Complexoperator() (unsigned int inhel, unsigned int outhel1, unsigned int outhel2, unsigned int outhel3)
 Set the helicity components for a three body decay.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
void setMESize ()
 Set the size of the vector containing 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 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/8]

Herwig::GeneralDecayMatrixElement::GeneralDecayMatrixElement ( )
inline

Default constructor.

Definition at line 41 of file GeneralDecayMatrixElement.h.

◆ GeneralDecayMatrixElement() [2/8]

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.

References Herwig::DecayMatrixElement::outspin(), and setMESize().

◆ GeneralDecayMatrixElement() [3/8]

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.

References Herwig::DecayMatrixElement::outspin(), and setMESize().

◆ GeneralDecayMatrixElement() [4/8]

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.

References Herwig::DecayMatrixElement::outspin(), and setMESize().

◆ GeneralDecayMatrixElement() [5/8]

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.

References Herwig::DecayMatrixElement::outspin(), and setMESize().

◆ GeneralDecayMatrixElement() [6/8]

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.

References Herwig::DecayMatrixElement::outspin(), and setMESize().

◆ GeneralDecayMatrixElement() [7/8]

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.

References Herwig::DecayMatrixElement::outspin(), and setMESize().

◆ GeneralDecayMatrixElement() [8/8]

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.

References Herwig::DecayMatrixElement::outspin(), and setMESize().

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 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.

◆ contract() [2/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.

◆ operator()() [1/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.

References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().

◆ operator()() [2/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.

References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().

◆ operator()() [3/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.

References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().

◆ operator()() [4/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.

References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().

◆ operator()() [5/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.

References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().

◆ operator()() [6/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.

References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().

◆ operator()() [7/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()() [8/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()() [9/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()() [10/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()() [11/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()() [12/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.

◆ setMESize()

void Herwig::GeneralDecayMatrixElement::setMESize ( )
inline

Set the size of the vector containing the matrix element.

Definition at line 416 of file GeneralDecayMatrixElement.h.

References constants_, Herwig::DecayMatrixElement::inspin(), matrixElement_, and Herwig::DecayMatrixElement::outspin().

Referenced by GeneralDecayMatrixElement().

◆ zero()

void Herwig::GeneralDecayMatrixElement::zero ( )
inlinevirtual

Member to zero all the elements for the matrix element.

Implements Herwig::DecayMatrixElement.

Definition at line 408 of file GeneralDecayMatrixElement.h.

References matrixElement_.

Member Data Documentation

◆ constants_

vector<unsigned int> Herwig::GeneralDecayMatrixElement::constants_
mutableprivate

Constants needed to map the index of the vector to a helicity structure.

Definition at line 441 of file GeneralDecayMatrixElement.h.

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

◆ matrixElement_

vector<Complex> Herwig::GeneralDecayMatrixElement::matrixElement_
mutableprivate

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

Definition at line 436 of file GeneralDecayMatrixElement.h.

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


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