herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
FFgx2ggxDipoleKernel.h
1// -*- C++ -*-
2#ifndef HERWIG_FFgx2ggxDipoleKernel_H
3#define HERWIG_FFgx2ggxDipoleKernel_H
4//
5// This is the declaration of the FFgx2ggxDipoleKernel class.
6//
7
8#include "DipoleSplittingKernel.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
23
24public:
25
30
31public:
32
37 virtual bool canHandle(const DipoleIndex&) const;
38
44 virtual bool canHandleEquivalent(const DipoleIndex& a,
45 const DipoleSplittingKernel& sk,
46 const DipoleIndex& b) const;
47
52 virtual tcPDPtr emitter(const DipoleIndex&) const;
53
58 virtual tcPDPtr emission(const DipoleIndex&) const;
59
64 virtual tcPDPtr spectator(const DipoleIndex&) const;
65
70 virtual double evaluate(const DipoleSplittingInfo&) const;
71
76 virtual vector< pair<int, Complex> > generatePhi( const DipoleSplittingInfo& dInfo, const RhoDMatrix& rho) const;
77
81 virtual DecayMEPtr matrixElement(const DipoleSplittingInfo& dInfo) const;
82
83public:
84
92
98 void persistentInput(PersistentIStream & is, int version);
100
107 static void Init();
108
109protected:
110
117 virtual IBPtr clone() const;
118
123 virtual IBPtr fullclone() const;
125
126
127// If needed, insert declarations of virtual function defined in the
128// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
129
130
131private:
132
138
144
150
151};
152
153}
154
155#include "ThePEG/Utilities/ClassTraits.h"
156
157namespace ThePEG {
158
163template <>
164struct BaseClassTrait<Herwig::FFgx2ggxDipoleKernel,1> {
167};
168
171template <>
172struct ClassTraits<Herwig::FFgx2ggxDipoleKernel>
173 : public ClassTraitsBase<Herwig::FFgx2ggxDipoleKernel> {
175 static string className() { return "Herwig::FFgx2ggxDipoleKernel"; }
183 static string library() { return "HwDipoleShower.so"; }
184};
185
188}
189
190#endif /* HERWIG_FFgx2ggxDipoleKernel_H */
DipoleIndex is used to index splitting generators for a particular dipole.
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
DipoleSplittingKernel is the base class for all kernels used within the dipole shower.
FFgx2ggxDipoleKernel implements the g -> gg splitting off a final-final dipole.
FFgx2ggxDipoleKernel()
The default constructor.
virtual bool canHandleEquivalent(const DipoleIndex &a, const DipoleSplittingKernel &sk, const DipoleIndex &b) const
Return true, if this splitting kernel is the same for the given index a, as the given splitting kerne...
virtual DecayMEPtr matrixElement(const DipoleSplittingInfo &dInfo) const
Return the completely spin-unaveraged (i.e.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual tcPDPtr emission(const DipoleIndex &) const
Return the emission data after splitting, given a dipole index.
static ClassDescription< FFgx2ggxDipoleKernel > initFFgx2ggxDipoleKernel
The static object used to initialize the description of this class.
virtual bool canHandle(const DipoleIndex &) const
Return true, if this splitting kernel applies to the given dipole index.
virtual tcPDPtr emitter(const DipoleIndex &) const
Return the emitter data after splitting, given a dipole index.
virtual vector< pair< int, Complex > > generatePhi(const DipoleSplittingInfo &dInfo, const RhoDMatrix &rho) const
Evaluate rho_ii' V_ijk V*_i'jk / equivalent for initial-state splitting, required for generating spin...
FFgx2ggxDipoleKernel & operator=(const FFgx2ggxDipoleKernel &)=delete
The assignment operator is private and must never be called.
int theAsymmetryOption
Asymmetry option for final state gluon splittings.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual double evaluate(const DipoleSplittingInfo &) const
Evaluate this splitting kernel for the given dipole splitting.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static void Init()
The standard Init function used to initialize the interfaces.
virtual tcPDPtr spectator(const DipoleIndex &) const
Return the spectator data after splitting, given a dipole index.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
static string className()
static string library()