herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
HalfHalfZeroEWSplitFn.h
1// -*- C++ -*-
2#ifndef Herwig_HalfHalfZeroEWSplitFn_H
3#define Herwig_HalfHalfZeroEWSplitFn_H
4//
5// This is the declaration of the HalfHalfZeroEWSplitFn class.
6//
7
8#include "SplittingFunction.h"
9#include "Herwig/Models/StandardModel/StandardModel.h"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
23
24public:
25
31 virtual bool accept(const IdList & ids) const;
32
45 virtual double P(const double z, const Energy2 t, const IdList & ids,
46 const bool mass, const RhoDMatrix & rho) const;
47
54 virtual double overestimateP(const double z, const IdList & ids) const;
55
66 virtual double ratioP(const double z, const Energy2 t, const IdList & ids,
67 const bool mass, const RhoDMatrix & rho) const;
68
78 virtual double integOverP(const double z, const IdList & ids,
79 unsigned int PDFfactor=0) const;
80
89 virtual double invIntegOverP(const double r, const IdList & ids,
90 unsigned int PDFfactor=0) const;
92
101 virtual vector<pair<int,Complex> >
102 generatePhiForward(const double z, const Energy2 t, const IdList & ids,
103 const RhoDMatrix &);
104
113 virtual vector<pair<int,Complex> >
114 generatePhiBackward(const double z, const Energy2 t, const IdList & ids,
115 const RhoDMatrix &);
116
124 virtual DecayMEPtr matrixElement(const double z, const Energy2 t,
125 const IdList & ids, const double phi, bool timeLike);
126
127protected:
128
132 void getCouplings(double & gH, const IdList & ids) const;
133
137 void getCouplings(double & gH, const IdList & ids, const Energy2 t) const;
138
139public:
140
148
154 void persistentInput(PersistentIStream & is, int version);
156
163 static void Init();
164
165protected:
166
173 virtual IBPtr clone() const;
174
179 virtual IBPtr fullclone() const;
181
182protected:
183
191 virtual void doinit();
193
194private:
195
201
202private:
203
207 double ghqq_;
208
209
213 tcHwSMPtr _theSM;
214
215};
216
217}
218
219#endif /* Herwig_HalfHalfZeroEWSplitFn_H */
The HalfHalfZeroEWSplitFn class implements the splitting function for where the spin-0 higgs particl...
virtual double invIntegOverP(const double r, const IdList &ids, unsigned int PDFfactor=0) const
The concrete implementation of the inverse of the indefinite integral.
virtual bool accept(const IdList &ids) const
Concrete implementation of the method to determine whether this splitting function can be used for a ...
static void Init()
The standard Init function used to initialize the interfaces.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
void getCouplings(double &gH, const IdList &ids, const Energy2 t) const
Get the couplings with running masses.
virtual double overestimateP(const double z, const IdList &ids) const
The concrete implementation of the overestimate of the splitting function, .
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
virtual double integOverP(const double z, const IdList &ids, unsigned int PDFfactor=0) const
The concrete implementation of the indefinite integral of the overestimated splitting function,...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual DecayMEPtr matrixElement(const double z, const Energy2 t, const IdList &ids, const double phi, bool timeLike)
Calculate the matrix element for the splitting.
virtual vector< pair< int, Complex > > generatePhiBackward(const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &)
Method to calculate the azimuthal angle for backward evolution.
tcHwSMPtr _theSM
Pointer to the SM object.
void getCouplings(double &gH, const IdList &ids) const
Get the couplings without running masses.
virtual double ratioP(const double z, const Energy2 t, const IdList &ids, const bool mass, const RhoDMatrix &rho) const
The concrete implementation of the the ratio of the splitting function to the overestimate,...
virtual double P(const double z, const Energy2 t, const IdList &ids, const bool mass, const RhoDMatrix &rho) const
Methods to return the splitting function.
HalfHalfZeroEWSplitFn & operator=(const HalfHalfZeroEWSplitFn &)=delete
The assignment operator is private and must never be called.
virtual vector< pair< int, Complex > > generatePhiForward(const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &)
Method to calculate the azimuthal angle.
This is an abstract class which defines the common interface for all splitting functions,...
-*- C++ -*-
vector< tcPDPtr > IdList
Definition of the IdList for branchings.
Definition: ShowerConfig.h:64
ThePEG::Ptr< InterfacedBase >::pointer IBPtr