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

This class implements the matrix element calculation for a generic $\Psi \Psi \rightarrow V^{\mu} V^{\nu}$ process. More...

#include <MEff2vv.h>

Inheritance diagram for Herwig::MEff2vv:

List of all members.

Public Types

typedef vector
< SpinorWaveFunction
SpinorVector
 Vector of SpinorWaveFunctions objects.
typedef vector
< SpinorBarWaveFunction
SpinorBarVector
 Vector of SpinorBarWaveFunction objects.
typedef vector
< VectorWaveFunction
VBVector
 Vector of VectorWaveFunction objects.

Public Member Functions

 MEff2vv ()
 The default constructor.
virtual void constructVertex (tSubProPtr sub)
 Construct the vertex information for the spin correlations.
Virtual functions required by the GeneralHardME 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.
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.
Standard Interfaced functions.
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk.

Private Member Functions

ProductionMatrixElement ff2vvME (const SpinorVector &sp, const SpinorBarVector sbar, const VBVector &v1, bool m1, const VBVector &v2, bool m2, double &me2, bool first) const
 Compute the production matrix element.
MEff2vvoperator= (const MEff2vv &)
 The assignment operator is private and must never be called.

Private Attributes

vector< pair
< AbstractFFVVertexPtr,
AbstractFFVVertexPtr > > 
fermion_
 Storage for a dynamically cast vertices for a tchannel vector intermediate.
vector< pair
< AbstractFFVVertexPtr,
AbstractVVVVertexPtr > > 
vector_
 Storage for a dynamically cast vertices for a schannel vector intermediate.
vector< pair
< AbstractFFTVertexPtr,
AbstractVVTVertexPtr > > 
tensor_
 Storage for a dynamically cast vertices for a schannel scalar intermediate.
vector< pair
< AbstractFFSVertexPtr,
AbstractVVSVertexPtr > > 
scalar_
 Storage for a dynamically cast vertices for a schannel scalar intermediate for massless external vector bosons.

Static Private Attributes

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

Detailed Description

This class implements the matrix element calculation for a generic $\Psi \Psi \rightarrow V^{\mu} V^{\nu}$ process.

See also:
The interfaces defined for MEff2vv.

Definition at line 40 of file MEff2vv.h.


Member Typedef Documentation

Vector of SpinorBarWaveFunction objects.

Definition at line 47 of file MEff2vv.h.

Vector of VectorWaveFunction objects.

Definition at line 50 of file MEff2vv.h.


Member Function Documentation

virtual IBPtr Herwig::MEff2vv::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 140 of file MEff2vv.h.

virtual void Herwig::MEff2vv::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::MEff2vv::debug ( double  me2) const [protected, virtual]

A debugging function to test the value of me2 against an analytic function.

Parameters:
me2$ |\bar{\mathcal{M}}|^2 $

Reimplemented from Herwig::GeneralHardME.

virtual void Herwig::MEff2vv::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::MEff2vv::ff2vvME ( const SpinorVector sp,
const SpinorBarVector  sbar,
const VBVector v1,
bool  m1,
const VBVector v2,
bool  m2,
double &  me2,
bool  first 
) const [private]

Compute the production matrix element.

Parameters:
spSpinors for first incoming fermion
sbarSpinorBar Wavefunctions for incoming anti-fermion
v1A vector of VectorWaveFunction objects for the first vector
m1Whether v1 is massless or not
v2A vector of VectorWaveFunction objects for the second vector
m2Whether v2 is massless or not
firstWhether or not first call to decide if colour decomposition etc should be calculated
me2The value of the $ |\bar{\mathcal{M}}|^2 $
virtual IBPtr Herwig::MEff2vv::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 146 of file MEff2vv.h.

static void Herwig::MEff2vv::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::MEff2vv::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.

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

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

void Herwig::MEff2vv::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 167 of file MEff2vv.h.


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