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

src/ell/WalkAbortionCriterion.hh

Go to the documentation of this file.
00001 #ifndef WALKABORTIONCRITERION_HH_
00002 #define WALKABORTIONCRITERION_HH_
00003 
00004 
00005 #include "ell/StateCollector.hh"
00006 
00007 namespace ell
00008 {
00015     class WalkAbortionCriterion
00016     {
00017     public:
00018         
00019         virtual ~WalkAbortionCriterion(){};
00020         
00024         virtual bool abort(StateCollector* sc) const = 0;
00025     };
00026     
00027     
00034     class WAC_MaxLength : public WalkAbortionCriterion
00035     {
00036     private:
00038         size_t maxStates;   
00039         
00040     public:
00046         WAC_MaxLength(const size_t max);
00047         bool abort(StateCollector* sc) const;
00051         size_t getMaxLength(void) const;
00055         void setMaxLength(size_t maxLength);
00056     };
00057     
00058     
00065     class WAC_MaxEnergy : public WalkAbortionCriterion
00066     {
00067     private:
00068 
00070         const double maxEnergy;
00071         
00072     public:
00078         WAC_MaxEnergy(const double max);
00079         bool abort(StateCollector* sc) const;
00080     };  
00081     
00082     
00089     class WAC_MinEnergy : public WalkAbortionCriterion
00090     {
00091     private:
00093         const double minEnergy;
00094         
00095     public:
00101         WAC_MinEnergy(const double min);
00102         bool abort(StateCollector* sc) const;
00103     };
00104     
00110     class WAC_OpenEnd : public WalkAbortionCriterion
00111     {
00112     public:
00113         WAC_OpenEnd();
00114         bool abort(StateCollector* sc) const;
00115     };
00116     
00123     class WAC_OR : public WalkAbortionCriterion
00124     {
00125     private:
00126         const WalkAbortionCriterion& wac_a;
00127         const WalkAbortionCriterion& wac_b;
00128         
00129     public:
00134         WAC_OR( const WalkAbortionCriterion& wac_a, 
00135                 const WalkAbortionCriterion& wac_b);
00136         bool abort(StateCollector* sc) const;
00137     };
00138         
00139 } // namespace ell
00140 
00141 #endif /*WALKABORTIONCRITERION_HH_*/