herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
Kinematics
FILightKinematics.h
1
// -*- C++ -*-
2
//
3
// FILightKinematics.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_FILightKinematics_H
10
#define HERWIG_FILightKinematics_H
11
//
12
// This is the declaration of the FILightKinematics class.
13
//
14
15
#include "DipoleSplittingKinematics.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
29
class
FILightKinematics
:
public
DipoleSplittingKinematics
{
30
31
public
:
32
38
FILightKinematics
();
39
43
virtual
~
FILightKinematics
();
45
46
public
:
47
51
virtual
Energy ptMax(Energy dScale,
52
double
emX,
double
specX,
53
const
DipoleIndex
& dIndex,
54
const
DipoleSplittingKernel
&)
const
;
55
59
virtual
Energy QMax(Energy dScale,
60
double
emX,
double
specX,
61
const
DipoleIndex
& dIndex,
62
const
DipoleSplittingKernel
&)
const
;
63
67
virtual
Energy PtFromQ(Energy scale,
const
DipoleSplittingInfo
&)
const
;
68
72
virtual
Energy QFromPt(Energy scale,
const
DipoleSplittingInfo
&)
const
;
73
77
virtual
pair<double,double> zBoundaries(Energy pt,
78
const
DipoleSplittingInfo
& dInfo,
79
const
DipoleSplittingKernel
& split)
const
;
80
86
virtual
bool
generateSplitting(
double
kappa,
double
xi,
double
phi,
87
DipoleSplittingInfo
& dIndex,
88
const
DipoleSplittingKernel
&);
89
95
virtual
void
generateKinematics(
const
Lorentz5Momentum& pEmitter,
96
const
Lorentz5Momentum& pSpectator,
97
const
DipoleSplittingInfo
& dInfo);
98
99
public
:
100
107
void
persistentOutput(
PersistentOStream
& os)
const
;
108
114
void
persistentInput(
PersistentIStream
& is,
int
version);
116
123
static
void
Init();
124
125
protected
:
126
133
virtual
IBPtr
clone()
const
;
134
139
virtual
IBPtr
fullclone()
const
;
141
142
143
// If needed, insert declarations of virtual function defined in the
144
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
145
146
147
private
:
148
153
static
ClassDescription<FILightKinematics>
initFILightKinematics
;
154
159
FILightKinematics
& operator=(
const
FILightKinematics
&) =
delete
;
160
161
};
162
163
}
164
165
#include "ThePEG/Utilities/ClassTraits.h"
166
167
namespace
ThePEG
{
168
173
template
<>
174
struct
BaseClassTrait
<Herwig::
FILightKinematics
,1> {
176
typedef
Herwig::DipoleSplittingKinematics
NthBase;
177
};
178
181
template
<>
182
struct
ClassTraits
<Herwig::
FILightKinematics
>
183
:
public
ClassTraitsBase
<Herwig::FILightKinematics> {
185
static
string
className() {
return
"Herwig::FILightKinematics"
; }
193
static
string
library() {
return
"HwDipoleShower.so"
; }
194
};
195
198
}
199
200
#endif
/* HERWIG_FILightKinematics_H */
ThePEG::PersistentIStream
Herwig::DipoleSplittingKinematics
DipoleSplittingKinematics is the base class for dipole splittings as performed in the dipole shower...
Definition:
DipoleSplittingKinematics.h:41
ThePEG::ClassDescription
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::DipoleIndex
DipoleIndex is used to index splitting generators for a particular dipole.
Definition:
DipoleSplittingInfo.h:35
ThePEG
Herwig::FILightKinematics::initFILightKinematics
static ClassDescription< FILightKinematics > initFILightKinematics
The static object used to initialize the description of this class.
Definition:
FILightKinematics.h:153
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ClassTraits
Herwig::FILightKinematics
FILightKinematics implements massless splittings off a final-initial dipole.
Definition:
FILightKinematics.h:29
Herwig::DipoleSplittingInfo
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
Definition:
DipoleSplittingInfo.h:209
ThePEG::BaseClassTrait
Herwig::DipoleSplittingKernel
DipoleSplittingKernel is the base class for all kernels used within the dipole shower.
Definition:
DipoleSplittingKernel.h:41
ThePEG::ClassTraitsBase
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13