herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
Matching
ShowerApproximationGenerator.h
1
// -*- C++ -*-
2
//
3
// ShowerApproximationGenerator.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_ShowerApproximationGenerator_H
10
#define Herwig_ShowerApproximationGenerator_H
11
//
12
// This is the declaration of the ShowerApproximationGenerator class.
13
//
14
15
#include "ThePEG/Handlers/StepHandler.h"
16
#include "Herwig/MatrixElement/Matchbox/Matching/ShowerApproximationKernel.h"
17
#include "Herwig/MatrixElement/Matchbox/Phasespace/MatchboxPhasespace.h"
18
#include "Herwig/MatrixElement/Matchbox/MatchboxFactory.h"
19
20
namespace
Herwig
{
21
22
using namespace
ThePEG
;
23
32
class
ShowerApproximationGenerator
:
public
StepHandler
{
33
34
public
:
35
39
ShowerApproximationGenerator
();
40
41
public
:
42
60
virtual
void
handle
(
EventHandler
& eh,
const
tPVector
& tagged,
61
const
Hint
& hint);
63
64
public
:
65
69
bool
prepare
(
bool
didproject);
70
75
bool
generate
(
const
vector<double>&);
76
80
void
restore
();
81
82
protected
:
83
87
double
generateFraction
(
tcPDPtr
,
double
,
double
)
const
;
88
92
double
invertFraction
(
tcPDPtr
,
double
,
double
)
const
;
93
97
Energy
ffPtCut
()
const
{
return
theShowerApproximation
->ffPtCut(); }
98
102
Energy
fiPtCut
()
const
{
return
theShowerApproximation
->fiPtCut(); }
103
107
Energy
iiPtCut
()
const
{
return
theShowerApproximation
->iiPtCut(); }
108
109
public
:
110
117
void
persistentOutput
(
PersistentOStream
& os)
const
;
118
124
void
persistentInput
(
PersistentIStream
& is,
int
version);
126
133
static
void
Init
();
134
135
protected
:
136
143
virtual
IBPtr
clone
()
const
;
144
149
virtual
IBPtr
fullclone
()
const
;
151
152
153
// If needed, insert declarations of virtual function defined in the
154
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
155
156
157
private
:
158
162
Ptr<ShowerApproximation>::ptr
theShowerApproximation
;
163
167
Ptr<MatchboxPhasespace>::ptr
thePhasespace
;
168
172
map<cPDVector,set<Ptr<ShowerApproximationKernel>::ptr> >
theKernelMap
;
173
177
unsigned
long
thePresamplingPoints
;
178
182
unsigned
long
theMaxTry
;
183
188
unsigned
long
theFreezeGrid
;
189
193
tStdXCombPtr
lastIncomingXComb
;
194
195
// the next three are filled from the incoming xcomb in the prepare method
196
200
Ptr<MatchboxMEBase>::ptr
theLastBornME
;
201
205
vector<Lorentz5Momentum>
theLastMomenta
;
206
210
vector<Lorentz5Momentum>
theLastPresamplingMomenta
;
211
216
vector<double>
theLastRandomNumbers
;
217
221
tStdXCombPtr
theLastBornXComb
;
222
226
PPair
theLastPartons
;
227
231
bool
theDoCompensate
;
232
237
ShowerApproximationGenerator
&
operator=
(
const
ShowerApproximationGenerator
&) =
delete
;
238
239
};
240
241
}
242
243
#endif
/* Herwig_ShowerApproximationGenerator_H */
Herwig::ShowerApproximationGenerator
ShowerApproximationGenerator generates emissions according to a shower approximation entering a NLO m...
Definition:
ShowerApproximationGenerator.h:32
Herwig::ShowerApproximationGenerator::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::ShowerApproximationGenerator::invertFraction
double invertFraction(tcPDPtr, double, double) const
Invert the momentum fraction for the given parton species.
Herwig::ShowerApproximationGenerator::fiPtCut
Energy fiPtCut() const
Return the pt cut to be applied for final-initial dipoles.
Definition:
ShowerApproximationGenerator.h:102
Herwig::ShowerApproximationGenerator::generate
bool generate(const vector< double > &)
Generate a Born phase space point while kernels are being presampled.
Herwig::ShowerApproximationGenerator::theLastPresamplingMomenta
vector< Lorentz5Momentum > theLastPresamplingMomenta
The last Born phase space point used while presampling.
Definition:
ShowerApproximationGenerator.h:210
Herwig::ShowerApproximationGenerator::theLastBornME
Ptr< MatchboxMEBase >::ptr theLastBornME
The last internal Born matrix element dealt with.
Definition:
ShowerApproximationGenerator.h:200
Herwig::ShowerApproximationGenerator::theKernelMap
map< cPDVector, set< Ptr< ShowerApproximationKernel >::ptr > > theKernelMap
Map hard processes to the respective kernels.
Definition:
ShowerApproximationGenerator.h:172
Herwig::ShowerApproximationGenerator::theFreezeGrid
unsigned long theFreezeGrid
Return the number of accepted points after which the grid should be frozen.
Definition:
ShowerApproximationGenerator.h:188
Herwig::ShowerApproximationGenerator::theMaxTry
unsigned long theMaxTry
The maximum number of trials to generate a splitting.
Definition:
ShowerApproximationGenerator.h:182
Herwig::ShowerApproximationGenerator::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::ShowerApproximationGenerator::theLastMomenta
vector< Lorentz5Momentum > theLastMomenta
The last Born phase space point.
Definition:
ShowerApproximationGenerator.h:205
Herwig::ShowerApproximationGenerator::iiPtCut
Energy iiPtCut() const
Return the pt cut to be applied for initial-initial dipoles.
Definition:
ShowerApproximationGenerator.h:107
Herwig::ShowerApproximationGenerator::handle
virtual void handle(EventHandler &eh, const tPVector &tagged, const Hint &hint)
The main function called by the EventHandler class to perform a step.
Herwig::ShowerApproximationGenerator::theLastPartons
PPair theLastPartons
The last internal incoming partons dealt with.
Definition:
ShowerApproximationGenerator.h:226
Herwig::ShowerApproximationGenerator::theShowerApproximation
Ptr< ShowerApproximation >::ptr theShowerApproximation
The shower approximation to consider.
Definition:
ShowerApproximationGenerator.h:162
Herwig::ShowerApproximationGenerator::operator=
ShowerApproximationGenerator & operator=(const ShowerApproximationGenerator &)=delete
The assignment operator is private and must never be called.
Herwig::ShowerApproximationGenerator::ffPtCut
Energy ffPtCut() const
Return the pt cut to be applied for final-final dipoles.
Definition:
ShowerApproximationGenerator.h:97
Herwig::ShowerApproximationGenerator::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::ShowerApproximationGenerator::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::ShowerApproximationGenerator::ShowerApproximationGenerator
ShowerApproximationGenerator()
The default constructor.
Herwig::ShowerApproximationGenerator::thePhasespace
Ptr< MatchboxPhasespace >::ptr thePhasespace
The (invertible) phase space generator to use.
Definition:
ShowerApproximationGenerator.h:167
Herwig::ShowerApproximationGenerator::generateFraction
double generateFraction(tcPDPtr, double, double) const
Generate a momentum fraction for the given parton species.
Herwig::ShowerApproximationGenerator::thePresamplingPoints
unsigned long thePresamplingPoints
The number of points to presample this splitting generator.
Definition:
ShowerApproximationGenerator.h:177
Herwig::ShowerApproximationGenerator::lastIncomingXComb
tStdXCombPtr lastIncomingXComb
The last external Born XComb dealt with.
Definition:
ShowerApproximationGenerator.h:193
Herwig::ShowerApproximationGenerator::theLastBornXComb
tStdXCombPtr theLastBornXComb
The last internal Born XComb dealt with.
Definition:
ShowerApproximationGenerator.h:221
Herwig::ShowerApproximationGenerator::prepare
bool prepare(bool didproject)
Fill information on the Born process.
Herwig::ShowerApproximationGenerator::theDoCompensate
bool theDoCompensate
True, if sampler should apply compensation.
Definition:
ShowerApproximationGenerator.h:231
Herwig::ShowerApproximationGenerator::restore
void restore()
Restore information on the Born process.
Herwig::ShowerApproximationGenerator::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::ShowerApproximationGenerator::theLastRandomNumbers
vector< double > theLastRandomNumbers
The random numbers which have produced the last Born phase space point.
Definition:
ShowerApproximationGenerator.h:216
ThePEG::EventHandler
ThePEG::Hint
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::StepHandler
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::PPair
pair< PPtr, PPtr > PPair
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tPVector
vector< tPPtr > tPVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6