#include "geneorder.h"
-#include <map>
+#include <queue>
#include <string>
#include <stdexcept>
struct fann;
+class Model;
+
/**
* Identifies the model this gene order belongs to
*/
class ModelIdentifier{
public:
- //TODO: Make a Model class with functions for scoring SortActions
- //one subclass for each model. Possibly storing name as string too.
- enum Model{Whirl,X,FatX,Zipper,Cloud};
/**
* Creates a new identifier given an artificial neural network
/**
* Identifies the model for a given gene order.
*
- * \returns a map with the model as key and the score between -1 and 1
+ * \returns a priority_queue with the model as key and the score between -1 and 1
*/
- std::map<Model,double> identify(const GeneOrder& go);
-
- static std::string modelName(Model m);
+ std::priority_queue<std::pair<double,Model> > identify(const GeneOrder& go);
~ModelIdentifier();
private: