openModeller  Version 1.4.0
envelope_score.hh
Go to the documentation of this file.
00001 
00032 #ifndef _ENVELOPESCOREHH_
00033 #define _ENVELOPESCOREHH_
00034 
00035 #include <openmodeller/om.hh>
00036 
00037 /****************************************************************/
00038 /*********************** EnvelopeScore ***********************/
00039 
00045 class EnvelopeScore : public AlgorithmImpl
00046 {
00047 public:
00048 
00049   EnvelopeScore();
00050   ~EnvelopeScore();
00051 
00052   // Inherited from Algorithm class.
00053   int initialize();
00054   int iterate();
00055   int done() const;
00056 
00057   Scalar getValue( const Sample& x ) const;
00058   int    getConvergence( Scalar * const val ) const;
00059 
00060 protected:
00061   virtual void _getConfiguration( ConfigurationPtr& ) const;
00062   virtual void _setConfiguration( const ConstConfigurationPtr & );
00063 
00064 private:
00065 
00068   void computeStats( const OccurrencesPtr& );
00069 
00071   void logEnvelope();
00072 
00073   bool _done;  
00074 
00075   Sample _minimum; 
00076   Sample _maximum; 
00077 
00078 };
00079 
00080 
00081 #endif //ENVELOPESCOREHH
00082