thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Cuts
SimpleKTCut.h
1
// -*- C++ -*-
2
//
3
// SimpleKTCut.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
//
6
// ThePEG 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 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
36
SimpleKTCut
(
Energy
minKT
=10*GeV)
37
:
theMinKT
(
minKT
),
theMaxKT
(Constants::MaxEnergy),
38
theMinEta
(-Constants::MaxRapidity),
39
theMaxEta
(Constants::MaxRapidity) {}
40
41
public
:
42
49
virtual
Energy
minKT
(
tcPDPtr
p)
const
;
50
56
virtual
double
minEta
(
tcPDPtr
p)
const
;
57
63
virtual
double
maxEta
(
tcPDPtr
p)
const
;
64
70
virtual
bool
passCuts
(tcCutsPtr parent,
71
tcPDPtr
ptype,
LorentzMomentum
p)
const
;
73
77
virtual
void
describe
()
const
;
78
79
public
:
80
87
void
persistentOutput
(
PersistentOStream
& os)
const
;
88
94
void
persistentInput
(
PersistentIStream
& is,
int
version);
96
103
static
void
Init
();
104
105
protected
:
106
113
virtual
IBPtr
clone
()
const
;
114
119
virtual
IBPtr
fullclone
()
const
;
121
122
private
:
123
127
Energy
maxKTMin
()
const
;
128
132
Energy
minKTMax
()
const
;
133
137
double
maxEtaMin
()
const
;
138
142
double
minEtaMax
()
const
;
143
144
private
:
145
150
Energy
theMinKT
;
151
156
Energy
theMaxKT
;
157
162
double
theMinEta
;
163
168
double
theMaxEta
;
169
174
PMPtr
theMatcher
;
175
176
private
:
177
182
static
ClassDescription<SimpleKTCut>
initSimpleKTCut
;
183
188
SimpleKTCut
&
operator=
(
const
SimpleKTCut
&) =
delete
;
189
190
};
191
192
}
193
194
#include "ThePEG/Utilities/ClassTraits.h"
195
196
namespace
ThePEG
{
197
202
template
<>
203
struct
BaseClassTrait<SimpleKTCut,1> {
205
typedef
OneCutBase
NthBase
;
206
};
207
210
template
<>
211
struct
ClassTraits<SimpleKTCut>
212
:
public
ClassTraitsBase<SimpleKTCut> {
214
static
string
className
() {
return
"ThePEG::SimpleKTCut"
; }
218
static
string
library
() {
return
"SimpleKTCut.so"
; }
219
};
220
223
}
224
225
#endif
/* THEPEG_SimpleKTCut_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::LorentzVector< Energy >
ThePEG::OneCutBase
This class corresponds to a kinematical cut to be made on a single outgoing parton from a hard sub-pr...
Definition:
OneCutBase.h:39
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Qty< 0, 1, 0 >
ThePEG::SimpleKTCut
This is a very simple concrete sub-class of OneCutbase simply requiring a minimum transverse momentum...
Definition:
SimpleKTCut.h:29
ThePEG::SimpleKTCut::minKTMax
Energy minKTMax() const
Helper function used by the interface.
ThePEG::SimpleKTCut::theMaxEta
double theMaxEta
The maximum allowed pseudo-rapidity of an outgoing parton.
Definition:
SimpleKTCut.h:168
ThePEG::SimpleKTCut::minKT
virtual Energy minKT(tcPDPtr p) const
Return the minimum allowed value of the transverse momentum of an outgoing parton.
ThePEG::SimpleKTCut::maxEtaMin
double maxEtaMin() const
Helper function used by the interface.
ThePEG::SimpleKTCut::minEta
virtual double minEta(tcPDPtr p) const
Return the minimum allowed pseudo-rapidity of an outgoing parton of the given type.
ThePEG::SimpleKTCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::SimpleKTCut::minEtaMax
double minEtaMax() const
Helper function used by the interface.
ThePEG::SimpleKTCut::theMaxKT
Energy theMaxKT
The maximum allowed value of the transverse momentum of an outgoing parton.
Definition:
SimpleKTCut.h:156
ThePEG::SimpleKTCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::SimpleKTCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::SimpleKTCut::passCuts
virtual bool passCuts(tcCutsPtr parent, tcPDPtr ptype, LorentzMomentum p) const
Return true if a particle with type ptype and momentum p passes the cuts.
ThePEG::SimpleKTCut::operator=
SimpleKTCut & operator=(const SimpleKTCut &)=delete
The assignment operator is private and must never be called.
ThePEG::SimpleKTCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::SimpleKTCut::theMinKT
Energy theMinKT
The minimum allowed value of the transverse momentum of an outgoing parton.
Definition:
SimpleKTCut.h:150
ThePEG::SimpleKTCut::theMatcher
PMPtr theMatcher
If non-null only particles matching this object will be affected by this cut.
Definition:
SimpleKTCut.h:174
ThePEG::SimpleKTCut::initSimpleKTCut
static ClassDescription< SimpleKTCut > initSimpleKTCut
The static object used to initialize the description of this class.
Definition:
SimpleKTCut.h:182
ThePEG::SimpleKTCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::SimpleKTCut::maxKTMin
Energy maxKTMin() const
Helper function used by the interface.
ThePEG::SimpleKTCut::maxEta
virtual double maxEta(tcPDPtr p) const
Return the maximum allowed pseudo-rapidity of an outgoing parton of the given type.
ThePEG::SimpleKTCut::theMinEta
double theMinEta
The minimum allowed pseudo-rapidity of an outgoing parton.
Definition:
SimpleKTCut.h:162
ThePEG::SimpleKTCut::SimpleKTCut
SimpleKTCut(Energy minKT=10 *GeV)
The default constructor.
Definition:
SimpleKTCut.h:36
ThePEG::SimpleKTCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsBase::library
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition:
ClassTraits.h:85
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6