]> ruin.nu Git - germs.git/blobdiff - src/models.h
Added more doxygen documentation
[germs.git] / src / models.h
index 8d7f9e8a7a7980ffe10634dcc7eb732de43ae2de..f037071b0843684ce16ccb2e29e94aaac38aeb9a 100644 (file)
@@ -26,41 +26,97 @@ class GeneOrder;
 
 namespace Models {
 
+/**
+ * Basic implementation of a model. All sort actions are considered equal.
+ */
 class ModelImpl {
        public:
                virtual ~ModelImpl();
 
+               /**
+                * All actions return 1 in this model.
+                *
+                * \see Model::score
+                */
                virtual double score(const SortAction& sa, const GeneOrder& go);
 
+               /**
+                * \see Model::name
+                */
                virtual const char* name();
 };
 
 
+/**
+ * A model that favors symmetric reversal, resulting in an X-like
+ * picture in a dot plot.
+ */
 class X : public ModelImpl {
        public:
+               /**
+                * Returns a higher score for reversals around the center
+                *
+                * \see Model::score
+                */
                double score(const SortAction& sa, const GeneOrder& go);
 
+               /**
+                * \see Model::name
+                */
                const char* name();
 };
 
+/**
+ * A model that favors short reversals, resulting in a zipper-like
+ * picture in a dot plot
+ */
 class Zipper : public ModelImpl {
        public:
+               /**
+                * Returns higher score for shorter reversals.
+                *
+                * \see Model::score
+                */
                double score(const SortAction& sa, const GeneOrder& go);
 
+               /**
+                * \see Model::name
+                */
                const char* name();
 };
 
+/**
+ * A model that favors single gene transpositions, resulting in a
+ * very scattered dot plot.
+ */
 class Cloud : public ModelImpl {
        public:
+               /**
+                * \todo has to be implemented
+                * \see Model::score
+                */
                double score(const SortAction& sa, const GeneOrder& go);
 
+               /**
+                * \see Model::name
+                */
                const char* name();
 };
 
+/**
+ * A model similar to X, but a wider X in the dot plot.
+ */
 class FatX : public ModelImpl {
        public:
+               /**
+                * \todo has to be implemented
+                * \see Model::score
+                */
                double score(const SortAction& sa, const GeneOrder& go);
 
+               /**
+                * \see Model::name
+                */
                const char* name();
 };