herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.1.5
Shower
QTilde
SplittingFunctions
HalfOneHalfSplitFn.h
1
// -*- C++ -*-
2
//
3
// HalfOneHalfSplitFn.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2017 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_HalfOneHalfSplitFn_H
10
#define HERWIG_HalfOneHalfSplitFn_H
11
//
12
// This is the declaration of the HalfOneHalfSplitFn class.
13
//
14
15
#include "Herwig/Shower/Core/SplittingFunctions/SplittingFunction.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
38
class
HalfOneHalfSplitFn
:
public
SplittingFunction
{
39
40
public
:
41
45
HalfOneHalfSplitFn
() :
SplittingFunction
(1) {}
46
52
virtual
bool
accept(
const
IdList
& ids)
const
;
53
66
virtual
double
P(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
67
const
bool
mass,
const
RhoDMatrix
& rho)
const
;
68
69
76
virtual
double
overestimateP(
const
double
z,
const
IdList
& ids)
const
;
77
88
virtual
double
ratioP(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
89
const
bool
mass,
const
RhoDMatrix
& rho)
const
;
90
100
virtual
double
integOverP(
const
double
z,
const
IdList
& ids,
101
unsigned
int
PDFfactor=0)
const
;
102
111
virtual
double
invIntegOverP(
const
double
r,
const
IdList
& ids,
112
unsigned
int
PDFfactor=0)
const
;
114
123
virtual
vector<pair<int,Complex> >
124
generatePhiForward(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
125
const
RhoDMatrix
&);
126
135
virtual
vector<pair<int,Complex> >
136
generatePhiBackward(
const
double
z,
const
Energy2 t,
const
IdList
& ids,
137
const
RhoDMatrix
&);
138
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
HalfOneHalfSplitFn
& operator=(
const
HalfOneHalfSplitFn
&) =
delete
;
183
184
};
185
186
}
187
188
#endif
/* HERWIG_HalfOneHalfSplitFn_H */
Herwig::HalfOneHalfSplitFn::HalfOneHalfSplitFn
HalfOneHalfSplitFn()
The default constructor.
Definition:
HalfOneHalfSplitFn.h:45
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::HalfOneHalfSplitFn::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
HalfOneHalfSplitFn.h:173
ThePEG
Herwig::IdList
vector< tcPDPtr > IdList
Definition of the IdList for branchings.
Definition:
ShowerConfig.h:64
Herwig::HalfOneHalfSplitFn
This classs provides the concrete implementation of the exact leading-order splitting function for ...
Definition:
HalfOneHalfSplitFn.h:38
Herwig::SplittingFunction
This is an abstract class which defines the common interface for all splitting functions, for both initial-state and final-state radiation.
Definition:
SplittingFunction.h:68
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::HalfOneHalfSplitFn::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
HalfOneHalfSplitFn.h:167
ThePEG::RhoDMatrix
Generated on Thu Apr 4 2019 16:12:12 for Herwig by
1.8.13