Herwig++
2.7.0
|
This class implements the matrix element for a fermion and a vector boson to a fermion and a vector boson. More...
#include <MEfv2vf.h>
Public Types | |
typedef vector < Helicity::SpinorWaveFunction > | SpinorVector |
A vector of SpinorWaveFunctions. | |
typedef vector < Helicity::SpinorBarWaveFunction > | SpinorBarVector |
A vector of SpinorBarWaveFunctions. | |
typedef vector < Helicity::VectorWaveFunction > | VBVector |
A vector of VectorWaveFunctions. | |
Public Member Functions | |
virtual void | constructVertex (tSubProPtr sub) |
Construct the vertex information for the spin correlations. | |
Virtual functions required by the MEBase class. | |
virtual double | me2 () const |
The matrix element for the kinematical configuration previously provided by the last call to setKinematics(), suitably scaled by sHat() to give a dimension-less number. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
Static Public Member Functions | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
virtual void | debug (double me2) const |
A debugging function to test the value of me2 against an analytic function. | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
Private Member Functions | |
MEfv2vf & | operator= (const MEfv2vf &) |
The assignment operator is private and must never be called. | |
Functions to calculate the Helicity MatrixElement. | |
ProductionMatrixElement | fv2vfHeME (const SpinorVector &spIn, const VBVector &vecIn, const VBVector &vecOut, bool mc, const SpinorBarVector &spbOut, double &mesq, bool first) const |
Calculate the matrix element for an incoming fermion. | |
ProductionMatrixElement | fbv2vfbHeME (const SpinorBarVector &spbIn, const VBVector &vecIn, const VBVector &vecOut, bool mc, const SpinorVector &spOut, double &mesq, bool first) const |
Calculate the matrix element for an incoming anti-fermion. | |
Private Attributes | |
Store dynamically casted vertices. | |
vector< pair < AbstractFFVVertexPtr, AbstractFFVVertexPtr > > | fermion_ |
A pair off FFVVertex pointers. | |
vector< pair < AbstractFFVVertexPtr, AbstractVVVVertexPtr > > | vector_ |
A pair of FFVVertex, VVVertex pointers. | |
Static Private Attributes | |
static ClassDescription< MEfv2vf > | initMEfv2vf |
The static object used to initialize the description of this class. |
This class implements the matrix element for a fermion and a vector boson to a fermion and a vector boson.
It inherits from GeneralHardME and implements the appropriate virtual functions.
typedef vector<Helicity::SpinorBarWaveFunction> Herwig::MEfv2vf::SpinorBarVector |
typedef vector<Helicity::SpinorWaveFunction> Herwig::MEfv2vf::SpinorVector |
typedef vector<Helicity::VectorWaveFunction> Herwig::MEfv2vf::VBVector |
virtual IBPtr Herwig::MEfv2vf::clone | ( | ) | const [inline, protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
virtual void Herwig::MEfv2vf::constructVertex | ( | tSubProPtr | sub | ) | [virtual] |
Construct the vertex information for the spin correlations.
sub | Pointer to the relevent SubProcess |
Reimplemented from ThePEG::MEBase.
virtual void Herwig::MEfv2vf::debug | ( | double | me2 | ) | const [protected, virtual] |
A debugging function to test the value of me2 against an analytic function.
me2 | The value of the ![]() |
Reimplemented from Herwig::GeneralHardME.
virtual void Herwig::MEfv2vf::doinit | ( | ) | [protected, virtual] |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
ProductionMatrixElement Herwig::MEfv2vf::fbv2vfbHeME | ( | const SpinorBarVector & | spbIn, |
const VBVector & | vecIn, | ||
const VBVector & | vecOut, | ||
bool | mc, | ||
const SpinorVector & | spOut, | ||
double & | mesq, | ||
bool | first | ||
) | const [private] |
Calculate the matrix element for an incoming anti-fermion.
spbIn | A vector of SpinorBarWaveFunctions for the incoming anti-fermion |
vecIn | A vector of VectorWaveFunctions for the incoming boson |
spOut | A vector of Spinors for the outgoing antifermion |
vecOut | A vector of VectorWaveFunctions for the outgoing boson |
mc | If the outgoing vector is massless or not |
first | Whether or not first call to decide if colour decomposition etc should be calculated |
mesq | The matrix element squared |
virtual IBPtr Herwig::MEfv2vf::fullclone | ( | ) | const [inline, protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
ProductionMatrixElement Herwig::MEfv2vf::fv2vfHeME | ( | const SpinorVector & | spIn, |
const VBVector & | vecIn, | ||
const VBVector & | vecOut, | ||
bool | mc, | ||
const SpinorBarVector & | spbOut, | ||
double & | mesq, | ||
bool | first | ||
) | const [private] |
Calculate the matrix element for an incoming fermion.
spIn | A vector of spinors for the incoming fermion |
vecIn | A vector of VectorWaveFunctions for the incoming boson |
spbOut | A vector of SpinorBarWaveFunctions for the outgoing fermion |
vecOut | A vector of VectorWaveFunctions for the outgoing boson |
mc | If the outgoing vector is massless or not |
first | Whether or not first call to decide if colour decomposition etc should be calculated |
mesq | The matrix element squared |
static void Herwig::MEfv2vf::Init | ( | ) | [static] |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
Reimplemented from Herwig::GeneralHardME.
virtual double Herwig::MEfv2vf::me2 | ( | ) | const [virtual] |
The matrix element for the kinematical configuration previously provided by the last call to setKinematics(), suitably scaled by sHat() to give a dimension-less number.
Implements Herwig::GeneralHardME.
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::MEfv2vf::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
Reimplemented from Herwig::GeneralHardME.
void Herwig::MEfv2vf::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from Herwig::GeneralHardME.
ClassDescription<MEfv2vf> Herwig::MEfv2vf::initMEfv2vf [static, private] |