herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
HalfHalfOneSplitFn.h
1// -*- C++ -*-
2//
3// HalfHalfOneSplitFn.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef HERWIG_HalfHalfOneSplitFn_H
10#define HERWIG_HalfHalfOneSplitFn_H
11//
12// This is the declaration of the HalfHalfOneSplitFn class.
13//
14
15#include "Herwig/Shower/QTilde/SplittingFunctions/SplittingFunction.h"
16
17namespace Herwig {
18
19using namespace ThePEG;
20
40
41public:
42
48 virtual bool accept(const IdList & ids) const;
49
62 virtual double P(const double z, const Energy2 t, const IdList & ids,
63 const bool mass, const RhoDMatrix & rho) const;
64
71 virtual double overestimateP(const double z, const IdList & ids) const;
72
83 virtual double ratioP(const double z, const Energy2 t, const IdList & ids,
84 const bool mass, const RhoDMatrix & rho) const;
85
95 virtual double integOverP(const double z, const IdList & ids,
96 unsigned int PDFfactor=0) const;
97
106 virtual double invIntegOverP(const double r, const IdList & ids,
107 unsigned int PDFfactor=0) const;
109
118 virtual vector<pair<int,Complex> >
119 generatePhiForward(const double z, const Energy2 t, const IdList & ids,
120 const RhoDMatrix &);
121
130 virtual vector<pair<int,Complex> >
131 generatePhiBackward(const double z, const Energy2 t, const IdList & ids,
132 const RhoDMatrix &);
133
141 virtual DecayMEPtr matrixElement(const double z, const Energy2 t,
142 const IdList & ids, const double phi, bool timeLike);
143
144public:
145
152 static void Init();
153
154protected:
155
162 virtual IBPtr clone() const {return new_ptr(*this);}
163
168 virtual IBPtr fullclone() const {return new_ptr(*this);}
170
171private:
172
178
179};
180
181}
182
183#endif /* HERWIG_HalfHalfOneSplitFn_H */
This class provides the concrete implementation of the exact leading-order splitting function for .
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 clone() const
Make a simple clone of this object.
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 IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
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 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 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 ...
HalfHalfOneSplitFn & operator=(const HalfHalfOneSplitFn &)=delete
The assignment operator is private and must never be called.
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 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