Herwig 7.3.0
|
#include <GeneralDecayMatrixElement.h>
Standard constructors and destructors. | |
vector< Complex > | matrixElement_ |
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. | |
Complex & | operator() (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. | |
Complex & | operator() (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. | |
Complex & | operator() (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. | |
Complex & | operator() (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. | |
Complex & | operator() (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. | |
Complex & | operator() (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 &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Implementation of the complex matrix element for a decay. An arbitary number of external particles are supported.
Definition at line 32 of file GeneralDecayMatrixElement.h.
|
inline |
Default constructor.
Definition at line 41 of file GeneralDecayMatrixElement.h.
|
inline |
Constructor for two body decay.
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().
|
inline |
Constructor for three body decay.
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().
|
inline |
Constructor for four body decay.
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().
|
inline |
Constructor for five body decay.
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().
|
inline |
Constructor for six body decay.
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().
|
inline |
Constructor for arbitary body decay.
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().
|
inline |
Constructor for arbitary body decay.
extspin | \(2S+1\) external particles. |
Definition at line 149 of file GeneralDecayMatrixElement.h.
References Herwig::DecayMatrixElement::outspin(), and setMESize().
|
virtual |
Spin Density matrices.
Calculate the decay matrix for this decay.
rhoout | The \(D\) matrix for this decay. |
Implements Herwig::DecayMatrixElement.
|
virtual |
Calculate the \(\rho\) matrix for a given outgoing particle.
ipart | The outgoing particle the \(\rho\) matrix is needed for |
rhoin | The \(\rho\) matrix for the decaying particle. |
rhoout | he \(D\) matrices for the other decay products. |
Implements Herwig::DecayMatrixElement.
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.
con | The conjugate matrix elemetn for the contraction |
rhoin | The \(\rho\) matrix for the decaying particle. |
|
virtual |
Contract the matrix element with the \(\rho\) matrix of the incoming particle.
The spins of the decay products are summed over.
rhoin | The \(\rho\) matrix for the decaying particle. |
Implements Herwig::DecayMatrixElement.
|
inlinevirtual |
Set the helicity components for an \(n\)-body decay.
in | The helicities of the external particles. |
Implements Herwig::DecayMatrixElement.
Definition at line 394 of file GeneralDecayMatrixElement.h.
References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().
|
inlinevirtual |
Get the helicity components for an \(n\)-body decay.
in | The helicities of the external particles. |
Implements Herwig::DecayMatrixElement.
Definition at line 380 of file GeneralDecayMatrixElement.h.
References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().
|
inlinevirtual |
Set the helicity components for a two body decay.
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 220 of file GeneralDecayMatrixElement.h.
References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().
|
inlinevirtual |
Access to the individual helicity components.
Get the helicity components for a two body decay
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 206 of file GeneralDecayMatrixElement.h.
References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().
|
inlinevirtual |
Set the helicity components for a three body decay.
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. |
Implements Herwig::DecayMatrixElement.
Definition at line 250 of file GeneralDecayMatrixElement.h.
References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().
|
inlinevirtual |
Get the helicity components for a three body decay.
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. |
Implements Herwig::DecayMatrixElement.
Definition at line 235 of file GeneralDecayMatrixElement.h.
References constants_, matrixElement_, and Herwig::DecayMatrixElement::outspin().
|
inlinevirtual |
Set the helicity components for a four body decay.
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. |
Implements Herwig::DecayMatrixElement.
Definition at line 284 of file GeneralDecayMatrixElement.h.
|
inlinevirtual |
Get the helicity components for a four body decay.
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. |
Implements Herwig::DecayMatrixElement.
Definition at line 266 of file GeneralDecayMatrixElement.h.
|
inlinevirtual |
Set the helicity components for a five body decay.
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 322 of file GeneralDecayMatrixElement.h.
|
inlinevirtual |
Get the helicity components for a five body decay.
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 303 of file GeneralDecayMatrixElement.h.
|
inlinevirtual |
Set the helicity components for a six body decay.
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. |
outhel6 | The helicity of the sixth decay product. |
Implements Herwig::DecayMatrixElement.
Definition at line 364 of file GeneralDecayMatrixElement.h.
|
inlinevirtual |
Get the helicity components for a six body decay.
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. |
outhel6 | The helicity of the sixth decay product. |
Implements Herwig::DecayMatrixElement.
Definition at line 342 of file GeneralDecayMatrixElement.h.
|
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().
|
inlinevirtual |
Member to zero all the elements for the matrix element.
Implements Herwig::DecayMatrixElement.
Definition at line 408 of file GeneralDecayMatrixElement.h.
References matrixElement_.
|
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().
|
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().