herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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.
 
- 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 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
 
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)=0
 
virtual VectorWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec2, const ScalarWaveFunction &sca3, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
 
virtual ScalarWaveFunction evaluate (Energy2 q2, int iopt, tcPDPtr out, const VectorWaveFunction &vec1, const VectorWaveFunction &vec2, complex< Energy > mass=-GeV, complex< Energy > width=-GeV)=0
 
- Public Member Functions inherited from ThePEG::Helicity::VertexBase
 VertexBase (VertexType::T name, bool kine=false)
 
double strongCoupling (Energy2 q2) const
 
double electroMagneticCoupling (Energy2 q2) const
 
double weakCoupling (Energy2 q2) const
 
virtual void setCoupling (Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
 
virtual void setCoupling (Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3, tcPDPtr part4)=0
 
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
 
int orderInGem () const
 
int orderInGs () const
 
int orderInCoupling (CouplingType::T cType) const
 
int orderInAllCouplings () const
 
ColourStructure::T colourStructure () const
 
double strongCoupling (Energy2 q2) const
 
double electroMagneticCoupling (Energy2 q2) const
 
double weakCoupling (Energy2 q2) const
 
virtual void setCoupling (Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3)=0
 
virtual void setCoupling (Energy2 q2, tcPDPtr part1, tcPDPtr part2, tcPDPtr part3, tcPDPtr part4)=0
 
- 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
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
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
 
virtual IBPtr fullclone () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
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
 
virtual IBPtr fullclone () const
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
virtual void debugme () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 
 Named (const Named &)=default
 
const string & name () const
 
bool operator== (const Named &other) const
 
bool operator< (const Named &other) const
 

Protected Member Functions

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.
 
- Protected Member Functions inherited from ThePEG::Helicity::VertexBase
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)
 
void orderInGem (int order)
 
void orderInGs (int order)
 
void orderInCoupling (CouplingType::T cType, int order)
 
void colourStructure (ColourStructure::T structure)
 
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
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinit ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual IBPtr clone () const=0
 
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinit ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
- Protected Member Functions inherited from ThePEG::Pointer::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)
 

Standard Interfaced functions.

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.
 
unsigned int Npart_
 The number of particles in the loop.
 
bool loopToolsInit_
 Loop tools initialised ?
 
virtual void dofinish ()
 Finalize this object.
 
void setNParticles (unsigned int npart)
 Set the number of particles in the loop.
 
bool loopToolsInitialized ()
 Is loopTools initialized.
 
VVSLoopVertexoperator= (const VVSLoopVertex &)=delete
 The assignment operator is private and must never be called.
 

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 void Init ()
 The standard Init function used to initialize the interfaces.
 

Additional Inherited Members

- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- 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 ()
 
- 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.

Constructor & Destructor Documentation

◆ VVSLoopVertex()

Herwig::VVSLoopVertex::VVSLoopVertex ( )
inline

The default constructor.

Definition at line 28 of file VVSLoopVertex.h.

References ThePEG::Helicity::VertexBase::kinematics().

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::GenericHGGVertex, Herwig::GenericHPPVertex, Herwig::SMHGGVertex, Herwig::SMHPPVertex, Herwig::NMSSMGGHVertex, Herwig::NMSSMPPHVertex, Herwig::SSHGGVertex, and Herwig::SSHPPVertex.

◆ 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.

◆ loopToolsInitialized()

bool Herwig::VVSLoopVertex::loopToolsInitialized ( )
inlineprotected

Is loopTools initialized.

Definition at line 121 of file VVSLoopVertex.h.

References loopToolsInit_.

◆ 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::NMSSMGGHVertex, Herwig::NMSSMPPHVertex, Herwig::GenericHGGVertex, Herwig::GenericHPPVertex, Herwig::SMHGGVertex, Herwig::SMHPPVertex, Herwig::SSHGGVertex, and Herwig::SSHPPVertex.

◆ setNParticles()

void Herwig::VVSLoopVertex::setNParticles ( unsigned int  npart)
inlineprotected

Set the number of particles in the loop.

Definition at line 116 of file VVSLoopVertex.h.

References Npart_.

Member Data Documentation

◆ couplings

vector<pair<Complex, Complex> > Herwig::VVSLoopVertex::couplings
protected

The left and right couplings for a fermion loop.

Definition at line 111 of file VVSLoopVertex.h.

◆ loopToolsInit_

bool Herwig::VVSLoopVertex::loopToolsInit_
private

Loop tools initialised ?

Definition at line 141 of file VVSLoopVertex.h.

Referenced by loopToolsInitialized().

◆ masses

vector<Energy> Herwig::VVSLoopVertex::masses
protected

Vector of loop masses.

Definition at line 101 of file VVSLoopVertex.h.

◆ Npart_

unsigned int Herwig::VVSLoopVertex::Npart_
private

The number of particles in the loop.

Definition at line 136 of file VVSLoopVertex.h.

Referenced by setNParticles().

◆ type

vector<PDT::Spin> Herwig::VVSLoopVertex::type
protected

Vector of loop types.

Definition at line 106 of file VVSLoopVertex.h.


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