#define __MODEL_H__
#include <tr1/memory>
+#include <string>
class SortAction;
class GeneOrder;
Model(Models::ModelImpl* model);
/**
+ * Gives the score for the action on a given gene order.
+ * A better match for this model gives a higher score.
*/
double score(const SortAction& sa, const GeneOrder& go) const;
+ /**
+ * The name for the model used.
+ */
const char* name() const;
+ /**
+ * Creates a model from a name.
+ */
+ static Model modelFactory(const std::string& name);
+
private:
ModelPointer _impl;