Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:18

0001 // -*- C++ -*-
0002 #ifndef HERWIG_SextetGGVVVertex_H
0003 #define HERWIG_SextetGGVVVertex_H
0004 //
0005 // This is the declaration of the SextetGGVVVertex class.
0006 //
0007 
0008 #include "ThePEG/Helicity/Vertex/Vector/VVVVVertex.h"
0009 
0010 namespace Herwig {
0011 
0012 using namespace ThePEG;
0013 
0014 /**
0015  * Here is the documentation of the SextetGGVVVertex class.
0016  *
0017  * @see \ref SextetGGVVVertexInterfaces "The interfaces"
0018  * defined for SextetGGVVVertex.
0019  */
0020 class SextetGGVVVertex: public Helicity::VVVVVertex {
0021 
0022 public:
0023 
0024   /**
0025    * The default constructor.
0026    */
0027   SextetGGVVVertex() {
0028     colourStructure(ColourStructure::SU3TT6);
0029   }
0030 
0031   /** Calculate the coupling
0032    *@param q2 The scale at which to evaluate the coupling
0033    *@param part1 The first interacting particle 
0034    *@param part2 The second interacting particle 
0035    *@param part3 The third interacting particle 
0036    *@param part4 The fourth interacting particle 
0037    */
0038   virtual void setCoupling(Energy2 q2, tcPDPtr part1, tcPDPtr part2,
0039                tcPDPtr part3, tcPDPtr part4);
0040 
0041 public:
0042 
0043   /**
0044    * The standard Init function used to initialize the interfaces.
0045    * Called exactly once for each class by the class description system
0046    * before the main function starts or
0047    * when this class is dynamically loaded.
0048    */
0049   static void Init();
0050 
0051 protected:
0052 
0053   /** @name Clone Methods. */
0054   //@{
0055   /**
0056    * Make a simple clone of this object.
0057    * @return a pointer to the new object.
0058    */
0059   virtual IBPtr clone() const;
0060 
0061   /** Make a clone of this object, possibly modifying the cloned object
0062    * to make it sane.
0063    * @return a pointer to the new object.
0064    */
0065   virtual IBPtr fullclone() const;
0066   //@}
0067 
0068 protected:
0069 
0070   /** @name Standard Interfaced functions. */
0071   //@{
0072   /**
0073    * Initialize this object after the setup phase before saving an
0074    * EventGenerator to disk.
0075    * @throws InitException if object could not be initialized properly.
0076    */
0077   virtual void doinit();
0078   //@}
0079 
0080 private:
0081 
0082   /**
0083    * The assignment operator is private and must never be called.
0084    * In fact, it should not even be implemented.
0085    */
0086   SextetGGVVVertex & operator=(const SextetGGVVVertex &) = delete;
0087 
0088 private:
0089 
0090   /**
0091    * The scale at which the coupling was last evaluated
0092    */
0093   Energy2 q2Last_;
0094 
0095   /**
0096    * The value of the coupling when it was last evaluated 
0097    */
0098   Complex coupLast_;
0099 
0100 };
0101 
0102 }
0103 
0104 #endif /* HERWIG_SextetGGVVVertex_H */