herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
Base
DipoleChainOrdering.h
1
// -*- C++ -*-
2
//
3
// DipoleChainOrdering.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_DipoleChainOrdering_H
10
#define HERWIG_DipoleChainOrdering_H
11
//
12
// This is the declaration of the DipoleChainOrdering class.
13
//
14
15
#include "DipoleEvolutionOrdering.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
29
class
DipoleChainOrdering
:
public
DipoleEvolutionOrdering
{
30
31
public
:
32
38
DipoleChainOrdering
();
39
43
virtual
~
DipoleChainOrdering
();
45
46
public
:
47
52
virtual
Energy hardScale(
tPPtr
emitter,
tPPtr
spectator,
53
double
emitterX,
double
spectatorX,
54
const
DipoleSplittingKernel
&,
55
const
DipoleIndex
&)
const
;
56
62
virtual
void
setEvolutionScale(Energy scale,
63
const
DipoleSplittingInfo
&,
64
DipoleChain
&,
65
pair<list<Dipole>::iterator,list<Dipole>::iterator>)
const
;
66
72
virtual
void
setEvolutionScale(Energy scale,
73
const
DipoleSplittingInfo
&,
74
DipoleChain
&,
75
list<Dipole>::iterator)
const
;
76
81
virtual
Energy evolutionScale(
const
DipoleSplittingInfo
& split,
82
const
DipoleSplittingKernel
&)
const
;
83
88
virtual
Energy maxPt(Energy scale,
89
const
DipoleSplittingInfo
&,
90
const
DipoleSplittingKernel
&)
const
;
91
92
public
:
93
100
void
persistentOutput(
PersistentOStream
& os)
const
;
101
107
void
persistentInput(
PersistentIStream
& is,
int
version);
109
116
static
void
Init();
117
118
protected
:
119
126
virtual
IBPtr
clone()
const
;
127
132
virtual
IBPtr
fullclone()
const
;
134
135
136
// If needed, insert declarations of virtual function defined in the
137
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
138
139
private
:
140
145
bool
virtualityOrdering
;
146
147
private
:
148
153
static
ClassDescription<DipoleChainOrdering>
initDipoleChainOrdering
;
154
159
DipoleChainOrdering
& operator=(
const
DipoleChainOrdering
&) =
delete
;
160
161
};
162
163
}
164
165
#include "ThePEG/Utilities/ClassTraits.h"
166
167
namespace
ThePEG
{
168
173
template
<>
174
struct
BaseClassTrait
<Herwig::
DipoleChainOrdering
,1> {
176
typedef
Herwig::DipoleEvolutionOrdering
NthBase;
177
};
178
181
template
<>
182
struct
ClassTraits
<Herwig::
DipoleChainOrdering
>
183
:
public
ClassTraitsBase
<Herwig::DipoleChainOrdering> {
185
static
string
className() {
return
"Herwig::DipoleChainOrdering"
; }
193
static
string
library() {
return
"HwDipoleShower.so"
; }
194
};
195
198
}
199
200
#endif
/* HERWIG_DipoleChainOrdering_H */
ThePEG::PersistentIStream
Herwig::DipoleChainOrdering::virtualityOrdering
bool virtualityOrdering
True, if virtuality instead of pt ordering should be performed.
Definition:
DipoleChainOrdering.h:145
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::DipoleChainOrdering
DipoleChainOrdering performs ordering on complete colour singlet dipole chains.
Definition:
DipoleChainOrdering.h:29
Herwig::DipoleEvolutionOrdering
DipoleEvolutionOrdering defines a particular evolution algortihm for the dipole shower.
Definition:
DipoleEvolutionOrdering.h:33
ThePEG::tPPtr
ThePEG::Ptr< Particle >::transient_pointer tPPtr
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ClassTraits
Herwig::DipoleSplittingInfo
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
Definition:
DipoleSplittingInfo.h:209
ThePEG::BaseClassTrait
Herwig::DipoleChain
The DipoleChain class is used by the dipole shower to represent a chain of dipoles.
Definition:
DipoleChain.h:29
Herwig::DipoleChainOrdering::initDipoleChainOrdering
static ClassDescription< DipoleChainOrdering > initDipoleChainOrdering
The static object used to initialize the description of this class.
Definition:
DipoleChainOrdering.h:153
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