herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
UEBase.h
1 // -*- C++ -*-
2 #ifndef HERWIG_UEBase_H
3 #define HERWIG_UEBase_H
4 //
5 // This is the declaration of the UEBase class.
6 //
7 
8 #include "ThePEG/Interface/Interfaced.h"
9 #include "ThePEG/Handlers/StandardXComb.fh"
10 #include "UEBase.fh"
11 
12 namespace Herwig {
13 
14 using namespace ThePEG;
15 
25 class UEBase: public Interfaced {
26 
27 public:
28 
35  static void Init();
36 
43  virtual void initialize() {}
44 
48  virtual bool beamOK() const = 0;
49 
53  virtual bool softInt() const {return false;}
54 
58  virtual Energy Ptmin() const = 0;
59 
64  virtual InvEnergy2 beta() const {return ZERO;}
65 
69  virtual void finalize() {}
70 
74  virtual void clean() {}
75 
80  virtual unsigned int additionalHardProcs() const {return 0;}
81 
87  virtual unsigned int multiplicity(unsigned int i=0) = 0;
88 
94  virtual tStdXCombPtr generate(unsigned int sel=0) = 0;
95 
99  virtual int Algorithm() const = 0;
100 
104  virtual Energy PtForVeto() const = 0;
105 
110  virtual double colourDisrupt() const {return 0.0;}
111 
116  virtual unsigned int softMultiplicity() const {return 0;}
118 
122  virtual CrossSection inelasticXSec() const =0;
123 
127  virtual CrossSection diffractiveXSec() const =0;
128 
132  virtual CrossSection nonDiffractiveXSec() const =0;
133 
134 private:
135 
140  UEBase & operator=(const UEBase &) = delete;
141 
142 };
143 
144 }
145 
146 #endif /* HERWIG_UEBase_H */
virtual void clean()
Clean up method called after each event.
Definition: UEBase.h:74
Abstract base class used to minimize the dependence between MPIHandler and all Shower classes...
Definition: UEBase.h:25
virtual bool softInt() const
Return true or false depending on whether soft interactions are enabled.
Definition: UEBase.h:53
virtual unsigned int additionalHardProcs() const
Return the number of different hard processes.
Definition: UEBase.h:80
virtual void initialize()
Some initialization code eventually.
Definition: UEBase.h:43
virtual double colourDisrupt() const
Return the fraction of colour disrupted subprocesses.
Definition: UEBase.h:110
virtual InvEnergy2 beta() const
Return the slope of the soft pt spectrum.
Definition: UEBase.h:64
virtual void finalize()
Some finalize code eventually.
Definition: UEBase.h:69
pair< double, double > generate(const Generator< Density > &gen, double r)
Generate a random variable and return its weight.
-*- C++ -*-
virtual unsigned int softMultiplicity() const
Return the soft multiplicity.
Definition: UEBase.h:116
constexpr ZeroUnit ZERO