Generated on Tue Dec 16 13:34:02 2008 for ell-3.0.0 by doxygen 1.5.1

src/ell/WalkAbortionCriterion.cc

Go to the documentation of this file.
00001 
00002 #include "ell/WalkAbortionCriterion.hh"
00003 
00004 namespace ell {
00005     
00006     
00008 
00009 
00010     WAC_MaxLength::WAC_MaxLength(const size_t max)
00011       : maxStates(max) 
00012     {}
00013 
00014     bool
00015     WAC_MaxLength::abort(StateCollector* sc) const
00016     {
00017         if (sc->size() > maxStates)
00018             return true;
00019         else
00020             return false;
00021     }
00022     
00023     size_t 
00024     WAC_MaxLength::getMaxLength(void) const {
00025         return maxStates;
00026     }
00027     
00028     void 
00029     WAC_MaxLength::setMaxLength(size_t maxLength) {
00030         maxStates = maxLength;
00031     }
00032     
00034     
00035     
00036     WAC_MaxEnergy::WAC_MaxEnergy(const double max)
00037       : maxEnergy(max) 
00038     {}
00039     
00040     bool
00041     WAC_MaxEnergy::abort(StateCollector* sc) const
00042     {
00043         if (sc->getLastAdded()->getEnergy() >= maxEnergy)
00044             return true;
00045         else
00046             return false;
00047     }
00048     
00049 
00051     
00052 
00053     WAC_MinEnergy::WAC_MinEnergy(const double min) 
00054       : minEnergy(min) 
00055     {}
00056 
00057     bool
00058     WAC_MinEnergy::abort(StateCollector* sc) const
00059     {
00060         if (sc->getLastAdded()->getEnergy() <= minEnergy)
00061             return true;
00062         else
00063             return false;
00064     }
00065     
00066     
00068     
00069     
00070     WAC_OpenEnd::WAC_OpenEnd() 
00071     {}
00072     
00073     bool
00074     WAC_OpenEnd::abort(StateCollector* sc) const 
00075     { 
00076         return false; 
00077     } 
00078     
00079     
00081     
00082     WAC_OR::WAC_OR( const WalkAbortionCriterion& _wac_a,
00083                     const WalkAbortionCriterion& _wac_b)
00084         : wac_a(_wac_a), wac_b(_wac_b)
00085     {}
00086     
00087     bool
00088     WAC_OR::abort(StateCollector* sc) const
00089     {
00090         return (wac_a.abort(sc) || wac_b.abort(sc));
00091     }
00092     
00093 } // namespace ell