Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 //
0003 // MatchboxZGammaAmplitude.h is a part of Herwig - A multi-purpose Monte Carlo event generator
0004 // Copyright (C) 2002-2019 The Herwig Collaboration
0005 //
0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
0008 //
0009 #ifndef Herwig_MatchboxZGammaAmplitude_H
0010 #define Herwig_MatchboxZGammaAmplitude_H
0011 //
0012 // This is the declaration of the MatchboxZGammaAmplitude class.
0013 //
0014 
0015 #include "Herwig/MatrixElement/Matchbox/Base/MatchboxAmplitude.h"
0016 
0017 namespace Herwig {
0018 
0019 using namespace ThePEG;
0020 
0021 /**
0022  * Here is the documentation of the MatchboxZGammaAmplitude class.
0023  *
0024  * @see \ref MatchboxZGammaAmplitudeInterfaces "The interfaces"
0025  * defined for MatchboxZGammaAmplitude.
0026  */
0027 class MatchboxZGammaAmplitude: public MatchboxAmplitude {
0028 
0029 public:
0030 
0031   /**
0032    * The default constructor.
0033    */
0034   MatchboxZGammaAmplitude();
0035 
0036 public:
0037 
0038   /**
0039    * Return true, if the Z contribution should be taken into account
0040    */
0041   bool includeZ() const { return theIncludeZ; }
0042 
0043   /**
0044    * Return true, if the gamma contribution should be taken into account
0045    */
0046   bool includeGamma() const { return theIncludeGamma; }
0047 
0048 public:
0049 
0050   /** @name Functions used by the persistent I/O system. */
0051   //@{
0052   /**
0053    * Function used to write out object persistently.
0054    * @param os the persistent output stream written to.
0055    */
0056   void persistentOutput(PersistentOStream & os) const;
0057 
0058   /**
0059    * Function used to read in object persistently.
0060    * @param is the persistent input stream read from.
0061    * @param version the version number of the object when written.
0062    */
0063   void persistentInput(PersistentIStream & is, int version);
0064   //@}
0065 
0066   /**
0067    * The standard Init function used to initialize the interfaces.
0068    * Called exactly once for each class by the class description system
0069    * before the main function starts or
0070    * when this class is dynamically loaded.
0071    */
0072   static void Init();
0073 
0074 
0075 // If needed, insert declarations of virtual function defined in the
0076 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
0077 
0078 
0079 private:
0080 
0081   /**
0082    * The assignment operator is private and must never be called.
0083    * In fact, it should not even be implemented.
0084    */
0085   MatchboxZGammaAmplitude & operator=(const MatchboxZGammaAmplitude &) = delete;
0086 
0087   /**
0088    * True, if the Z contribution should be taken into account
0089    */
0090   bool theIncludeZ;
0091 
0092   /**
0093    * True, if the gamma contribution should be taken into account
0094    */
0095   bool theIncludeGamma;
0096 
0097 };
0098 
0099 }
0100 
0101 #endif /* Herwig_MatchboxZGammaAmplitude_H */