ThePEG::Helicity::GeneralVVSVertex Class Reference

The GeneralVVSVertex class implements a general Vector-Vector-Scalar vertex allowing for decay modes that only enter at the one-loop level. More...

#include <GeneralVVSVertex.h>

Inheritance diagram for ThePEG::Helicity::GeneralVVSVertex:

ThePEG::Helicity::AbstractVVSVertex ThePEG::Helicity::VertexBase ThePEG::Interfaced ThePEG::InterfacedBase ThePEG::Base ThePEG::Named ThePEG::Pointer::ReferenceCounted

List of all members.

Public Member Functions

 GeneralVVSVertex ()
 The default constructor.
virtual void setCoupling (Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
 Calculate coupling.
virtual Complex evaluate (Energy2 q2, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3)
 Members to calculate the helicity amplitude expressions for vertices and off-shell particles.
virtual VectorWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3, Energy mass=-GeV, Energy width=-GeV)
 Evaluate the off-shell vector coming from the vertex.
virtual ScalarWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, Energy mass=-GeV, Energy width=-GeV)
 Evaluate the off-shell scalar coming from the vertex.
Set and Get tensor coefficients.
Complex a00 () const
 Access coefficient of $g^{\mu\nu}$.
Complex a11 () const
 Access coefficient of $p_1^\mu p_1^\nu$.
Complex a12 () const
 Access coefficient of $p_1^\mu p_2^\nu$.
Complex a21 () const
 Access coefficient of $p_2^\mu p_1^\nu$.
Complex a22 () const
 Access coefficient of $p_2^\mu p_2^\nu$.
Complex aEp () const
 Access coefficient of $\epsilon^{\mu\nu\alpha\beta}p_1\alpha p_2\beta$.
void a00 (const Complex &val)
 Set tensor coefficient of $g^{\mu\nu}$.
void a11 (const Complex &val)
 Set tensor coefficient of $p_1^\mu p_1^\nu$.
void a12 (const Complex &val)
 Set tensor coefficient of $p_1^\mu p_2^\nu$.
void a21 (const Complex &val)
 Set tensor coefficient of $p_2^\mu p_1^\nu$.
void a22 (const Complex &val)
 Set tensor coefficient of $p_2^\mu p_2^\nu$.
void aEp (const Complex &val)
 Set tensor coefficient of $\epsilon^{\mu\nu\alpha\beta}p_1\alpha p_2\beta$.

Static Public Member Functions

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

Private Member Functions

GeneralVVSVertexoperator= (const GeneralVVSVertex &)
 The assignment operator is private and must never be called.

Private Attributes

Store tensor coefficients.
Complex _a00
 Coefficient of $g^{\mu\nu}$.
Complex _a11
 Coefficient of $p_1^\mu p_1^\nu$.
Complex _a12
 Coefficient of $p_1^\mu p_2^\nu$.
Complex _a21
 Coefficient of $p_2^\mu p_1^\nu$.
Complex _a22
 Coefficient of $p_2^\mu p_2^\nu$.
Complex _aEp
 Coefficient of $\epsilon^{\mu\nu\alpha\beta}p_1\alpha p_2\beta$.

Static Private Attributes

static
AbstractNoPIOClassDescription
< GeneralVVSVertex
initGeneralVVSVertex
 The static object used to initialize the description of this class.


Detailed Description

The GeneralVVSVertex class implements a general Vector-Vector-Scalar vertex allowing for decay modes that only enter at the one-loop level.

The loop integral is calculated by Passarino-Veltman reduction and the coefficients are stored here. They must be calculated in the inheriting class along with implementation of the setCoupling member.

The vertex takes the form

\[ a_{00}g^{\mu\nu}p_1\cdot p_2 + a_{11}p_1^\mu p_1^\nu + a_{12}p_1^\mu p_2^\nu + a_{21}p_2^\mu p_1^\nu + a_{22}p_2^\mu p_2^\nu +a_e\epsilon^{p_1 \mu \nu p_2}\]

Definition at line 34 of file GeneralVVSVertex.h.


Member Function Documentation

static void ThePEG::Helicity::GeneralVVSVertex::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 ThePEG::Helicity::AbstractVVSVertex.

virtual Complex ThePEG::Helicity::GeneralVVSVertex::evaluate ( Energy2  q2,
const VectorWaveFunction vec1,
const VectorWaveFunction vec2,
const ScalarWaveFunction sca3 
) [virtual]

Members to calculate the helicity amplitude expressions for vertices and off-shell particles.

Evaluate the vertex.

Parameters:
q2 The scale $q^2$ for the coupling at the vertex.
vec1 The wavefunction for the first vector.
vec2 The wavefunction for the second vector.
sca3 The wavefunction for the scalar.

Implements ThePEG::Helicity::AbstractVVSVertex.

virtual VectorWaveFunction ThePEG::Helicity::GeneralVVSVertex::evaluate ( Energy2  q2,
int  iopt,
tcPDPtr  out,
const VectorWaveFunction vec2,
const ScalarWaveFunction sca3,
Energy  mass = -GeV,
Energy  width = -GeV 
) [virtual]

Evaluate the off-shell vector coming from the vertex.

Parameters:
q2 The scale $q^2$ for the coupling at the vertex.
iopt Option of the shape of the Breit-Wigner for the off-shell vector.
out The ParticleData pointer for the off-shell vector.
vec2 The wavefunction for the vector.
sca3 The wavefunction for the scalar.
mass The mass of the off-shell particle if not taken from the ParticleData object
width The width of the off-shell particle if not taken from the ParticleData object

Implements ThePEG::Helicity::AbstractVVSVertex.

virtual ScalarWaveFunction ThePEG::Helicity::GeneralVVSVertex::evaluate ( Energy2  q2,
int  iopt,
tcPDPtr  out,
const VectorWaveFunction vec1,
const VectorWaveFunction vec2,
Energy  mass = -GeV,
Energy  width = -GeV 
) [virtual]

Evaluate the off-shell scalar coming from the vertex.

Parameters:
q2 The scale $q^2$ for the coupling at the vertex.
iopt Option of the shape of the Breit-Wigner for the off-shell scalar.
out The ParticleData pointer for the off-shell scalar.
vec1 The wavefunction for the first vector.
vec2 The wavefunction for the second vector.
mass The mass of the off-shell particle if not taken from the ParticleData object
width The width of the off-shell particle if not taken from the ParticleData object

Implements ThePEG::Helicity::AbstractVVSVertex.

virtual void ThePEG::Helicity::GeneralVVSVertex::setCoupling ( Energy2  q2,
tcPDPtr  part1,
tcPDPtr  part2,
tcPDPtr  part3 
) [pure virtual]

Calculate coupling.

Parameters:
q2 Scale at which to evaluate couplings
part1 ParticleDataPointer to first particle
part2 ParticleDataPointer to second particle
part3 ParticleDataPointer to third particle

GeneralVVSVertex& ThePEG::Helicity::GeneralVVSVertex::operator= ( const GeneralVVSVertex  )  [private]

The assignment operator is private and must never be called.

In fact, it should not even be implemented.


Member Data Documentation

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

Indicates that this is an abstract class without persistent data.

Definition at line 189 of file GeneralVVSVertex.h.


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

Generated on Thu Apr 29 12:43:29 2010 for ThePEG by  doxygen 1.5.5