herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
HalfHalfOneEWSplitFn.h
1// -*- C++ -*-
2#ifndef Herwig_HalfHalfOneEWSplitFn_H
3#define Herwig_HalfHalfOneEWSplitFn_H
4//
5// This is the declaration of the HalfHalfOneEWSplitFn class.
6//
7
8#include "SplittingFunction.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
22
23public:
24
30 virtual bool accept(const IdList & ids) const;
31
44 virtual double P(const double z, const Energy2 t, const IdList & ids,
45 const bool mass, const RhoDMatrix & rho) const;
46
53 virtual double overestimateP(const double z, const IdList & ids) const;
54
65 virtual double ratioP(const double z, const Energy2 t, const IdList & ids,
66 const bool mass, const RhoDMatrix & rho) const;
67
77 virtual double integOverP(const double z, const IdList & ids,
78 unsigned int PDFfactor=0) const;
79
88 virtual double invIntegOverP(const double r, const IdList & ids,
89 unsigned int PDFfactor=0) const;
91
100 virtual vector<pair<int,Complex> >
101 generatePhiForward(const double z, const Energy2 t, const IdList & ids,
102 const RhoDMatrix &);
103
112 virtual vector<pair<int,Complex> >
113 generatePhiBackward(const double z, const Energy2 t, const IdList & ids,
114 const RhoDMatrix &);
115
123 virtual DecayMEPtr matrixElement(const double z, const Energy2 t,
124 const IdList & ids, const double phi, bool timeLike);
125
126protected:
127
131 void getCouplings(double & gL, double & gR, const IdList & ids) const;
132
133public:
134
142
148 void persistentInput(PersistentIStream & is, int version);
150
157 static void Init();
158
159protected:
160
167 virtual IBPtr clone() const;
168
173 virtual IBPtr fullclone() const;
175
176protected:
177
185 virtual void doinit();
187
188private:
189
195
196private:
197
201 map<long,pair<double,double> > gZ_;
202
206 double gWL_;
207
208};
209
210}
211
212#endif /* Herwig_HalfHalfOneEWSplitFn_H */
The HalfHalfOneEWSplitFn class implements the splitting function for where the spin-1 particle is a ...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual double overestimateP(const double z, const IdList &ids) const
The concrete implementation of the overestimate of the splitting function, .
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual DecayMEPtr matrixElement(const double z, const Energy2 t, const IdList &ids, const double phi, bool timeLike)
Calculate the matrix element for the splitting.
HalfHalfOneEWSplitFn & operator=(const HalfHalfOneEWSplitFn &)=delete
The assignment operator is private and must never be called.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
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.
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 void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
map< long, pair< double, double > > gZ_
Z couplings.
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.
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,...
static void Init()
The standard Init function used to initialize the interfaces.
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,...
virtual IBPtr clone() const
Make a simple clone of this object.
virtual vector< pair< int, Complex > > generatePhiForward(const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &)
Method to calculate the azimuthal angle.
void getCouplings(double &gL, double &gR, const IdList &ids) const
Get the couplings.
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