herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
QTilde
SplittingFunctions
CMWHalfHalfOneSplitFn.h
1
// -*- C++ -*-
2
//
3
// CMWHalfHalfOneSplitFn.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_CMWHalfHalfOneSplitFn_H
10
#define HERWIG_CMWHalfHalfOneSplitFn_H
11
//
12
// This is the declaration of the CMWHalfHalfOneSplitFn class.
13
//
14
15
#include "HalfHalfOneSplitFn.h"
16
#include "Herwig/Shower/ShowerAlpha.h"
17
18
19
namespace
Herwig
{
20
21
using namespace
ThePEG
;
22
39
class
CMWHalfHalfOneSplitFn
:
public
HalfHalfOneSplitFn
{
40
41
public
:
42
54
virtual
double
P
(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
55
const
bool
mass,
const
RhoDMatrix
& rho)
const
;
56
63
virtual
double
ratioP
(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
64
const
bool
mass,
const
RhoDMatrix
& rho)
const
;
65
70
double
Kg
(Energy2 )
const
{
71
//TODO: Should be t-dependent
72
int
Nf=5;
//alpha_->Nf(t)
73
return
(3.*(67./18.-1./6.*
sqr
(
Constants::pi
))-5./9.*Nf);
74
}
75
77
78
79
public
:
80
87
void
persistentOutput
(
PersistentOStream
& os)
const
;
88
94
void
persistentInput
(
PersistentIStream
& is,
int
version);
96
103
static
void
Init
();
104
105
protected
:
106
114
virtual
void
doinit
(){
115
HalfHalfOneSplitFn::doinit
();
116
};
118
119
120
private
:
121
122
// Pointer to the alpha_s object in use.
123
ShowerAlphaPtr alpha_;
124
// Provide information if the kernel is used for initial state.
125
// as the pt definition contains an additional factor of z.
126
bool
isIS_=
false
;
127
128
protected
:
129
136
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
137
142
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
144
145
private
:
146
151
CMWHalfHalfOneSplitFn
&
operator=
(
const
CMWHalfHalfOneSplitFn
&) =
delete
;
152
153
154
};
155
156
}
157
158
#endif
/* HERWIG_CMWHalfHalfOneSplitFn_H */
Herwig::CMWHalfHalfOneSplitFn
This class provides the concrete implementation of the CMW enhanced expressions for the splitting fun...
Definition:
CMWHalfHalfOneSplitFn.h:39
Herwig::CMWHalfHalfOneSplitFn::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
CMWHalfHalfOneSplitFn.h:136
Herwig::CMWHalfHalfOneSplitFn::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Definition:
CMWHalfHalfOneSplitFn.h:114
Herwig::CMWHalfHalfOneSplitFn::P
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.
Herwig::CMWHalfHalfOneSplitFn::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::CMWHalfHalfOneSplitFn::operator=
CMWHalfHalfOneSplitFn & operator=(const CMWHalfHalfOneSplitFn &)=delete
The assignment operator is private and must never be called.
Herwig::CMWHalfHalfOneSplitFn::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
CMWHalfHalfOneSplitFn.h:142
Herwig::CMWHalfHalfOneSplitFn::ratioP
virtual double ratioP(const double z, const Energy2 t, const IdList &ids, const bool mass, const RhoDMatrix &rho) const
Very similar to HalfHalfOneSplitFn.
Herwig::CMWHalfHalfOneSplitFn::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::CMWHalfHalfOneSplitFn::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::CMWHalfHalfOneSplitFn::Kg
double Kg(Energy2) const
Return the correction term from: Nucl.Phys.
Definition:
CMWHalfHalfOneSplitFn.h:70
Herwig::HalfHalfOneSplitFn
This class provides the concrete implementation of the exact leading-order splitting function for .
Definition:
HalfHalfOneSplitFn.h:39
ThePEG::InterfacedBase::doinit
virtual void doinit()
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::IdList
vector< tcPDPtr > IdList
Definition of the IdList for branchings.
Definition:
ShowerConfig.h:64
ThePEG::Constants::pi
constexpr double pi
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6