herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Matchbox
Phasespace
MatchboxReference.h
1
// -*- C++ -*-
2
//
3
// MatchboxReference.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_MatchboxReference_H
10
#define Herwig_MatchboxReference_H
11
//
12
// This is the declaration of the MatchboxReference class.
13
//
14
15
#include "Herwig/MatrixElement/Matchbox/Phasespace/MatchboxPhasespace.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
28
class
MatchboxReference
:
public
MatchboxPhasespace
{
29
30
public
:
31
37
MatchboxReference
();
38
42
virtual
~
MatchboxReference
();
44
45
public
:
46
50
virtual
double
generateTwoToNKinematics(
const
double
*,
51
vector<Lorentz5Momentum>& momenta);
52
57
virtual
int
nDimPhasespace
(
int
nFinal)
const
{
58
if
( nFinal == 1 )
59
return
1;
60
return
4*nFinal + 2;
61
}
62
67
virtual
bool
haveX1X2
()
const
{
return
true
; }
68
73
virtual
bool
wantCMS
()
const
{
return
false
; }
74
75
public
:
76
83
void
persistentOutput(
PersistentOStream
& os)
const
;
84
90
void
persistentInput(
PersistentIStream
& is,
int
version);
92
99
static
void
Init();
100
101
protected
:
102
109
virtual
IBPtr
clone()
const
;
110
115
virtual
IBPtr
fullclone()
const
;
117
118
119
// If needed, insert declarations of virtual function defined in the
120
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
121
122
123
private
:
124
129
MatchboxReference
& operator=(
const
MatchboxReference
&) =
delete
;
130
134
map<cPDVector,ifstream*>
referenceSamples
;
135
136
};
137
138
}
139
140
#endif
/* Herwig_MatchboxReference_H */
ThePEG::PersistentIStream
Herwig::MatchboxReference::referenceSamples
map< cPDVector, ifstream * > referenceSamples
Stream to read the reference samples.
Definition:
MatchboxReference.h:134
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MatchboxPhasespace
MatchboxPhasespace defines an abstract interface to a phase space generator.
Definition:
MatchboxPhasespace.h:79
ThePEG
Herwig::MatchboxReference::nDimPhasespace
virtual int nDimPhasespace(int nFinal) const
Return the number of random numbers required to produce a given multiplicity final state...
Definition:
MatchboxReference.h:57
Herwig::MatchboxReference::haveX1X2
virtual bool haveX1X2() const
Return true, if this phase space generator will generate incoming partons itself. ...
Definition:
MatchboxReference.h:67
Herwig::MatchboxReference::wantCMS
virtual bool wantCMS() const
Return true, if this phase space generator expects the incoming partons in their center-of-mass syste...
Definition:
MatchboxReference.h:73
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MatchboxReference
MatchboxReference implements reference sample phase space generation.
Definition:
MatchboxReference.h:28
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13