herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
Herwig::VVSLoopVertex Class Reference

The VVSLoopVertex is designed to calculate the coefficents for the terms in the Passarino-Veltman tensor reduction scheme. More...

#include <VVSLoopVertex.h>

Inheritance diagram for Herwig::VVSLoopVertex:

Public Member Functions

 VVSLoopVertex ()
 The default constructor.
 
virtual void setCoupling (Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)
 Calculate couplings. More...
 
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::Helicity::GeneralVVSVertex
virtual Complex evaluate (Energy2 q2, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3)
 
virtual VectorWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
virtual ScalarWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
virtual void setCoupling (Energy2, tcPDPtr, tcPDPtr, tcPDPtr, tcPDPtr)
 
Complex a00 () const
 
Complex a11 () const
 
Complex a12 () const
 
Complex a21 () const
 
Complex a22 () const
 
Complex aEp () const
 
void a00 (const Complex &val)
 
void a11 (const Complex &val)
 
void a12 (const Complex &val)
 
void a21 (const Complex &val)
 
void a22 (const Complex &val)
 
void aEp (const Complex &val)
 
virtual Complex evaluate (Energy2 q2, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3)
 
virtual VectorWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
virtual ScalarWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
virtual void setCoupling (Energy2, tcPDPtr, tcPDPtr, tcPDPtr, tcPDPtr)
 
Complex a00 () const
 
Complex a11 () const
 
Complex a12 () const
 
Complex a21 () const
 
Complex a22 () const
 
Complex aEp () const
 
void a00 (const Complex &val)
 
void a11 (const Complex &val)
 
void a12 (const Complex &val)
 
void a21 (const Complex &val)
 
void a22 (const Complex &val)
 
void aEp (const Complex &val)
 
- Public Member Functions inherited from ThePEG::Helicity::VertexBase
 VertexBase (VertexType::T name, bool kine=false)
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
unsigned int size () const
 
bool isIncoming (tPDPtr p) const
 
bool isOutgoing (tPDPtr p) const
 
const set< tPDPtr > & incoming () const
 
const set< tPDPtr > & outgoing () const
 
Complex norm () const
 
vector< long > search (unsigned int ilist, long id) const
 
vector< tPDPtrsearch (unsigned int ilist, tcPDPtr id) const
 
bool allowed (long id1, long id2, long id3, long id4=0) const
 
VertexType::T getName () const
 
unsigned int getNpoint () const
 
unsigned int orderInGem () const
 
unsigned int orderInGs () const
 
double strongCoupling (Energy2 q2) const
 
double electroMagneticCoupling (Energy2 q2) const
 
double weakCoupling (Energy2 q2) const
 
bool kinematics () const
 
void kinematics (bool kine)
 
void calculateKinematics (const Lorentz5Momentum &p0, const Lorentz5Momentum &p1, const Lorentz5Momentum &p2)
 
void calculateKinematics (const Lorentz5Momentum &p0, const Lorentz5Momentum &p1, const Lorentz5Momentum &p2, const Lorentz5Momentum &p3)
 
void calculateKinematics (const vector< Lorentz5Momentum > &p)
 
Energy2 invariant (unsigned int ix, unsigned int iy) const
 
 VertexBase (VertexType::T name, bool kine=false)
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
unsigned int size () const
 
bool isIncoming (tPDPtr p) const
 
bool isOutgoing (tPDPtr p) const
 
const set< tPDPtr > & incoming () const
 
const set< tPDPtr > & outgoing () const
 
Complex norm () const
 
vector< long > search (unsigned int ilist, long id) const
 
vector< tPDPtrsearch (unsigned int ilist, tcPDPtr id) const
 
bool allowed (long id1, long id2, long id3, long id4=0) const
 
VertexType::T getName () const
 
unsigned int getNpoint () const
 
unsigned int orderInGem () const
 
unsigned int orderInGs () const
 
double strongCoupling (Energy2 q2) const
 
double electroMagneticCoupling (Energy2 q2) const
 
double weakCoupling (Energy2 q2) const
 
bool kinematics () const
 
void kinematics (bool kine)
 
void calculateKinematics (const Lorentz5Momentum &p0, const Lorentz5Momentum &p1, const Lorentz5Momentum &p2)
 
void calculateKinematics (const Lorentz5Momentum &p0, const Lorentz5Momentum &p1, const Lorentz5Momentum &p2, const Lorentz5Momentum &p3)
 
void calculateKinematics (const vector< Lorentz5Momentum > &p)
 
Energy2 invariant (unsigned int ix, unsigned int iy) const
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual bool defaultInit ()
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
virtual void debugme () const
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 
const string & name () const
 
