ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
PDF
RemnantHandler.h
1
// -*- C++ -*-
2
//
3
// RemnantHandler.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2011 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef ThePEG_RemnantHandler_H
10
#define ThePEG_RemnantHandler_H
11
// This is the declaration of the RemnantHandler class.
12
13
#include "ThePEG/Handlers/HandlerBase.h"
14
#include "ThePEG/PDF/PartonBin.h"
15
#include "ThePEG/PDF/PartonBinInstance.h"
16
#include "ThePEG/Vectors/Transverse.h"
17
#include "RemnantHandler.xh"
18
19
namespace
ThePEG {
20
31
class
RemnantHandler
:
public
HandlerBase
{
32
33
public
:
34
41
RemnantHandler
(
bool
multi =
false
);
43
44
public
:
45
52
virtual
bool
canHandle
(
tcPDPtr
particle,
53
const
cPDVector
& partons)
const
= 0;
54
65
virtual
int
nDim
(
const
PartonBin
& pb,
bool
doScale)
const
;
66
79
virtual
Lorentz5Momentum
generate
(
PartonBinInstance
& pb,
const
double
* r,
80
Energy2 scale,
81
const
LorentzMomentum
& parent,
82
bool
fixedPartonMomentum =
false
)
const
= 0;
83
98
virtual
Lorentz5Momentum
generate
(
PartonBinInstance
& pb,
const
double
* r,
99
Energy2 scale, Energy2 shat,
100
const
LorentzMomentum
& parent,
101
bool
fixedPartonMomentum =
false
)
const
= 0;
102
107
virtual
void
boostRemnants
(
PartonBinInstance
& pb)
const
;
108
117
virtual
bool
recreateRemnants
(
PartonBinInstance
& pb,
tPPtr
oldp,
tPPtr
newp,
118
double
newl, Energy2 scale,
119
const
LorentzMomentum
& p,
120
const
PVector
& prev =
PVector
())
const
;
133
virtual
bool
recreateRemnants
(
PartonBinInstance
& pb,
tPPtr
oldp,
tPPtr
newp,
134
double
newl, Energy2 scale,
135
Energy2 shat,
const
LorentzMomentum
& p,
136
const
PVector
& prev =
PVector
())
const
;
138
143
bool
multiCapable
()
const
{
return
isMultiCapable
; }
144
145
public
:
146
153
void
persistentOutput
(
PersistentOStream
& os)
const
;
154
160
void
persistentInput
(
PersistentIStream
& is,
int
version);
162
166
static
void
Init
();
167
168
protected
:
169
174
bool
isMultiCapable
;
175
176
private
:
177
182
static
AbstractClassDescription<RemnantHandler>
initRemnantHandler
;
183
187
RemnantHandler
&
operator=
(
const
RemnantHandler
&);
188
189
};
190
195
template
<>
196
struct
BaseClassTrait
<
RemnantHandler
,1>:
public
ClassTraitsType
{
198
typedef
HandlerBase
NthBase
;
199
};
200
203
template
<>
204
struct
ClassTraits<RemnantHandler>:
public
ClassTraitsBase<RemnantHandler> {
206
static
string
className
() {
return
"ThePEG::RemnantHandler"
; }
207
};
208
211
}
212
213
#endif
/* ThePEG_RemnantHandler_H */
Generated on Mon Jul 2 2012 16:06:47 for ThePEG by
1.8.1.1