thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Cuts
OneCutBase.h
1
// -*- C++ -*-
2
//
3
// OneCutBase.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_OneCutBase_H
10
#define THEPEG_OneCutBase_H
11
//
12
// This is the declaration of the OneCutBase class.
13
//
14
15
#include "ThePEG/Interface/Interfaced.h"
16
#include "OneCutBase.fh"
17
#include "Cuts.fh"
18
19
namespace
ThePEG
{
20
39
class
OneCutBase
:
public
Interfaced
{
40
41
public
:
42
48
OneCutBase
() {}
49
53
virtual
~OneCutBase
();
55
56
public
:
57
64
virtual
Energy
minKT
(
tcPDPtr
p)
const
= 0;
65
71
virtual
double
minEta
(
tcPDPtr
p)
const
= 0;
72
78
virtual
double
maxEta
(
tcPDPtr
p)
const
= 0;
79
85
virtual
double
minRapidityMax
(
tcPDPtr
p)
const
;
86
92
virtual
double
maxRapidityMin
(
tcPDPtr
p)
const
;
93
99
virtual
Energy
minMaxKT
(
tcPDPtr
p)
const
;
100
107
virtual
double
minMaxEta
(
tcPDPtr
p)
const
;
108
115
virtual
double
maxMinEta
(
tcPDPtr
p)
const
;
116
122
virtual
bool
passCuts
(tcCutsPtr parent,
123
tcPDPtr
ptype,
LorentzMomentum
p)
const
;
124
130
bool
passCuts
(tcCutsPtr parent,
tcPPtr
p)
const
;
132
136
virtual
void
describe
()
const
;
137
138
public
:
139
146
static
void
Init
();
147
148
private
:
149
154
static
AbstractNoPIOClassDescription<OneCutBase>
initOneCutBase
;
155
160
OneCutBase
&
operator=
(
const
OneCutBase
&) =
delete
;
161
162
};
163
164
}
165
166
#include "ThePEG/Utilities/ClassTraits.h"
167
168
namespace
ThePEG
{
169
174
template
<>
175
struct
BaseClassTrait<OneCutBase,1> {
177
typedef
Interfaced
NthBase
;
178
};
179
182
template
<>
183
struct
ClassTraits<OneCutBase>
184
:
public
ClassTraitsBase<OneCutBase> {
186
static
string
className
() {
return
"ThePEG::OneCutBase"
; }
187
};
188
191
}
192
193
#endif
/* THEPEG_OneCutBase_H */
ThePEG::AbstractNoPIOClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Definition:
ClassDescription.h:417
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
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::OneCutBase::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG::OneCutBase::minEta
virtual double minEta(tcPDPtr p) const =0
Return the minimum allowed pseudo-rapidity of an outgoing parton of the given type.
ThePEG::OneCutBase::initOneCutBase
static AbstractNoPIOClassDescription< OneCutBase > initOneCutBase
The static object used to initialize the description of this class.
Definition:
OneCutBase.h:154
ThePEG::OneCutBase::minMaxKT
virtual Energy minMaxKT(tcPDPtr p) const
Return the minimum allowed value of the transverse momentum of the outgoing parton with the lagrest t...
ThePEG::OneCutBase::minRapidityMax
virtual double minRapidityMax(tcPDPtr p) const
Return the minimum allowed rapidity of an outgoing parton of the given type.
ThePEG::OneCutBase::OneCutBase
OneCutBase()
The default constructor.
Definition:
OneCutBase.h:48
ThePEG::OneCutBase::~OneCutBase
virtual ~OneCutBase()
The destructor.
ThePEG::OneCutBase::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::OneCutBase::operator=
OneCutBase & operator=(const OneCutBase &)=delete
The assignment operator is private and must never be called.
ThePEG::OneCutBase::maxEta
virtual double maxEta(tcPDPtr p) const =0
Return the maximum allowed pseudo-rapidity of an outgoing parton of the given type.
ThePEG::OneCutBase::maxMinEta
virtual double maxMinEta(tcPDPtr p) const
Return the maximum allowed pseudo-rapidity of the outgoing parton of the given type with the minimum ...
ThePEG::OneCutBase::minMaxEta
virtual double minMaxEta(tcPDPtr p) const
Return the minimum allowed pseudo-rapidity of the outgoing parton of the given type with the maximum ...
ThePEG::OneCutBase::minKT
virtual Energy minKT(tcPDPtr p) const =0
Return the minimum allowed value of the transverse momentum of an outgoing parton.
ThePEG::OneCutBase::maxRapidityMin
virtual double maxRapidityMin(tcPDPtr p) const
Return the maximum allowed rapidity of an outgoing parton of the given type.
ThePEG::OneCutBase::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::OneCutBase::passCuts
bool passCuts(tcCutsPtr parent, tcPPtr p) const
Return true if the given particle passes the cuts.
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
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
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6