thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
KTRapidityCut.h
1 // -*- C++ -*-
2 #ifndef THEPEG_KTRapidityCut_H
3 #define THEPEG_KTRapidityCut_H
4 //
5 // This is the declaration of the KTRapidityCut class.
6 //
7 
8 #include "ThePEG/Cuts/OneCutBase.h"
9 
10 namespace ThePEG {
11 
23 class KTRapidityCut: public OneCutBase {
24 
25 public:
26 
33  : theMinKT(minKT), theMaxKT(Constants::MaxEnergy),
34  theMinRapidity(-Constants::MaxRapidity),
35  theMaxRapidity(Constants::MaxRapidity) {}
36 
40  virtual ~KTRapidityCut();
42 
43 public:
44 
51  virtual Energy minKT(tcPDPtr p) const;
52 
58  virtual double minEta(tcPDPtr p) const;
59 
65  virtual double maxEta(tcPDPtr p) const;
66 
72  virtual bool passCuts(tcCutsPtr parent,
73  tcPDPtr ptype, LorentzMomentum p) const;
75 
79  virtual void describe() const;
80 
81 public:
82 
89  void persistentOutput(PersistentOStream & os) const;
90 
96  void persistentInput(PersistentIStream & is, int version);
98 
105  static void Init();
106 
107 protected:
108 
115  virtual IBPtr clone() const;
116 
121  virtual IBPtr fullclone() const;
123 
124 private:
125 
129  Energy maxKTMin() const;
130 
134  Energy minKTMax() const;
135 
139  double maxRapidityMin() const;
140 
144  double minRapidityMax() const;
145 
151  virtual double minRapidityMax(tcPDPtr p) const;
152 
158  virtual double maxRapidityMin(tcPDPtr p) const;
159 
160 private:
161 
167 
173 
179 
185 
191 
192 private:
193 
199 
204  KTRapidityCut & operator=(const KTRapidityCut &) = delete;
205 
206 };
207 
208 }
209 
210 #include "ThePEG/Utilities/ClassTraits.h"
211 
212 namespace ThePEG {
213 
218 template <>
219 struct BaseClassTrait<KTRapidityCut,1> {
221  typedef OneCutBase NthBase;
222 };
223 
226 template <>
227 struct ClassTraits<KTRapidityCut>
228  : public ClassTraitsBase<KTRapidityCut> {
230  static string className() { return "ThePEG::KTRapidityCut"; }
238  static string library() { return "KTRapidityCut.so"; }
239 };
240 
243 }
244 
245 #endif /* THEPEG_KTRapidityCut_H */
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double theMaxRapidity
The maximum allowed rapidity of an outgoing parton.
double maxRapidityMin() const
Helper function used by the interface.
static void Init()
The standard Init function used to initialize the interfaces.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
The KTRapidityCut class is a simple concrete sub-class of OneCutbase simply requiring a minimum trans...
Definition: KTRapidityCut.h:23
Energy maxKTMin() const
Helper function used by the interface.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
static ClassDescription< KTRapidityCut > initKTRapidityCut
The static object used to initialize the description of this class.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
double minRapidityMax() const
Helper function used by the interface.
virtual ~KTRapidityCut()
The destructor.
virtual bool passCuts(tcCutsPtr parent, tcPDPtr ptype, LorentzMomentum p) const
Return true if a particle with type ptype and momentum p passes the cuts.
virtual double maxEta(tcPDPtr p) const
Return the maximum allowed pseudo-rapidity of an outgoing parton of the given type.
virtual void describe() const
Describe the currently active cuts in the log file.
virtual Energy minKT(tcPDPtr p) const
Return the minimum allowed value of the transverse momentum of an outgoing parton.
Energy minKTMax() const
Helper function used by the interface.
KTRapidityCut(Energy minKT=10 *GeV)
The default constructor.
Definition: KTRapidityCut.h:32
double theMinRapidity
The minimum allowed rapidity of an outgoing parton.
KTRapidityCut & operator=(const KTRapidityCut &)=delete
The assignment operator is private and must never be called.
Energy theMaxKT
The maximum allowed value of the transverse momentum of an outgoing parton.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
PMPtr theMatcher
If non-null only particles matching this object will be affected by this cut.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
virtual IBPtr clone() const
Make a simple clone of this object.
Energy theMinKT
The minimum allowed value of the transverse momentum of an outgoing parton.
virtual double minEta(tcPDPtr p) const
Return the minimum allowed pseudo-rapidity of an outgoing parton of the given type.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
This class corresponds to a kinematical cut to be made on a single outgoing parton from a hard sub-pr...
Definition: OneCutBase.h:39
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52