herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
VVSLoopVertex.h
1 // -*- C++ -*-
2 #ifndef HERWIG_VVSLoopVertex_H
3 #define HERWIG_VVSLoopVertex_H
4 // // This is the declaration of the VVSLoopVertex class.
5 //
6 
7 #include "ThePEG/Helicity/Vertex/Scalar/GeneralVVSVertex.h"
8 #include "VVSLoopVertex.fh"
9 
10 namespace Herwig {
11 using namespace ThePEG;
12 
22 
23 public:
24 
28  VVSLoopVertex() : masses(0), type(0), couplings(0), Npart_(0), loopToolsInit_(false) {
29  kinematics(true);
30  }
31 
39  virtual void setCoupling(Energy2 q2,tcPDPtr part1, tcPDPtr part2,
40  tcPDPtr part3);
41 
42 public:
43 
50  void persistentOutput(PersistentOStream & os) const;
51 
57  void persistentInput(PersistentIStream & is, int version);
59 
66  static void Init();
67 
68 protected:
69 
76  virtual IBPtr clone() const;
77 
82  virtual IBPtr fullclone() const;
84 
85 protected:
86 
93  virtual void dofinish();
95 
96 protected:
97 
101  vector<Energy> masses;
102 
106  vector<PDT::Spin> type;
107 
111  vector<pair<Complex, Complex> > couplings;
112 
116  void setNParticles(unsigned int npart) { Npart_ = npart; }
117 
121  bool loopToolsInitialized() { return loopToolsInit_; }
122 
123 private:
124 
129  VVSLoopVertex & operator=(const VVSLoopVertex &) = delete;
130 
131 private:
132 
136  unsigned int Npart_;
137 
142 
143 };
144 
145 }
146 
147 #endif /* HERWIG_VVSLoopVertex_H */
VVSLoopVertex()
The default constructor.
Definition: VVSLoopVertex.h:28
unsigned int Npart_
The number of particles in the loop.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
bool loopToolsInit_
Loop tools initialised ?
vector< Energy > masses
Vector of loop masses.
vector< pair< Complex, Complex > > couplings
The left and right couplings for a fermion loop.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
bool loopToolsInitialized()
Is loopTools initialized.
The VVSLoopVertex is designed to calculate the coefficents for the terms in the Passarino-Veltman ten...
Definition: VVSLoopVertex.h:21
-*- C++ -*-
void setNParticles(unsigned int npart)
Set the number of particles in the loop.
vector< PDT::Spin > type
Vector of loop types.