00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_CONOP_HEURISTIC_HH
00020 #define OST_CONOP_HEURISTIC_HH
00021
00022 #include <ost/mol/entity_handle.hh>
00023 #include "minimal_compound_lib.hh"
00024 #include "diag.hh"
00025 #include "processor.hh"
00026
00027 namespace ost { namespace conop {
00028
00029
00030 class HeuristicProcessor;
00031
00032 typedef boost::shared_ptr<HeuristicProcessor> HeuristicProcessorPtr;
00033
00034 class DLLEXPORT_OST_CONOP HeuristicProcessor : public Processor {
00035 public:
00036 HeuristicProcessor():
00037 Processor(),
00038 lib_()
00039 {
00040 }
00041 virtual ProcessorPtr Copy() const {
00042 return ProcessorPtr(new HeuristicProcessor(*this));
00043 }
00044 HeuristicProcessor(bool bf, bool at, bool cn, bool aa, ConopAction zo):
00045 Processor(bf, at, cn, aa, zo),
00046 lib_()
00047 {}
00048
00049 virtual String ToString() const;
00050 protected:
00051 void ProcessUnkResidue(DiagnosticsPtr diags, mol::ResidueHandle res) const;
00052 virtual void DoProcess(DiagnosticsPtr diags,
00053 mol::EntityHandle ent) const;
00054 private:
00055 MinimalCompoundLib lib_;
00056 };
00057
00058
00059 }}
00060
00061 #endif
00062