ThePEG  1.8.0
DeltaMeasureCuts.h
1 // -*- C++ -*-
2 //
3 // DeltaMeasureCuts.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2007 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef THEPEG_DeltaMeasureCuts_H
10 #define THEPEG_DeltaMeasureCuts_H
11 //
12 // This is the declaration of the DeltaMeasureCuts class.
13 //
14 
15 #include "ThePEG/Cuts/TwoCutBase.h"
16 #include "ThePEG/PDT/MatcherBase.h"
17 
18 namespace ThePEG {
19 
27 
28 public:
29 
37 
38 public:
39 
52  virtual Energy minDeltaMeasureCuts(tcPDPtr pi, tcPDPtr pj) const;
53 
58  virtual Energy minKTClus(tcPDPtr pi, tcPDPtr pj) const;
59 
60 
65  virtual Energy2 minSij(tcPDPtr pi, tcPDPtr pj) const;
66 
72  virtual Energy2 minTij(tcPDPtr pi, tcPDPtr po) const;
73 
79  virtual double minDeltaR(tcPDPtr pi, tcPDPtr pj) const;
80 
87  virtual double minDurham(tcPDPtr pi, tcPDPtr pj) const;
88 
95  virtual bool passCuts(tcCutsPtr parent, tcPDPtr pitype, tcPDPtr pjtype,
97  bool inci = false, bool incj = false) const;
99 
103  virtual void describe() const;
104 
105 public:
106 
113  void persistentOutput(PersistentOStream & os) const;
114 
120  void persistentInput(PersistentIStream & is, int version);
122 
129  static void Init();
130 
131 protected:
132 
139  virtual IBPtr clone() const;
140 
145  virtual IBPtr fullclone() const;
147 
148 private:
149 
153  double theMinDeltaR;
154 
159 
165 
166 private:
167 
173 
179 
180 };
181 
182 }
183 
184 #include "ThePEG/Utilities/ClassTraits.h"
185 
186 namespace ThePEG {
187 
192 template <>
193 struct BaseClassTrait<DeltaMeasureCuts,1> {
195  typedef TwoCutBase NthBase;
196 };
197 
200 template <>
201 struct ClassTraits<DeltaMeasureCuts>
202  : public ClassTraitsBase<DeltaMeasureCuts> {
204  static string className() { return "ThePEG::DeltaMeasureCuts"; }
208  static string library() { return "DeltaMeasureCuts.so"; }
209 };
210 
213 }
214 
215 #endif /* THEPEG_DeltaMeasureCuts_H */