ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Handlers
LuminosityFunction.h
1
// -*- C++ -*-
2
//
3
// LuminosityFunction.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_LuminosityFunction_H
10
#define ThePEG_LuminosityFunction_H
11
// This is the declaration of the LuminosityFunction class.
12
13
#include "ThePEG/Handlers/HandlerBase.h"
14
#include "ThePEG/Handlers/LastXCombInfo.h"
15
#include "ThePEG/Vectors/LorentzRotation.fh"
16
#include "ThePEG/Utilities/Interval.h"
17
18
namespace
ThePEG {
19
39
class
LuminosityFunction
:
public
HandlerBase
,
public
LastXCombInfo
<> {
40
42
friend
class
EventHandler
;
43
44
public
:
45
52
LuminosityFunction
(
Energy
a = 45.6*GeV,
Energy
b = 45.6*GeV);
54
61
virtual
bool
canHandle
(
const
cPDPair
&)
const
;
62
66
virtual
Energy
maximumCMEnergy
()
const
;
67
73
virtual
LorentzRotation
getBoost
()
const
;
74
80
virtual
double
Y
()
const
;
81
87
virtual
int
nDim
(
const
cPDPair
&)
const
;
88
94
virtual
double
value
(
const
cPDPair
&,
double
l1,
double
l2)
const
;
95
103
virtual
pair<double,double>
104
generateLL
(
const
double
* r,
double
&
jacobian
)
const
;
106
107
public
:
108
114
Energy
beamEMaxA
()
const
{
return
theBeamEMaxA
; }
115
119
Energy
beamEMaxB
()
const
{
return
theBeamEMaxB
; }
121
122
protected
:
123
127
void
beamEMaxA
(
Energy
x) {
theBeamEMaxA
= x; }
128
132
void
beamEMaxB
(
Energy
x) {
theBeamEMaxB
= x; }
133
134
public
:
135
142
void
persistentOutput
(
PersistentOStream
& os)
const
;
143
149
void
persistentInput
(
PersistentIStream
& is,
int
version);
151
155
static
void
Init
();
156
160
void
select
(
tXCombPtr
);
161
162
protected
:
163
170
virtual
IBPtr
clone
()
const
;
171
176
virtual
IBPtr
fullclone
()
const
;
178
179
private
:
180
184
Energy
theBeamEMaxA
;
185
189
Energy
theBeamEMaxB
;
190
191
private
:
192
196
static
ClassDescription<LuminosityFunction>
initLuminosityFunction
;
197
201
LuminosityFunction
&
operator=
(
const
LuminosityFunction
&);
202
203
};
204
211
template
<>
212
struct
BaseClassTrait
<
LuminosityFunction
,1>:
public
ClassTraitsType
{
214
typedef
HandlerBase
NthBase
;
215
};
216
221
template
<>
222
struct
ClassTraits<LuminosityFunction>:
223
public
ClassTraitsBase<LuminosityFunction> {
225
static
string
className
() {
return
"ThePEG::LuminosityFunction"
; }
226
};
227
230
}
231
232
#endif
/* ThePEG_LuminosityFunction_H */
Generated on Sat Jun 16 2012 16:51:04 for ThePEG by
1.8.1.1