
The storage of the helicity amplitude expression for the matrix element of a hard process.
More...
#include <ProductionMatrixElement.h>

RhoDMatrix  calculateDMatrix (int, const RhoDMatrix &, const vector< RhoDMatrix > &) const 
 Calculate the decay matrix for an incoming particle.


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


double  average () const 
 Compute the spin averaged matrix element.


double  average (const RhoDMatrix &in1, const RhoDMatrix &in2) const 
 Compute the spin average matrix element.


Complex  average (const ProductionMatrixElement &me2, const RhoDMatrix &in1, const RhoDMatrix &in2) const 
 Compute the spin average matrix element.


void  reset (const ProductionMatrixElement &x) const 
 Reset the matrix element.



 ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out) 
 Constructor for 21 scattering. More...


 ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2) 
 Constructor for 22 scattering. More...


 ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3) 
 Constructor for 23 scattering. More...


 ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4) 
 Constructor for 24 scattering. More...


 ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4, PDT::Spin out5) 
 Constructor for 25 scattering. More...


 ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, PDT::Spin out1, PDT::Spin out2, PDT::Spin out3, PDT::Spin out4, PDT::Spin out5, PDT::Spin out6) 
 Constructor for 26 scattering. More...


 ProductionMatrixElement (PDT::Spin in1, PDT::Spin in2, vector< PDT::Spin > out) 
 Constructor for 2n scattering. More...


 ProductionMatrixElement () 
 Default constructor.



vector< PDT::Spin >  inspin () 
 Get the spins of the incoming particles particle. More...


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



Complex  operator() (unsigned int in1, unsigned int in2, unsigned int out) const 
 Access the helicity components for a 21 scattering. More...


Complex &  operator() (unsigned int in1, unsigned int in2, unsigned int out) 
 Access the helicity components for a 21 scattering. More...


Complex  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2) const 
 Access the helicity components for a 22 scattering. More...


Complex &  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2) 
 Access the helicity components for a 22 scattering. More...


Complex  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3) const 
 Access the helicity components for a 23 scattering. More...


Complex &  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3) 
 Access the helicity components for a 23 scattering. More...


Complex  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4) const 
 Access the helicity components for a 24 scattering. More...


Complex &  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4) 
 Access the helicity components for a 24 scattering. More...


Complex  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5) const 
 Access the helicity components for a 25 scattering. More...


Complex &  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5) 
 Access the helicity components for a 25 scattering. More...


Complex  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5, unsigned int out6) const 
 Access the helicity components for a 26 scattering. More...


Complex &  operator() (unsigned int in1, unsigned int in2, unsigned int out1, unsigned int out2, unsigned int out3, unsigned int out4, unsigned int out5, unsigned int out6) 
 Access the helicity components for a 26 scattering. More...


Complex  operator() (vector< unsigned int > hel) const 
 Access the helicity components for a 2n scattering. More...


Complex &  operator() (vector< unsigned int > hel) 
 Access the helicity components for a 2n scattering. More...



static void  Init () 
 Standard Init function used to initialize the interfaces.



void  setMESize () 
 Set the size of the vector containing the matrix element.



unsigned int  _nout 
 Number of outgoing particles.


vector< PDT::Spin >  _inspin 
 Spin of the incoming particles as 2s+1.


vector< PDT::Spin >  _outspin 
 Spins of the outgoing particles.


vector< Complex >  _matrixelement 
 Storage of the matrix element, a vector is better for memory usage.


vector< int >  _constants 
 Constants needed to map the index of the vector to a helicity structure.


The storage of the helicity amplitude expression for the matrix element of a hard process.
Two incoming particles and an arbitary number of external particles are supported.
 See also
 DecayMatrixElement

RhoDMatrix

HardVertex
 Author
 Peter Richardson
Definition at line 34 of file ProductionMatrixElement.h.
◆ ProductionMatrixElement() [1/7]
◆ ProductionMatrixElement() [2/7]
◆ ProductionMatrixElement() [3/7]
◆ ProductionMatrixElement() [4/7]
◆ ProductionMatrixElement() [5/7]
◆ ProductionMatrixElement() [6/7]
◆ ProductionMatrixElement() [7/7]
◆ inspin()
vector<PDT::Spin> Herwig::ProductionMatrixElement::inspin 
( 
 ) 


