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