herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
SamplingBias.h
00001 // -*- C++ -*-
00002 //
00003 // SamplingBias.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_SamplingBias_H
00010 #define Herwig_SamplingBias_H
00011 //
00012 // This is the declaration of the SamplingBias class.
00013 //
00014 
00015 #include "ThePEG/Interface/Interfaced.h"
00016 #include "ThePEG/Handlers/StandardXComb.h"
00017 
00018 namespace Herwig {
00019 
00020 using namespace ThePEG;
00021 
00028 class SamplingBias: public Interfaced {
00029 
00030 public:
00031 
00037   SamplingBias();
00038 
00042   virtual ~SamplingBias();
00044 
00045 public:
00046 
00051   virtual double enhanceInitialPoints(const StandardXComb&) const = 0;
00052 
00056   virtual double oversamplingFactor(const StandardXComb&) const = 0;
00057 
00058 public:
00059 
00066   void persistentOutput(PersistentOStream & os) const;
00067 
00073   void persistentInput(PersistentIStream & is, int version);
00075 
00082   static void Init();
00083 
00084 
00085 // If needed, insert declarations of virtual function defined in the
00086 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
00087 
00088 
00089 private:
00090 
00095   SamplingBias & operator=(const SamplingBias &);
00096 
00097 };
00098 
00099 }
00100 
00101 #endif /* Herwig_SamplingBias_H */