bool operator== (const Named &other) const
 
bool operator< (const Named &other) const
 

Static Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from ThePEG::Helicity::GeneralVVSVertex
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Helicity::AbstractVVSVertex
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Helicity::VertexBase
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 

Protected Member Functions

void setNParticles (unsigned int npart)
 Set the number of particles in the loop.
 
bool loopToolsInitialized ()
 Is loopTools initialized.
 
Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object. More...
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane. More...
 
Standard Interfaced functions.
virtual void dofinish ()
 Finalize this object. More...
 
- Protected Member Functions inherited from ThePEG::Helicity::VertexBase
void orderInGem (unsigned int order)
 
void orderInGs (unsigned int order)
 
virtual void doinit ()
 
virtual void rebind (const TranslationMap &trans)
 
virtual IVector getReferences ()
 
void addToList (const vector< long > &ids)
 
void addToList (long ida, long idb, long idc, long idd=0)
 
void norm (const Complex &coup)
 
virtual Complex propagator (int iopt, Energy2 q2, tcPDPtr part, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
Complex normPropagator (int iopt, Energy2 q2, tcPDPtr part, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
virtual void doinit ()
 
virtual void rebind (const TranslationMap &trans)
 
virtual IVector getReferences ()
 
void addToList (const vector< long > &ids)
 
void addToList (long ida, long idb, long idc, long idd=0)
 
void norm (const Complex &coup)
 
virtual Complex propagator (int iopt, Energy2 q2, tcPDPtr part, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
Complex normPropagator (int iopt, Energy2 q2, tcPDPtr part, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 
 Interfaced (const string &newName)
 
 Interfaced (const Interfaced &i)
 
void setGenerator (tEGPtr generator)
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinitrun ()
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinitrun ()
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 

Protected Attributes

vector< Energy > masses
 Vector of loop masses.
 
vector< PDT::Spintype
 Vector of loop types.
 
vector< pair< Complex, Complex > > couplings
 The left and right couplings for a fermion loop.
 

Private Member Functions

VVSLoopVertexoperator= (const VVSLoopVertex &)=delete
 The assignment operator is private and must never be called. More...
 

Private Attributes

unsigned int Npart_
 The number of particles in the loop.
 
bool loopToolsInit_
 Loop tools initialised ?
 

Additional Inherited Members

- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Public Attributes inherited from ThePEG::InterfacedBase
 initializing
 
 uninitialized
 
 initialized
 
 runready
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

The VVSLoopVertex is designed to calculate the coefficents for the terms in the Passarino-Veltman tensor reduction scheme.

A vertex class should inherit from this and implement it's own setCoupling member from which the VVSLoopVertex setCoupling member is called.

Definition at line 21 of file VVSLoopVertex.h.

Member Function Documentation

◆ clone()

virtual IBPtr Herwig::VVSLoopVertex::clone ( ) const
protectedvirtual

◆ dofinish()

virtual void Herwig::VVSLoopVertex::dofinish ( )
protectedvirtual

Finalize this object.

Called in the run phase just after a run has ended. Used eg. to write out statistics.

Reimplemented from ThePEG::InterfacedBase.

◆ fullclone()

virtual IBPtr Herwig::VVSLoopVertex::fullclone ( ) const
protectedvirtual

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.

Reimplemented in Herwig::GenericHPPVertex, Herwig::GenericHGGVertex, Herwig::SSHGGVertex, Herwig::SMHPPVertex, Herwig::SSHPPVertex, Herwig::NMSSMGGHVertex, Herwig::NMSSMPPHVertex, and Herwig::SMHGGVertex.

◆ Init()

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

◆ operator=()

VVSLoopVertex& Herwig::VVSLoopVertex::operator= ( const VVSLoopVertex )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

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

◆ persistentOutput()

void Herwig::VVSLoopVertex::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ setCoupling()

virtual void Herwig::VVSLoopVertex::setCoupling ( Energy2  q2,
tcPDPtr  part1,
tcPDPtr  part2,
tcPDPtr  part3 
)
virtual

Calculate couplings.

Parameters
q2Scale at which to evaluate coupling
part1ParticleData pointer to first particle
part2ParticleData pointer to first particle
part3ParticleData pointer to first particle

Implements ThePEG::Helicity::GeneralVVSVertex.

Reimplemented in Herwig::GenericHPPVertex, Herwig::GenericHGGVertex, Herwig::SMHPPVertex, Herwig::SSHGGVertex, Herwig::SSHPPVertex, Herwig::SMHGGVertex, Herwig::NMSSMGGHVertex, and Herwig::NMSSMPPHVertex.


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