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