Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 #ifndef HERWIG_MEee2ZH_H
0003 #define HERWIG_MEee2ZH_H
0004 //
0005 // This is the declaration of the MEee2ZH class.
0006 //
0007 
0008 #include "Herwig/MatrixElement/MEfftoVH.h"
0009 
0010 namespace Herwig {
0011 
0012 using namespace ThePEG;
0013 
0014 /**
0015  * The MEee2ZH class implements the matrix element
0016  * for \f$e^+e^-\to Z^0h^0\f$.
0017  *
0018  * @see \ref MEee2ZHInterfaces "The interfaces"
0019  * defined for MEee2ZH.
0020  */
0021 class MEee2ZH: public MEfftoVH {
0022 
0023 public:
0024 
0025   /** @name Virtual functions required by the MEfftoVH class. */
0026   //@{
0027   /**
0028    * Add all possible diagrams with the add() function.
0029    */
0030   virtual void getDiagrams() const;
0031 
0032   /**
0033    *  Has not got a POWHEG style correction
0034    */
0035   virtual POWHEGType hasPOWHEGCorrection() {return No;}
0036 
0037   /**
0038    *  Has not got an old fashioned ME correction
0039    */
0040   virtual bool hasMECorrection() {return false;}
0041 
0042 public:
0043 
0044   /**
0045    * The standard Init function used to initialize the interfaces.
0046    * Called exactly once for each class by the class description system
0047    * before the main function starts or
0048    * when this class is dynamically loaded.
0049    */
0050   static void Init();
0051 
0052 protected:
0053 
0054   /** @name Clone Methods. */
0055   //@{
0056   /**
0057    * Make a simple clone of this object.
0058    * @return a pointer to the new object.
0059    */
0060   virtual IBPtr clone() const {return new_ptr(*this);}
0061 
0062   /** Make a clone of this object, possibly modifying the cloned object
0063    * to make it sane.
0064    * @return a pointer to the new object.
0065    */
0066   virtual IBPtr fullclone() const {return new_ptr(*this);}
0067   //@}
0068 
0069 protected:
0070 
0071   /** @name Standard Interfaced functions. */
0072   //@{
0073   /**
0074    * Initialize this object after the setup phase before saving an
0075    * EventGenerator to disk.
0076    * @throws InitException if object could not be initialized properly.
0077    */
0078   virtual void doinit();
0079   //@}
0080 
0081 private:
0082 
0083   /**
0084    * The assignment operator is private and must never be called.
0085    * In fact, it should not even be implemented.
0086    */
0087   MEee2ZH & operator=(const MEee2ZH &) = delete;
0088 
0089 };
0090 
0091 }
0092 
0093 #endif /* HERWIG_MEee2ZH_H */