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

src/ell/StateAcceptor.hh

Go to the documentation of this file.
00001 #ifndef STATEACCEPTOR_HH_
00002 #define STATEACCEPTOR_HH_
00003 
00004 
00005 #include "ell/State.hh"
00006 #include "ell/StateCollector.hh"
00007 
00008 namespace ell {
00015     class StateAcceptor 
00016     {
00017     public: 
00018         
00019         virtual ~StateAcceptor(){};
00020         
00028         virtual bool accept(
00029                 const StateCollector* const sc, 
00030                 const State& succ) const = 0;
00031     };
00032     
00038     class SA_All : public StateAcceptor
00039     {
00040     public:
00041         
00042         virtual ~SA_All() {};
00043         
00050         virtual bool accept(
00051                 const StateCollector* const sc, 
00052                 const State& succ) const;
00053     };
00054     
00062     class SA_Le : public StateAcceptor
00063     {
00064     public:
00065         
00066         virtual ~SA_Le() {}
00067         
00075         virtual bool accept(
00076                 const StateCollector* const sc, 
00077                 const State& succ) const;
00078     };
00079     
00086     class SA_E_Eq : public StateAcceptor
00087     {
00088     public:
00089         
00090         virtual ~SA_E_Eq() {}
00091         
00099         virtual bool accept(
00100                 const StateCollector* const sc, 
00101                 const State& succ) const;
00102     };
00103     
00110     class SA_E_Gr : public StateAcceptor
00111     {
00112     public:
00113         
00114         virtual ~SA_E_Gr() {}
00115         
00123         virtual bool accept(
00124                 const StateCollector* const sc, 
00125                 const State& succ) const;
00126     };
00127     
00135     class SA_E_GrEq : public StateAcceptor
00136     {
00137     public:
00138         
00139         virtual ~SA_E_GrEq () {};
00140         
00148         virtual bool accept(
00149                 const StateCollector* const sc, 
00150                 const State& succ) const;
00151     };
00152     
00160     class SA_E_Le : public StateAcceptor
00161     {
00162     public:
00163         
00164         virtual ~SA_E_Le() {}
00165         
00173         virtual bool accept(
00174                 const StateCollector* const sc, 
00175                 const State& succ) const;
00176     };
00177     
00185     class SA_E_LeEq : public StateAcceptor
00186     {
00187     public:
00188         
00189         virtual ~SA_E_LeEq() {}
00190         
00198         virtual bool accept(
00199                 const StateCollector* const sc, 
00200                 const State& succ) const;
00201     };
00202     
00203     
00210     class SA_Max_E : public StateAcceptor
00211     {
00212     public:
00213         
00216         SA_Max_E( const double MAX_ENERGY );
00217         
00218         virtual ~SA_Max_E() {}
00219         
00226         virtual bool accept(
00227                 const StateCollector* const sc, 
00228                 const State& succ) const;
00229         
00230     protected:
00231         
00233         const double MAX_ENERGY;
00234     };
00235     
00236     
00247     class SA_Metropolis : public StateAcceptor {
00248     protected:
00249         
00252         const double kT;
00253 
00254     public:
00255         
00259         SA_Metropolis(const double kT);
00260 
00261         virtual ~SA_Metropolis() {}
00262         
00270         virtual bool accept(
00271                 const StateCollector* const sc, 
00272                 const State& succ) const;
00273     };
00274     
00275 } // namespace ell
00276 
00277 #endif /*STATEACCEPTOR_HH_*/