inline 
Get the spins of the incoming particles particle.
 Returns
 A vector containing for the two incoming particles.
Definition at line 132 of file ProductionMatrixElement.h.
◆ operator()() [1/14]
Complex Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out 

) 
 const 
Access the helicity components for a 21 scattering.
This method supplies the component but does not allow it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out  The helicity of the outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [2/14]
Complex& Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out 

) 
 
Access the helicity components for a 21 scattering.
This method supplies the component and allows it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out  The helicity of the outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [3/14]
Complex Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2 

) 
 const 
Access the helicity components for a 22 scattering.
This method supplies the component but does not allow it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [4/14]
Complex& Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2 

) 
 
Access the helicity components for a 22 scattering.
This method supplies the component and allows it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [5/14]
Complex Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3 

) 
 const 
Access the helicity components for a 23 scattering.
This method supplies the component but does not allow it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [6/14]
Complex& Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3 

) 
 
Access the helicity components for a 23 scattering.
This method supplies the component and allows it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [7/14]
Complex Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3, 


unsigned int 
out4 

) 
 const 
Access the helicity components for a 24 scattering.
This method supplies the component but does not allow it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
out4  The helicity of the fourth outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [8/14]
Complex& Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3, 


unsigned int 
out4 

) 
 
Access the helicity components for a 24 scattering.
This method supplies the component and allows it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
out4  The helicity of the fourth outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [9/14]
Complex Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3, 


unsigned int 
out4, 


unsigned int 
out5 

) 
 const 
Access the helicity components for a 25 scattering.
This method supplies the component but does not allow it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
out4  The helicity of the fourth outgoing particle. 
out5  The helicity of the fifth outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [10/14]
Complex& Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3, 


unsigned int 
out4, 


unsigned int 
out5 

) 
 
Access the helicity components for a 25 scattering.
This method supplies the component and allows it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
out4  The helicity of the fourth outgoing particle. 
out5  The helicity of the fifth outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [11/14]
Complex Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3, 


unsigned int 
out4, 


unsigned int 
out5, 


unsigned int 
out6 

) 
 const 
Access the helicity components for a 26 scattering.
This method supplies the component but does not allow it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
out4  The helicity of the fourth outgoing particle. 
out5  The helicity of the fifth outgoing particle. 
out6  The helicity of the sixth outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [12/14]
Complex& Herwig::ProductionMatrixElement::operator() 
( 
unsigned int 
in1, 


unsigned int 
in2, 


unsigned int 
out1, 


unsigned int 
out2, 


unsigned int 
out3, 


unsigned int 
out4, 


unsigned int 
out5, 


unsigned int 
out6 

) 
 
Access the helicity components for a 26 scattering.
This method supplies the component and allows it to be changed.  Parameters

in1  The helicity of the first incoming particle. 
in2  The helicity of the second incoming particle. 
out1  The helicity of the first outgoing particle. 
out2  The helicity of the second outgoing particle. 
out3  The helicity of the third outgoing particle. 
out4  The helicity of the fourth outgoing particle. 
out5  The helicity of the fifth outgoing particle. 
out6  The helicity of the sixth outgoing particle. 
 Returns
 The matrix element for the given helicities.
◆ operator()() [13/14]
Complex Herwig::ProductionMatrixElement::operator() 
( 
vector< unsigned int > 
hel  ) 
const 
Access the helicity components for a 2n scattering.
This method supplies the component but does not allow it to be changed.  Parameters

hel  The helicities of the incoming and outgoing particles 
 Returns
 The matrix element for the given helicities.
◆ operator()() [14/14]
Complex& Herwig::ProductionMatrixElement::operator() 
( 
vector< unsigned int > 
hel  ) 

Access the helicity components for a 2n scattering.
This method supplies the component and allows it to be changed.  Parameters

hel  The helicities of the incoming and outgoing particles 
 Returns
 The matrix element for the given helicities.
◆ outspin()
vector<PDT::Spin> Herwig::ProductionMatrixElement::outspin 
( 
 ) 


inline 
Get the spins of the outgoing particles.
 Returns
 A vector containing for the outgoing particles.
Definition at line 138 of file ProductionMatrixElement.h.
The documentation for this class was generated from the following file:
