Generated on Mon Jun 23 17:17:53 2008 for ell-2.3.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     
00025     
00026     
00027     WAC_MaxEnergy::WAC_MaxEnergy(const double max)
00028       : maxEnergy(max) 
00029     {}
00030     
00031     bool
00032     WAC_MaxEnergy::abort(StateCollector* sc) const
00033     {
00034         if (sc->getLastAdded()->getEnergy() >= maxEnergy)
00035             return true;
00036         else
00037             return false;
00038     }
00039     
00040 
00042     
00043 
00044     WAC_MinEnergy::WAC_MinEnergy(const double min) 
00045       : minEnergy(min) 
00046     {}
00047 
00048     bool
00049     WAC_MinEnergy::abort(StateCollector* sc) const
00050     {
00051         if (sc->getLastAdded()->getEnergy() <= minEnergy)
00052             return true;
00053         else
00054             return false;
00055     }
00056     
00057     
00059     
00060     
00061     WAC_OpenEnd::WAC_OpenEnd() 
00062     {}
00063     
00064     bool
00065     WAC_OpenEnd::abort(StateCollector* sc) const 
00066     { 
00067         return false; 
00068     } 
00069     
00070     
00072     
00073     WAC_OR::WAC_OR( const WalkAbortionCriterion& _wac_a,
00074                     const WalkAbortionCriterion& _wac_b)
00075         : wac_a(_wac_a), wac_b(_wac_b)
00076     {}
00077     
00078     bool
00079     WAC_OR::abort(StateCollector* sc) const
00080     {
00081         return (wac_a.abort(sc) || wac_b.abort(sc));
00082     }
00083     
00084 } // namespace ell