herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
EnhanceNLOContributions.h
00001 // -*- C++ -*-
00002 //
00003 // EnhanceNLOContributions.h is a part of Herwig++ - A multi-purpose Monte Carlo event generator
00004 // Copyright (C) 2002-2012 The Herwig Collaboration
00005 //
00006 // Herwig++ is licenced under version 2 of the GPL, see COPYING for details.
00007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
00008 //
00009 #ifndef Herwig_EnhanceNLOContributions_H
00010 #define Herwig_EnhanceNLOContributions_H
00011 //
00012 // This is the declaration of the EnhanceNLOContributions class.
00013 //
00014 
00015 #include "SamplingBias.h"
00016 
00017 namespace Herwig {
00018 
00019 using namespace ThePEG;
00020 
00027 class EnhanceNLOContributions: public SamplingBias {
00028 
00029 public:
00030 
00036   EnhanceNLOContributions();
00037 
00041   virtual ~EnhanceNLOContributions();
00043 
00044 public:
00045 
00050   virtual double enhanceInitialPoints(const StandardXComb&) const;
00051 
00055   virtual double oversamplingFactor(const StandardXComb&) const;
00056 
00057 public:
00058 
00065   void persistentOutput(PersistentOStream & os) const;
00066 
00072   void persistentInput(PersistentIStream & is, int version);
00074 
00081   static void Init();
00082 
00083 protected:
00084 
00091   virtual IBPtr clone() const;
00092 
00097   virtual IBPtr fullclone() const;
00099 
00100 
00101 // If needed, insert declarations of virtual function defined in the
00102 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
00103 
00104 
00105 private:
00106 
00111   double theEnhanceInitialPointsVirtual;
00112 
00116   double theOversamplingFactorVirtual;
00117 
00122   double theEnhanceInitialPointsReal;
00123 
00127   double theOversamplingFactorReal;
00128 
00133   EnhanceNLOContributions & operator=(const EnhanceNLOContributions &);
00134 
00135 };
00136 
00137 }
00138 
00139 #endif /* Herwig_EnhanceNLOContributions_H */