thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.2.1
Cuts
TwoCutBase.h
1
// -*- C++ -*-
2
//
3
// TwoCutBase.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_TwoCutBase_H
10
#define THEPEG_TwoCutBase_H
11
//
12
// This is the declaration of the TwoCutBase class.
13
//
14
15
#include "ThePEG/Interface/Interfaced.h"
16
#include "TwoCutBase.fh"
17
#include "Cuts.fh"
18
19
namespace
ThePEG
{
20
35
class
TwoCutBase
:
public
Interfaced
{
36
37
public
:
38
44
TwoCutBase
() {}
45
49
virtual
~TwoCutBase
();
51
52
public
:
53
60
virtual
Energy2
minSij
(
tcPDPtr
pi,
tcPDPtr
pj)
const
= 0;
61
67
virtual
Energy2
minTij
(
tcPDPtr
pi,
tcPDPtr
po)
const
= 0;
68
74
virtual
double
minDeltaR
(
tcPDPtr
pi,
tcPDPtr
pj)
const
= 0;
75
86
virtual
Energy
minKTClus
(
tcPDPtr
pi,
tcPDPtr
pj)
const
= 0;
87
94
virtual
double
minDurham
(
tcPDPtr
pi,
tcPDPtr
pj)
const
= 0;
95
102
virtual
bool
passCuts
(tcCutsPtr parent,
tcPDPtr
pitype,
tcPDPtr
pjtype,
103
LorentzMomentum
pi,
LorentzMomentum
pj,
104
bool
inci =
false
,
bool
incj =
false
)
const
;
105
111
bool
passCuts
(tcCutsPtr parent,
tcPPtr
pi,
tcPPtr
pj,
112
bool
inci =
false
,
bool
incj =
false
)
const
;
114
118
virtual
void
describe
()
const
;
119
120
public
:
121
128
static
void
Init
();
129
130
private
:
131
136
static
AbstractNoPIOClassDescription<TwoCutBase>
initTwoCutBase
;
137
142
TwoCutBase
&
operator=
(
const
TwoCutBase
&) =
delete
;
143
144
};
145
146
}
147
148
#include "ThePEG/Utilities/ClassTraits.h"
149
150
namespace
ThePEG
{
151
156
template
<>
157
struct
BaseClassTrait
<TwoCutBase,1> {
159
typedef
Interfaced
NthBase;
160
};
161
164
template
<>
165
struct
ClassTraits
<TwoCutBase>
166
:
public
ClassTraitsBase
<TwoCutBase> {
168
static
string
className() {
return
"ThePEG::TwoCutBase"
; }
169
};
170
173
}
174
175
#endif
/* THEPEG_TwoCutBase_H */
ThePEG::TwoCutBase::operator=
TwoCutBase & operator=(const TwoCutBase &)=delete
The assignment operator is private and must never be called.
ThePEG::LorentzVector< Energy >
ThePEG::TwoCutBase::initTwoCutBase
static AbstractNoPIOClassDescription< TwoCutBase > initTwoCutBase
The static object used to initialize the description of this class.
Definition:
TwoCutBase.h:136
ThePEG::TwoCutBase::~TwoCutBase
virtual ~TwoCutBase()
The destructor.
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::TwoCutBase::minDurham
virtual double minDurham(tcPDPtr pi, tcPDPtr pj) const =0
Return the minimum allowed value of the Durham -algorithms distance measure.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::TwoCutBase::passCuts
virtual bool passCuts(tcCutsPtr parent, tcPDPtr pitype, tcPDPtr pjtype, LorentzMomentum pi, LorentzMomentum pj, bool inci=false, bool incj=false) const
Return true if a pair of particles with type pitype and pjtype and momenta pi and pj respectively pas...
ThePEG::AbstractNoPIOClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Definition:
ClassDescription.h:423
ThePEG::TwoCutBase::TwoCutBase
TwoCutBase()
The default constructor.
Definition:
TwoCutBase.h:44
ThePEG::TwoCutBase
This class corresponds to a kinematical cut to be made on a pair of particles in a hard sub-process...
Definition:
TwoCutBase.h:35
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::TwoCutBase::describe
virtual void describe() const
Describe the currently active cuts in the log file.
ThePEG::TwoCutBase::minDeltaR
virtual double minDeltaR(tcPDPtr pi, tcPDPtr pj) const =0
Return the minimum allowed value of of two outgoing partons of type pi and pj.
ThePEG::ClassTraits
The default concrete implementation of ClassTraitsBase.
Definition:
ClassTraits.h:134
ThePEG::TwoCutBase::minSij
virtual Energy2 minSij(tcPDPtr pi, tcPDPtr pj) const =0
Return the minimum allowed squared invariant mass of two outgoing partons of type pi and pj...
ThePEG::Qty< 0, 2, 0 >
ThePEG::TwoCutBase::minKTClus
virtual Energy minKTClus(tcPDPtr pi, tcPDPtr pj) const =0
Return the minimum allowed value of the longitudinally invariant -algorithms distance measure...
ThePEG::TwoCutBase::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::ClassTraitsBase
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition:
ClassTraits.h:52
ThePEG::TwoCutBase::minTij
virtual Energy2 minTij(tcPDPtr pi, tcPDPtr po) const =0
Return the minimum allowed value of the negative of the squared invariant mass of an incoming parton ...
Generated on Sat Apr 11 2020 14:31:18 for ThePEG by
1.8.13