ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Cuts
SimpleKTCut.h
1
// -*- C++ -*-
2
//
3
// SimpleKTCut.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_SimpleKTCut_H
10
#define THEPEG_SimpleKTCut_H
11
//
12
// This is the declaration of the SimpleKTCut class.
13
//
14
15
#include "ThePEG/Cuts/OneCutBase.h"
16
17
namespace
ThePEG {
18
29
class
SimpleKTCut
:
public
OneCutBase
{
30
31
public
:
32
38
SimpleKTCut
(
Energy
minKT
=10*GeV)
39
:
theMinKT
(
minKT
),
theMaxKT
(Constants::MaxEnergy),
40
theMinEta
(-Constants::MaxRapidity),
41
theMaxEta
(Constants::MaxRapidity) {}
42
46
virtual
~SimpleKTCut
();
48
49
public
:
50
57
virtual
Energy
minKT
(
tcPDPtr
p)
const
;
58
64
virtual
double
minEta
(
tcPDPtr
p)
const
;
65
71
virtual
double
maxEta
(
tcPDPtr
p)
const
;
72
78
virtual
bool
passCuts
(
tcCutsPtr
parent,
79
tcPDPtr
ptype,
LorentzMomentum
p)
const
;
81
85
virtual
void
describe
()
const
;
86
87
public
:
88
95
void
persistentOutput
(
PersistentOStream
& os)
const
;
96
102
void
persistentInput
(
PersistentIStream
& is,
int
version);
104
111
static
void
Init
();
112
113
protected
:
114
121
virtual
IBPtr
clone
()
const
;
122
127
virtual
IBPtr
fullclone
()
const
;
129
130
private
:
131
135
Energy
maxKTMin
()
const
;
136
140
Energy
minKTMax
()
const
;
141
145
double
maxEtaMin
()
const
;
146
150
double
minEtaMax
()
const
;
151
152
private
:
153
158
Energy
theMinKT
;
159
164
Energy
theMaxKT
;
165
170
double
theMinEta
;
171
176
double
theMaxEta
;
177
182
PMPtr
theMatcher
;
183
184
private
:
185
190
static
ClassDescription<SimpleKTCut>
initSimpleKTCut
;
191
196
SimpleKTCut
&
operator=
(
const
SimpleKTCut
&);
197
198
};
199
200
}
201
202
#include "ThePEG/Utilities/ClassTraits.h"
203
204
namespace
ThePEG {
205
210
template
<>
211
struct
BaseClassTrait<SimpleKTCut,1> {
213
typedef
OneCutBase
NthBase
;
214
};
215
218
template
<>
219
struct
ClassTraits<SimpleKTCut>
220
:
public
ClassTraitsBase<SimpleKTCut> {
222
static
string
className
() {
return
"ThePEG::SimpleKTCut"
; }
226
static
string
library
() {
return
"SimpleKTCut.so"
; }
227
};
228
231
}
232
233
#endif
/* THEPEG_SimpleKTCut_H */
Generated on Mon Jul 2 2012 16:06:48 for ThePEG by
1.8.1.1