Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 #ifndef Herwig_MassCutOff_H
0003 #define Herwig_MassCutOff_H
0004 //
0005 // This is the declaration of the MassCutOff class.
0006 //
0007 
0008 #include "SudakovCutOff.h"
0009 
0010 namespace Herwig {
0011 
0012 using namespace ThePEG;
0013 
0014 /**
0015  * Here is the documentation of the MassCutOff class.
0016  *
0017  * @see \ref MassCutOffInterfaces "The interfaces"
0018  * defined for MassCutOff.
0019  */
0020 class MassCutOff: public SudakovCutOff {
0021 
0022 public:
0023 
0024   /**
0025    *  Calculate the virtual masses for a branchings
0026    */
0027   virtual const vector<Energy> & virtualMasses(const IdList & ids);
0028 
0029 public:
0030 
0031   /** @name Functions used by the persistent I/O system. */
0032   //@{
0033   /**
0034    * Function used to write out object persistently.
0035    * @param os the persistent output stream written to.
0036    */
0037   void persistentOutput(PersistentOStream & os) const;
0038 
0039   /**
0040    * Function used to read in object persistently.
0041    * @param is the persistent input stream read from.
0042    * @param version the version number of the object when written.
0043    */
0044   void persistentInput(PersistentIStream & is, int version);
0045   //@}
0046 
0047   /**
0048    * The standard Init function used to initialize the interfaces.
0049    * Called exactly once for each class by the class description system
0050    * before the main function starts or
0051    * when this class is dynamically loaded.
0052    */
0053   static void Init();
0054 
0055 protected:
0056 
0057   /** @name Clone Methods. */
0058   //@{
0059   /**
0060    * Make a simple clone of this object.
0061    * @return a pointer to the new object.
0062    */
0063   virtual IBPtr clone() const;
0064 
0065   /** Make a clone of this object, possibly modifying the cloned object
0066    * to make it sane.
0067    * @return a pointer to the new object.
0068    */
0069   virtual IBPtr fullclone() const;
0070   //@}
0071 
0072 private:
0073 
0074   /**
0075    * The assignment operator is private and must never be called.
0076    * In fact, it should not even be implemented.
0077    */
0078   MassCutOff & operator=(const MassCutOff &) = delete;
0079 
0080 private:
0081 
0082 
0083   /**
0084     *  Parameters for the FORTRAN-like cut-off
0085     */ 
0086   //@{
0087   /**
0088    *  The virtualilty cut-off for gluons
0089    */
0090   Energy vgcut_ = 0.85_GeV;
0091   
0092   /**
0093    *  The virtuality cut-off for everything else
0094    */
0095   Energy vqcut_ = 0.85_GeV;
0096   //@}
0097 
0098 
0099 
0100 };
0101 
0102 }
0103 
0104 #endif /* Herwig_MassCutOff_H */