src/ell/BarrierSampling.hh
Go to the documentation of this file.00001 #ifndef BARRIERESTIMATION_HH_ 00002 #define BARRIERESTIMATION_HH_ 00003 00004 00005 #include "ell/LandscapeTopology.hh" 00006 #include "ell/MinimumSelector.hh" 00007 #include "ell/SamplingAbortionCriterion.hh" 00008 00009 namespace ell 00010 { 00011 00016 class BarrierSampling 00017 { 00018 public: 00019 virtual ~BarrierSampling(); 00020 00033 virtual 00034 size_t 00035 findBarriers( LandscapeTopology* const lt 00036 , MinimumSelector* const ms 00037 , SamplingAbortionCriterion * const sac 00038 ) = 0; 00039 }; 00040 00041 } // namespace ell 00042 00043 #include "ell/DirectWalk.hh" 00044 00045 namespace ell 00046 { 00047 00056 class BS_DirectWalk : public BarrierSampling 00057 { 00058 public: 00059 00061 BS_DirectWalk(const DirectWalk* const dw); 00062 00064 virtual ~BS_DirectWalk(); 00065 00079 virtual 00080 size_t 00081 findBarriers( LandscapeTopology* const lt 00082 , MinimumSelector* const ms 00083 , SamplingAbortionCriterion * const sac 00084 ); 00085 00086 protected: 00087 00090 const DirectWalk* const dw; 00091 }; 00092 00093 } // namespace ell 00094 00095 00096 #include "ell/Walk.hh" 00097 00098 namespace ell 00099 { 00100 00123 class BS_UpDown : public BarrierSampling 00124 { 00125 public: 00126 00137 BS_UpDown( const Walk* const upWalk 00138 , const Walk* const downWalk 00139 , const bool addNewMinima ); 00140 00142 virtual ~BS_UpDown(); 00143 00157 virtual 00158 size_t 00159 findBarriers( LandscapeTopology* const lt 00160 , MinimumSelector* const ms 00161 , SamplingAbortionCriterion * const sac 00162 ); 00163 00164 00165 00166 protected: 00167 00169 const Walk* const upWalk; 00171 const Walk* const downWalk; 00174 const bool addNewMinima; 00175 }; 00176 00177 } // namespace ell 00178 00179 00180 00181 00182 #endif /*BARRIERESTIMATION_HH_*/