Generated on Mon Jun 23 17:17:53 2008 for ell-2.3.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         const size_t maxStates; 
00039         
00040     public:
00046         WAC_MaxLength(const size_t max);
00047         bool abort(StateCollector* sc) const;
00048     };
00049     
00050     
00057     class WAC_MaxEnergy : public WalkAbortionCriterion
00058     {
00059     private:
00060 
00062         const double maxEnergy;
00063         
00064     public:
00070         WAC_MaxEnergy(const double max);
00071         bool abort(StateCollector* sc) const;
00072     };  
00073     
00074     
00081     class WAC_MinEnergy : public WalkAbortionCriterion
00082     {
00083     private:
00085         const double minEnergy;
00086         
00087     public:
00093         WAC_MinEnergy(const double min);
00094         bool abort(StateCollector* sc) const;
00095     };
00096     
00102     class WAC_OpenEnd : public WalkAbortionCriterion
00103     {
00104     public:
00105         WAC_OpenEnd();
00106         bool abort(StateCollector* sc) const;
00107     };
00108     
00115     class WAC_OR : public WalkAbortionCriterion
00116     {
00117     private:
00118         const WalkAbortionCriterion& wac_a;
00119         const WalkAbortionCriterion& wac_b;
00120         
00121     public:
00126         WAC_OR( const WalkAbortionCriterion& wac_a, 
00127                 const WalkAbortionCriterion& wac_b);
00128         bool abort(StateCollector* sc) const;
00129     };
00130         
00131 } // namespace ell
00132 
00133 #endif /*WALKABORTIONCRITERION_HH_*/