herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
f
g
h
i
l
m
o
p
r
s
t
u
w
z
Variables
Typedefs
a
b
c
d
h
i
j
k
l
m
o
p
s
t
v
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
d
e
h
i
m
o
p
r
s
t
u
v
w
x
Enumerations
Enumerator
Related Functions
b
c
d
e
f
g
h
k
m
o
p
s
t
Files
File List
File Members
All
Functions
Variables
Macros
Utilities
Reshuffler.h
1
// -*- C++ -*-
2
//
3
// Reshuffler.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_Reshuffler_H
10
#define HERWIG_Reshuffler_H
11
//
12
// This is the declaration of the Reshuffler class.
13
//
14
15
#include "
ThePEG/Config/ThePEG.h
"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
29
class
Reshuffler
{
30
31
protected
:
32
37
template
<
class
PIterator,
class
MIterator>
38
struct
ReshuffleEquation
{
39
40
ReshuffleEquation
(Energy q,
41
PIterator pp_begin,
42
PIterator pp_end,
43
MIterator mm_begin,
44
MIterator mm_end)
45
: w(q), p_begin(pp_begin), p_end(pp_end),
46
m_begin(mm_begin), m_end(mm_end) {}
47
48
typedef
double
ArgType;
49
typedef
double
ValType;
50
51
static
double
aUnit() {
return
1.; }
52
static
double
vUnit() {
return
1.; }
53
54
double
operator() (
double
xi)
const
{
55
double
r = - w/GeV;
56
PIterator p = p_begin;
57
MIterator m = m_begin;
58
for
(; p != p_end; ++p, ++m) {
59
r +=
sqrt
(
sqr
(*m) +
60
xi*xi*(
sqr
((**p).momentum().t())-
sqr
((**p).dataPtr()->mass()))) / GeV;
61
}
62
return
r;
63
}
64
65
Energy w;
66
67
PIterator p_begin;
68
PIterator p_end;
69
70
MIterator m_begin;
71
MIterator m_end;
72
73
};
74
78
void
reshuffle
(
const
PVector
& particles,
79
const
vector<Energy>& masses)
const
;
80
81
};
82
83
}
84
85
#endif
/* HERWIG_Reshuffler_H */
86
ThePEG.h
Herwig::Reshuffler
The Reshuffler class implements reshuffling of partons on their nominal mass shell to their constitue...
Definition:
Reshuffler.h:29
Herwig::Reshuffler::reshuffle
void reshuffle(const PVector &particles, const vector< Energy > &masses) const
Reshuffle to consitutent masses.
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::sqrt
double sqrt(int x)
ThePEG::PVector
vector< PPtr > PVector
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Herwig::Reshuffler::ReshuffleEquation
The function object defining the equation to be solved.
Definition:
Reshuffler.h:38
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6