// $Id: NNiProp.h 962 2006-11-07 15:13:34Z privmane $ #ifndef ___NNI_PROP #define ___NNI_PROP #include "definitions.h" #include "tree.h" #include "sequenceContainer.h" #include "definitions.h" #include "stochasticProcess.h" #include using namespace std; class NNiProp { public: explicit NNiProp(vector& sc, vector& sp, const vector * weights, vector* nodeNotToSwap); tree NNIstep(tree et); MDOUBLE bestScore(){ return _bestScore;} void setOfstream(ostream* out); private: ostream* _out; vector * _nodeNotToSwap; private: tree _bestTree; MDOUBLE _bestScore; vector& _sc; vector& _sp; const vector * _weights; MDOUBLE evalTree(tree& et); tree NNIswap1(tree et,tree::nodeP mynode); tree NNIswap2(tree et,tree::nodeP mynode); int _treeEvaluated; }; #endif