ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
LesHouches
MadGraphOneCut.h
1
// -*- C++ -*-
2
//
3
// MadGraphOneCut.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_MadGraphOneCut_H
10
#define THEPEG_MadGraphOneCut_H
11
//
12
// This is the declaration of the MadGraphOneCut class.
13
//
14
15
#include "ThePEG/Cuts/OneCutBase.h"
16
17
namespace
ThePEG {
18
28
class
MadGraphOneCut
:
public
OneCutBase
{
29
30
public
:
31
35
enum
CutType
{
36
PT
,
37
ETA
,
38
XPT
40
};
41
45
enum
PType
{
46
JET
,
47
LEP
,
48
PHO
,
49
BOT
50
};
51
52
public
:
53
59
MadGraphOneCut
() :
cutType
(
PT
),
particleType
(
JET
),
theCut
(0.0) {}
60
67
MadGraphOneCut
(
CutType
t,
PType
p,
double
c)
68
:
cutType
(t),
particleType
(p),
theCut
(c) {}
70
71
public
:
72
79
virtual
Energy
minKT
(
tcPDPtr
p)
const
;
80
86
virtual
double
minEta
(
tcPDPtr
p)
const
;
87
93
virtual
double
maxEta
(
tcPDPtr
p)
const
;
94
100
virtual
Energy
minMaxKT
(
tcPDPtr
p)
const
;
101
107
virtual
bool
passCuts
(
tcCutsPtr
parent,
108
tcPDPtr
ptype,
LorentzMomentum
p)
const
;
110
111
protected
:
112
116
bool
checkType
(
tcPDPtr
p)
const
;
117
118
public
:
119
126
void
persistentOutput
(
PersistentOStream
& os)
const
;
127
133
void
persistentInput
(
PersistentIStream
& is,
int
version);
135
142
static
void
Init
();
143
144
protected
:
145
152
virtual
IBPtr
clone
()
const
;
153
158
virtual
IBPtr
fullclone
()
const
;
160
161
private
:
162
166
CutType
cutType
;
167
171
PType
particleType
;
172
176
double
theCut
;
177
178
private
:
179
184
static
ClassDescription<MadGraphOneCut>
initMadGraphOneCut
;
185
190
MadGraphOneCut
&
operator=
(
const
MadGraphOneCut
&);
191
192
};
193
194
}
195
196
#include "ThePEG/Utilities/ClassTraits.h"
197
198
namespace
ThePEG {
199
204
template
<>
205
struct
BaseClassTrait<MadGraphOneCut,1> {
207
typedef
OneCutBase
NthBase
;
208
};
209
212
template
<>
213
struct
ClassTraits<MadGraphOneCut>
214
:
public
ClassTraitsBase<MadGraphOneCut> {
216
static
string
className
() {
return
"ThePEG::MadGraphOneCut"
; }
220
static
string
library
() {
return
"MadGraphReader.so"
; }
221
};
222
225
}
226
227
#endif
/* THEPEG_MadGraphOneCut_H */
Generated on Mon Jul 2 2012 16:06:47 for ThePEG by
1.8.1.1