herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
18namespace Herwig {
19
20using namespace ThePEG;
21
32
33public:
34
42
43public:
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
67public:
68
76
82 void persistentInput(PersistentIStream & is, int version);
84
91 static void Init();
92
93protected:
94
101 virtual IBPtr clone() const;
102
107 virtual IBPtr fullclone() const;
109
110private:
111
116
121
126
131
135 Ptr<MatcherBase>::ptr theMatcher;
136
137private:
138
144
145};
146
147}
148
149#endif /* Herwig_FrixionePhotonSeparationCut_H */
This class implements a cut on legoplot and rapidity separation.
static void Init()
The standard Init function used to initialize the interfaces.
double theEfficiency
The efficiency epsilon of the algorithm.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void describe() const
Describe the currently active cuts in the log file.
Ptr< MatcherBase >::ptr theMatcher
A matcher for particles to isolate on.
FrixionePhotonSeparationCut()
The default constructor.
int theCutType
The cut type of the algorithm.
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...
virtual IBPtr clone() const
Make a simple clone of this object.
double theDeltaZero
The maximal legoplot separation where partons are included in the criterium.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Ptr< MatcherBase >::tptr matcher() const
Return the matcher for particles to isolate on.
double theExponentn
The exponent n of the algorithm.
FrixionePhotonSeparationCut & operator=(const FrixionePhotonSeparationCut &)=delete
The assignment operator is private and must never be called.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tcPDPtr > tcPDVector