herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
OneOneZeroEWSplitFn.h
1// -*- C++ -*-
2#ifndef Herwig_OneOneZeroEWSplitFn_H
3#define Herwig_OneOneZeroEWSplitFn_H
4//
5// This is the declaration of the OneOneZeroEWSplitFn class.
6//
7
8#include "SplittingFunction.h"
9#include "Herwig/Models/StandardModel/StandardModel.h"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
25
26public:
27
33 virtual bool accept(const IdList & ids) const;
34
47 virtual double P(const double z, const Energy2 t, const IdList & ids,
48 const bool mass, const RhoDMatrix & rho) const;
49
56 virtual double overestimateP(const double z, const IdList & ids) const;
57
68 virtual double ratioP(const double z, const Energy2 t, const IdList & ids,
69 const bool mass, const RhoDMatrix & rho) const;
70
80 virtual double integOverP(const double z, const IdList & ids,
81 unsigned int PDFfactor=0) const;
82
91 virtual double invIntegOverP(const double r, const IdList & ids,
92 unsigned int PDFfactor=0) const;
94
103 virtual vector<pair<int,Complex> >
104 generatePhiForward(const double z, const Energy2 t, const IdList & ids,
105 const RhoDMatrix &);
106
115 virtual vector<pair<int,Complex> >
116 generatePhiBackward(const double z, const Energy2 t, const IdList & ids,
117 const RhoDMatrix &);
118
126 virtual DecayMEPtr matrixElement(const double z, const Energy2 t,
127 const IdList & ids, const double phi, bool timeLike);
128
129protected:
130
134 void getCouplings(double & g, const IdList & ids) const;
135
136public:
137
145
151 void persistentInput(PersistentIStream & is, int version);
153
160 static void Init();
161
162protected:
163
170 virtual IBPtr clone() const;
171
176 virtual IBPtr fullclone() const;
178
179protected:
180
188 virtual void doinit();
190
191private:
192
198
199private:
200
204 double gWWH_;
205
209 double gZZH_;
210
214 tcHwSMPtr _theSM;
215};
216
217}
218
219#endif /* Herwig_OneOneZeroEWSplitFn_H */
The OneOneZeroEWSplitFn class implements the splitting function for where the spin-1 particles are t...
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
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.
double gZZH_
Z0 -> Z0 H couplings.
virtual IBPtr clone() const
Make a simple clone of this object.
static void Init()
The standard Init function used to initialize the interfaces.
virtual vector< pair< int, Complex > > generatePhiForward(const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &)
Method to calculate the azimuthal angle.
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 bool accept(const IdList &ids) const
Concrete implementation of the method to determine whether this splitting function can be used for a ...
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,...
void getCouplings(double &g, const IdList &ids) const
Get the couplings.
tcHwSMPtr _theSM
Pointer to the SM object.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
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,...
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual double invIntegOverP(const double r, const IdList &ids, unsigned int PDFfactor=0) const
The concrete implementation of the inverse of the indefinite integral.
double gWWH_
W -> W H couplings.
OneOneZeroEWSplitFn & operator=(const OneOneZeroEWSplitFn &)=delete
The assignment operator is private and must never be called.
virtual double overestimateP(const double z, const IdList &ids) const
The concrete implementation of the overestimate of the splitting function, .
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