herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
Herwig::MEfv2vf Class Reference

This class implements the matrix element for a fermion and a vector boson to a fermion and a vector boson. More...

#include <MEfv2vf.h>

Inheritance diagram for Herwig::MEfv2vf:

List of all members.

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

MEfv2vfoperator= (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< MEfv2vfinitMEfv2vf
 The static object used to initialize the description of this class.

Detailed Description

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.

See also:
The interfaces defined for MEfv2vf.

Definition at line 34 of file MEfv2vf.h.


Member Typedef Documentation

A vector of SpinorBarWaveFunctions.

Definition at line 42 of file MEfv2vf.h.

A vector of SpinorWaveFunctions.

Definition at line 39 of file MEfv2vf.h.

A vector of VectorWaveFunctions.

Definition at line 45 of file MEfv2vf.h.


Member Function Documentation

virtual IBPtr Herwig::MEfv2vf::clone ( ) const [inline, protected, virtual]

Make a simple clone of this object.

Returns:
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Definition at line 162 of file MEfv2vf.h.

virtual void Herwig::MEfv2vf::constructVertex ( tSubProPtr  sub) [virtual]

Construct the vertex information for the spin correlations.

Parameters:
subPointer 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.

Parameters:
me2The value of the $ |\bar{\mathcal{M}}|^2 $

Reimplemented from Herwig::GeneralHardME.

virtual void Herwig::MEfv2vf::doinit ( ) [protected, virtual]

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions:
InitExceptionif 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.

Parameters:
spbInA vector of SpinorBarWaveFunctions for the incoming anti-fermion
vecInA vector of VectorWaveFunctions for the incoming boson
spOutA vector of Spinors for the outgoing antifermion
vecOutA vector of VectorWaveFunctions for the outgoing boson
mcIf the outgoing vector is massless or not
firstWhether or not first call to decide if colour decomposition etc should be calculated
mesqThe 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.

Returns:
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

Definition at line 168 of file MEfv2vf.h.

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.

Parameters:
spInA vector of spinors for the incoming fermion
vecInA vector of VectorWaveFunctions for the incoming boson
spbOutA vector of SpinorBarWaveFunctions for the outgoing fermion
vecOutA vector of VectorWaveFunctions for the outgoing boson
mcIf the outgoing vector is massless or not
firstWhether or not first call to decide if colour decomposition etc should be calculated
mesqThe 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.

Returns:
the matrix element scaled with sHat() to give a dimensionless number.

Implements Herwig::GeneralHardME.

MEfv2vf& Herwig::MEfv2vf::operator= ( const MEfv2vf ) [private]

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.

Parameters:
isthe persistent input stream read from.
versionthe version number of the object when written.

Reimplemented from Herwig::GeneralHardME.

Function used to write out object persistently.

Parameters:
osthe persistent output stream written to.

Reimplemented from Herwig::GeneralHardME.


Member Data Documentation

The static object used to initialize the description of this class.

Indicates that this is a concrete class with persistent data.

Definition at line 177 of file MEfv2vf.h.


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