Herwig++
2.7.0
|
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 */