ThePEG::Helicity::VVVVVertex Class Reference

This is the implementation of the four vector vertex. More...

#include <VVVVVertex.h>

Inheritance diagram for ThePEG::Helicity::VVVVVertex:

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

List of all members.

Public Member Functions

virtual void setCoupling (Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3, tcPDPtr part4)=0
 Calculate the couplings.
Complex evaluate (Energy2 q2, int iopt, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const VectorWaveFunction &vec3, const VectorWaveFunction &vec4)
 Members to calculate the helicity amplitude expressions for vertices and off-shell particles.

Static Public Member Functions

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

Protected Member Functions

void setOrder (int id1, int id2, int id3, int id4)
 Set the order of the particles.
void setType (int itype)
 Set the type of the vertex.
void setIntermediate (tcPDPtr part1, tcPDPtr part2, Complex c1, Complex c2)
 Set the intermediate particles if including s/u/t channel terms.

Private Member Functions

VVVVVertexoperator= (const VVVVVertex &)
 Private and non-existent assignment operator.

Private Attributes

int _itype
 Type of vertex 1=QCD 2=EW.
int _iorder [4]
 Order of the particles.
tcPDPtr _inter [2]
 Intermediate particles.
Complex _coup [2]
 Couplings of the intermediate particles.

Static Private Attributes

static
AbstractNoPIOClassDescription
< VVVVVertex
initVVVVVertex
 Describe an abstract base class with persistent data.


Detailed Description

This is the implementation of the four vector vertex.

It is based on the AbstractVVVVVertex class for the storage of particles which are allowed to interact at the vertex. Classes implementation a specific vertex should inherit from this one and implement the virtual setCoupling member.

The form of the vertex is

\[ic^2\left[ 2\epsilon_1\cdot\epsilon_2\epsilon_3\cdot\epsilon_4- \epsilon_1\cdot\epsilon_3\epsilon_2\cdot\epsilon_4- \epsilon_1\cdot\epsilon_4\epsilon_2\cdot\epsilon_3 \right]\]

optional the additional diagrams from the three point vertices can be included.

See also:
AbstractVVVVVertex

Definition at line 39 of file VVVVVertex.h.


Member Function Documentation

Complex ThePEG::Helicity::VVVVVertex::evaluate ( Energy2  q2,
int  iopt,
const VectorWaveFunction vec1,
const VectorWaveFunction vec2,
const VectorWaveFunction vec3,
const VectorWaveFunction vec4 
) [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.
iopt Evaluation option, 0 just evaluate the four point vertex, 1 include all the three point diagrams as well.
vec1 The wavefunction for the first vector.
vec2 The wavefunction for the second vector.
vec3 The wavefunction for the third vector.
vec4 The wavefunction for the fourth vector.

Implements ThePEG::Helicity::AbstractVVVVVertex.

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

Calculate the couplings.

This method is virtual and must be implemented in classes inheriting from this.

Parameters:
q2 The scale $q^2$ for the coupling at the vertex.
part1 The ParticleData pointer for the first particle.
part2 The ParticleData pointer for the second particle.
part3 The ParticleData pointer for the third particle.
part4 The ParticleData pointer for the fourth particle.

void ThePEG::Helicity::VVVVVertex::setOrder ( int  id1,
int  id2,
int  id3,
int  id4 
) [inline, protected]

Set the order of the particles.

Parameters:
id1 The PDG code of the first particle.
id2 The PDG code of the second particle.
id3 The PDG code of the third particle.
id4 The PDG code of the fourth particle.

Definition at line 91 of file VVVVVertex.h.

References _iorder.

void ThePEG::Helicity::VVVVVertex::setType ( int  itype  )  [inline, protected]

Set the type of the vertex.

Parameters:
itype The type of vertex (QCD=1 or electroweak=2).

Definition at line 102 of file VVVVVertex.h.

References _itype.

void ThePEG::Helicity::VVVVVertex::setIntermediate ( tcPDPtr  part1,
tcPDPtr  part2,
Complex  c1,
Complex  c2 
) [inline, protected]

Set the intermediate particles if including s/u/t channel terms.

Parameters:
part1 The ParticleData pointer for the first particle.
part2 The ParticleData pointer for the second particle.
c1 The coupling for the first particle.
c2 The coupling for the second particle.

Definition at line 113 of file VVVVVertex.h.

References _coup, and _inter.


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

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