herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
Cuts
FrixionePhotonSeparationCut.h
1
// -*- C++ -*-
2
//
3
// FrixionePhotonSeparationCut.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig 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 Herwig_FrixionePhotonSeparationCut_H
10
#define Herwig_FrixionePhotonSeparationCut_H
11
//
12
// This is the declaration of the FrixionePhotonSeparationCut class.
13
//
14
15
#include "ThePEG/Cuts/MultiCutBase.h"
16
#include "ThePEG/PDT/MatcherBase.h"
17
18
namespace
Herwig
{
19
20
using namespace
ThePEG
;
21
31
class
FrixionePhotonSeparationCut
:
public
MultiCutBase
{
32
33
public
:
34
40
FrixionePhotonSeparationCut
() :
theDeltaZero
(0.0),
theExponentn
(1.0),
theEfficiency
(0.0),
theCutType
(1) {}
42
43
public
:
44
53
virtual
bool
passCuts
(tcCutsPtr,
const
tcPDVector
& ptype,
54
const
vector<LorentzMomentum> & p)
const
;
56
60
virtual
void
describe
()
const
;
61
65
Ptr<MatcherBase>::tptr
matcher
()
const
{
return
theMatcher
; }
66
67
public
:
68
75
void
persistentOutput
(
PersistentOStream
& os)
const
;
76
82
void
persistentInput
(
PersistentIStream
& is,
int
version);
84
91
static
void
Init
();
92
93
protected
:
94
101
virtual
IBPtr
clone
()
const
;
102
107
virtual
IBPtr
fullclone
()
const
;
109
110
private
:
111
115
double
theDeltaZero
;
116
120
double
theExponentn
;
121
125
double
theEfficiency
;
126
130
int
theCutType
;
131
135
Ptr<MatcherBase>::ptr
theMatcher
;
136
137
private
:
138
143
FrixionePhotonSeparationCut
&
operator=
(
const
FrixionePhotonSeparationCut
&) =
delete
;
144
145
};
146
147
}
148
149
#endif
/* Herwig_FrixionePhotonSeparationCut_H */
Herwig::FrixionePhotonSeparationCut
This class implements a cut on legoplot and rapidity separation.
Definition:
FrixionePhotonSeparationCut.h:31
Herwig::FrixionePhotonSeparationCut::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::FrixionePhotonSeparationCut::theEfficiency
double theEfficiency
The efficiency epsilon of the algorithm.
Definition:
FrixionePhotonSeparationCut.h:125
Herwig::FrixionePhotonSeparationCut::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::FrixionePhotonSeparationCut::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::FrixionePhotonSeparationCut::describe
virtual void describe() const
Describe the currently active cuts in the log file.
Herwig::FrixionePhotonSeparationCut::theMatcher
Ptr< MatcherBase >::ptr theMatcher
A matcher for particles to isolate on.
Definition:
FrixionePhotonSeparationCut.h:135
Herwig::FrixionePhotonSeparationCut::FrixionePhotonSeparationCut
FrixionePhotonSeparationCut()
The default constructor.
Definition:
FrixionePhotonSeparationCut.h:40
Herwig::FrixionePhotonSeparationCut::theCutType
int theCutType
The cut type of the algorithm.
Definition:
FrixionePhotonSeparationCut.h:130
Herwig::FrixionePhotonSeparationCut::passCuts
virtual bool passCuts(tcCutsPtr, const tcPDVector &ptype, const vector< LorentzMomentum > &p) const
Return true if a pair of particles with type pitype and pjtype and momenta pi and pj respectively pas...
Herwig::FrixionePhotonSeparationCut::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::FrixionePhotonSeparationCut::theDeltaZero
double theDeltaZero
The maximal legoplot separation where partons are included in the criterium.
Definition:
FrixionePhotonSeparationCut.h:115
Herwig::FrixionePhotonSeparationCut::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::FrixionePhotonSeparationCut::matcher
Ptr< MatcherBase >::tptr matcher() const
Return the matcher for particles to isolate on.
Definition:
FrixionePhotonSeparationCut.h:65
Herwig::FrixionePhotonSeparationCut::theExponentn
double theExponentn
The exponent n of the algorithm.
Definition:
FrixionePhotonSeparationCut.h:120
Herwig::FrixionePhotonSeparationCut::operator=
FrixionePhotonSeparationCut & operator=(const FrixionePhotonSeparationCut &)=delete
The assignment operator is private and must never be called.
ThePEG::MultiCutBase
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tcPDVector
vector< tcPDPtr > tcPDVector
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6