Herwig 7 is hosted by Hepforge, IPPP Durham
Herwig  7.1.4
FIMDecayqx2qgxDipoleKernel.h
1 // -*- C++ -*-
2 #ifndef HERWIG_FIMDecayqx2qgxDipoleKernel_H
3 #define HERWIG_FIMDecayqx2qgxDipoleKernel_H
4 //
5 // This is the declaration of the FIMDecayqx2qgxDipoleKernel class.
6 //
7 
8 #include "DipoleSplittingKernel.h"
9 
10 namespace Herwig {
11 
12 using namespace ThePEG;
13 
24 
25 public:
26 
33 
37  virtual ~FIMDecayqx2qgxDipoleKernel();
39 
40 public:
45  virtual bool canHandle(const DipoleIndex&) const;
46 
52  virtual bool canHandleEquivalent(const DipoleIndex& a,
53  const DipoleSplittingKernel& sk,
54  const DipoleIndex& b) const;
55 
60  virtual tcPDPtr emitter(const DipoleIndex& ind) const;
61 
66  virtual tcPDPtr emission(const DipoleIndex&) const;
67 
72  virtual tcPDPtr spectator(const DipoleIndex& ind) const;
73 
78  virtual double evaluate(const DipoleSplittingInfo& split) const;
79 
80 public:
81 
88  void persistentOutput(PersistentOStream & os) const;
89 
95  void persistentInput(PersistentIStream & is, int version);
97 
104  static void Init();
105 
106 protected:
107 
114  virtual IBPtr clone() const;
115 
120  virtual IBPtr fullclone() const;
122 
123 
124 // If needed, insert declarations of virtual function defined in the
125 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
126 
127 
128 private:
129 
135 
141 
142 };
143 
144 }
145 
146 #include "ThePEG/Utilities/ClassTraits.h"
147 
148 namespace ThePEG {
149 
154 template <>
157  typedef Herwig::DipoleSplittingKernel NthBase;
158 };
159 
162 template <>
164  : public ClassTraitsBase<Herwig::FIMDecayqx2qgxDipoleKernel> {
166  static string className() { return "Herwig::FIMDecayqx2qgxDipoleKernel"; }
174  static string library() { return "HwDipoleShower.so"; }
175 };
176 
179 }
180 
181 #endif /* HERWIG_FIMDecayqx2qgxDipoleKernel_H */
FIMDecayqx2qgxDipoleKernel implements the q -> qg splitting off a final-initial decay dipole and incl...
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
DipoleIndex is used to index splitting generators for a particular dipole.
static ClassDescription< FIMDecayqx2qgxDipoleKernel > initFIMDecayqx2qgxDipoleKernel
The static object used to initialize the description of this class.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
-*- C++ -*-
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
DipoleSplittingKernel is the base class for all kernels used within the dipole shower.