openModeller  Version 1.4.0
rules_range.hh
Go to the documentation of this file.
00001 
00036 #ifndef _RULES_RANGE_HH_
00037 #define _RULES_RANGE_HH_
00038 
00039 #include <openmodeller/om.hh>
00040 
00041 #include "rules_base.hh"
00042 
00043 class BioclimHistogram;
00044 
00045 /****************************************************************/
00046 /****************** RangeRule class hierarchy ********************/
00047 
00056 class RangeRule : public GarpRule
00057 {
00058 public:
00059   RangeRule();
00060 
00061   RangeRule(int numGenes);
00062 
00064   RangeRule(Scalar prediction, int numGenes, 
00065        const Sample& chrom1, const Sample& chrom2, 
00066        const double * performances);  
00067   
00068   virtual ~RangeRule();
00069   virtual GarpRule * objFactory() const { return new RangeRule(); }
00070   
00071   virtual char type() const       { return 'd'; }
00072   
00073   virtual void initialize(const BioclimHistogram& histogram);
00074   virtual bool applies(const Sample& sample) const;
00075   virtual int getStrength(const Sample& sample) const;
00076 
00077   void log();
00078 };
00079 
00080 // ====================================================================
00081 
00082 #endif