herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
QTilde
SplittingFunctions
ZeroZeroOneSplitFn.h
1
// -*- C++ -*-
2
//
3
// ZeroZeroOneSplitFn.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_ZeroZeroOneSplitFn_H
10
#define HERWIG_ZeroZeroOneSplitFn_H
11
//
12
// This is the declaration of the ZeroZeroOneSplitFn class.
13
//
14
15
#include "Herwig/Shower/QTilde/SplittingFunctions/SplittingFunction.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
38
class
ZeroZeroOneSplitFn
:
public
SplittingFunction
{
39
40
public
:
41
47
virtual
bool
accept
(
const
IdList
& ids)
const
;
48
61
virtual
double
P
(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
62
bool
mass,
const
RhoDMatrix
& rho)
const
;
63
70
virtual
double
overestimateP
(
const
double
z,
const
IdList
& ids)
const
;
71
82
virtual
double
ratioP
(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
83
bool
mass,
const
RhoDMatrix
& rho)
const
;
84
94
virtual
double
integOverP
(
const
double
z,
const
IdList
& ids,
95
unsigned
int
PDFfactor=0)
const
;
96
105
virtual
double
invIntegOverP
(
const
double
r,
const
IdList
& ids,
106
unsigned
int
PDFfactor=0)
const
;
108
119
virtual
vector<pair<int,Complex> >
120
generatePhiForward
(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
121
const
RhoDMatrix
&);
133
virtual
vector<pair<int,Complex> >
134
generatePhiBackward
(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
135
const
RhoDMatrix
&);
136
146
virtual
DecayMEPtr
matrixElement
(
const
double
z,
const
Energy2 t,
147
const
IdList
& ids,
const
double
phi,
bool
timeLike);
148
149
public
:
150
157
static
void
Init
();
158
159
protected
:
160
167
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
168
173
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
175
176
private
:
177
182
ZeroZeroOneSplitFn
&
operator=
(
const
ZeroZeroOneSplitFn
&) =
delete
;
183
184
};
185
186
}
187
188
#endif
/* HERWIG_ZeroZeroOneSplitFn_H */
Herwig::SplittingFunction
This is an abstract class which defines the common interface for all splitting functions,...
Definition:
SplittingFunction.h:68
Herwig::ZeroZeroOneSplitFn
This class provides the concrete implementation of the exact leading-order splitting function for .
Definition:
ZeroZeroOneSplitFn.h:38
Herwig::ZeroZeroOneSplitFn::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
ZeroZeroOneSplitFn.h:167
Herwig::ZeroZeroOneSplitFn::matrixElement
virtual DecayMEPtr matrixElement(const double z, const Energy2 t, const IdList &ids, const double phi, bool timeLike)
Calculate the matrix element for the splitting.
Herwig::ZeroZeroOneSplitFn::generatePhiBackward
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 Shouldn't be needed and NOT IMPLEMENTED.
Herwig::ZeroZeroOneSplitFn::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::ZeroZeroOneSplitFn::accept
virtual bool accept(const IdList &ids) const
Concrete implementation of the method to determine whether this splitting function can be used for a ...
Herwig::ZeroZeroOneSplitFn::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
ZeroZeroOneSplitFn.h:173
Herwig::ZeroZeroOneSplitFn::operator=
ZeroZeroOneSplitFn & operator=(const ZeroZeroOneSplitFn &)=delete
The assignment operator is private and must never be called.
Herwig::ZeroZeroOneSplitFn::invIntegOverP
virtual double invIntegOverP(const double r, const IdList &ids, unsigned int PDFfactor=0) const
The concrete implementation of the inverse of the indefinite integral.
Herwig::ZeroZeroOneSplitFn::P
virtual double P(const double z, const Energy2 t, const IdList &ids, bool mass, const RhoDMatrix &rho) const
Methods to return the splitting function.
Herwig::ZeroZeroOneSplitFn::generatePhiForward
virtual vector< pair< int, Complex > > generatePhiForward(const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &)
Method to calculate the azimuthal angle for forward evolution.
Herwig::ZeroZeroOneSplitFn::overestimateP
virtual double overestimateP(const double z, const IdList &ids) const
The concrete implementation of the overestimate of the splitting function, .
Herwig::ZeroZeroOneSplitFn::integOverP
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,...
Herwig::ZeroZeroOneSplitFn::ratioP
virtual double ratioP(const double z, const Energy2 t, const IdList &ids, bool mass, const RhoDMatrix &rho) const
The concrete implementation of the the ratio of the splitting function to the overestimate,...
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::IdList
vector< tcPDPtr > IdList
Definition of the IdList for branchings.
Definition:
ShowerConfig.h:64
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6