From efb579cb7d3a6be9cd31feed3b53a302081573e5 Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Wed, 29 Apr 2015 16:32:49 +0200
Subject: [PATCH] also document the init parameters

---
 modules/mol/mm/doc/integrators.rst | 35 +++++++++++++++++++++++----
 modules/mol/mm/doc/interaction.rst |  4 +++-
 modules/mol/mm/doc/simulation.rst  | 38 ++++++++++++++++++++++++++++--
 modules/mol/mm/doc/topology.rst    |  3 ++-
 4 files changed, 71 insertions(+), 9 deletions(-)

diff --git a/modules/mol/mm/doc/integrators.rst b/modules/mol/mm/doc/integrators.rst
index 641b5e168..011def6a7 100644
--- a/modules/mol/mm/doc/integrators.rst
+++ b/modules/mol/mm/doc/integrators.rst
@@ -7,16 +7,25 @@ The Integrators are a wrapper around the integrators provided by OpenMM and
 have to be attached to the :class:`Settings` when setting up a simulation
 to provide a way of making the thing shake.
 
-.. class:: VerletIntegrator
+.. class:: VerletIntegrator(step_size)
 
   Implementation of Verlet dynamics
 
+  :param step_size:     :class:`float` defining timestep in ps.
 
 
-.. class:: BrownianIntegrator
+
+.. class:: BrownianIntegrator(temperature, friction_coeff, step_size)
 
   Implementation of Brownian dynamics
 
+  :param temperature:   :class:`float` temperature of heat bath in K
+
+  :param friction_coeff: :class:`float` friction coefficient coupling the
+                         system to the heat bath in 1/ps
+
+  :param step_size:     :class:`float` defining timestep in ps.
+
   .. method:: GetTemperature()
 
     :returns:           :class:`float`
@@ -44,10 +53,17 @@ to provide a way of making the thing shake.
 
 
 
-.. class:: LangevinIntegrator
+.. class:: LangevinIntegrator(temperature, friction_coeff, step_size)
 
   Implementation of the Langevin dynamics
 
+  :param temperature:   :class:`float` temperature of heat bath in K
+
+  :param friction_coeff: :class:`float` friction coefficient coupling the
+                         system to the heat bath in 1/ps
+
+  :param step_size:     :class:`float` defining timestep in ps.
+
   .. method:: GetTemperature()
 
     :returns:         :class:`float`
@@ -74,10 +90,12 @@ to provide a way of making the thing shake.
 
 
 
-.. class:: VariableVerletIntegrator
+.. class:: VariableVerletIntegrator(error_tol)
 
   Implementation of Verlet dynamics with variable time steps
 
+  :param error_tol:     :class:`float` error tolerance
+
   .. method:: GetErrorTolerance()
 
     :returns:           :class:`float`
@@ -88,10 +106,17 @@ to provide a way of making the thing shake.
 
 
 
-.. class:: VariableLangevinIntegrator
+.. class:: VariableLangevinIntegrator(temperature, friction_coeff, error_tol)
 
   Implementation of Langevin dynamics with variable time steps
 
+  :param temperature:   :class:`float` temperature of heat bath in K
+
+  :param friction_coeff: :class:`float` friction coefficient coupling the
+                         system to the heat bath in 1/ps
+
+  :param error_tol:     :class:`float` error_tolerance.
+
   .. method:: GetTemperature()
 
     :returns:         :class:`float`
diff --git a/modules/mol/mm/doc/interaction.rst b/modules/mol/mm/doc/interaction.rst
index b2bd0439f..b25b9d01e 100644
--- a/modules/mol/mm/doc/interaction.rst
+++ b/modules/mol/mm/doc/interaction.rst
@@ -29,7 +29,9 @@ a harmonic angle)
 --------------------------------------------------------------------------------
 
 
-.. class:: Interaction
+.. class:: Interaction(func_type)
+
+  :param func_type:     :class:`FuncType` defining a particular interaction
 
   ..method:: SetTypes(types)
 
diff --git a/modules/mol/mm/doc/simulation.rst b/modules/mol/mm/doc/simulation.rst
index 3de0804fb..0a7176133 100644
--- a/modules/mol/mm/doc/simulation.rst
+++ b/modules/mol/mm/doc/simulation.rst
@@ -3,11 +3,45 @@ Simulation
 
 .. currentmodule:: ost.mol
 
+The simulation finally connects a :class:`Topology` with an 
+:class:`ost.mol.EntityHandle`. While applying minimization or
+MD tasks, the current positions of the simulation object can be
+mapped back to the attached structure at any time.
 
 
-.. class:: Simulation
 
-  The :class:`mm.Simulation` class is used to run a simulation. 
+.. class:: Simulation(entity, settings)
+
+  first constructor, that takes an :class:`ost.mol.EntityHandle` as an input
+  and automatically constructs an internal :class:`Topology` according
+  to the provided **settings**. Be aware, that the **entity** will be altered
+  depending on hydrogen/termini definitions in the :class:`Forcefield` attached
+  to the **settings**
+
+  :param entity:        :class:`ost.mol.EntityHandle` from which a default
+                        :class:`Topology` will be created according to the
+                        **settings**
+
+  :param settings:      :class:`Settings` to control the parametrization of
+                        the :class:`Simulation` and the buildup of the
+                        internal :class:`Topology` 
+
+  :raises:              :class:`RuntimeError` when construction of 
+                        :class:`Topology` fails
+
+.. class:: Simulation(topology,entity,settings)
+
+  second constructor, that takes a :class:`Topology` and a consistent
+  :class:`ost.mol.EntityHandle` as an input.
+
+  :param topology:      :class:`Topology` to initialize the :class:`Simulation`
+
+  :param entity:        :class:`ost.mol.EntityHandle` that is consistent with
+                      the provided **topology**
+
+  :param settings:      :class:`Settings` to control the parametrization of
+                      the :class:`Simulation` 
+
 
   .. method:: Save(filename)
 
diff --git a/modules/mol/mm/doc/topology.rst b/modules/mol/mm/doc/topology.rst
index 5fb169e76..2a4f63604 100644
--- a/modules/mol/mm/doc/topology.rst
+++ b/modules/mol/mm/doc/topology.rst
@@ -43,8 +43,9 @@ that should suffice most needs.
                         :class:`RuntimeError` can be supressed by the 
                         according flag in the :class:`Settings` object.
 
-.. class:: Topology
+.. class:: Topology(masses)
 
+  :param masses:        :class:`list` of the particles masses
 
   .. method:: Save(filename)
 
-- 
GitLab