]> ruin.nu Git - germs.git/blobdiff - src/model.h
modelFactory method, to help create models
[germs.git] / src / model.h
index 52e4d747c4b6eb0677e18805cc30230244e6102f..4869793c407fe7bb2800136df715b03733588089 100644 (file)
@@ -22,6 +22,7 @@
 #define __MODEL_H__
 
 #include <tr1/memory>
+#include <string>
 
 class SortAction;
 class GeneOrder;
@@ -30,16 +31,31 @@ namespace Models {
        class ModelImpl;
 }
 
+/**
+ * Abstraction of a model.
+ * 
+ * Handles scoring of specific actions on gene orders.
+ */
 class Model{
        public:
                typedef std::tr1::shared_ptr<Models::ModelImpl> ModelPointer;
 
+               /**
+                * Constructs a new model.
+                *
+                * \param model The actual model implementation. This model takes 
+                *      ownership of the new allocated implementation and will delete it.
+                */
                Model(Models::ModelImpl* model);
 
+               /**
+                */
                double score(const SortAction& sa, const GeneOrder& go) const;
 
                const char* name() const;
 
+               static Model modelFactory(const std::string& name);
+
        private:
                ModelPointer _impl;