Index: src/atom.hpp
===================================================================
--- src/atom.hpp	(revision e2373df507fb916476ab8df9646079e2551e04f2)
+++ src/atom.hpp	(revision 1363de855fb482f9b1722a9ca5ef1aa1bde95a88)
@@ -47,8 +47,14 @@
   friend atom* NewAtom(atomId_t);
   friend void  DeleteAtom(atom*);
-  public:
+public:
     atom *father;   //!< In many-body bond order fragmentations points to originating atom
     int *sort;      //!< sort criteria
 
+  /** Clones this atom.
+   *
+   * Does not clone the bonds!
+   *
+   * @return reference to atom
+   */
   virtual atom *clone();
 
@@ -61,22 +67,106 @@
   virtual void UpdateSteps();
 
+  /** Output of a single atom with given numbering.
+   * \param ElementNo cardinal number of the element
+   * \param AtomNo cardinal number among these atoms of the same element
+   * \param *out stream to output to
+   * \param *comment commentary after '#' sign
+   * \return true - \a *out present, false - \a *out is NULL
+   */
   bool OutputIndexed(ofstream * const out, const int ElementNo, const int AtomNo, const char *comment = NULL) const;
+
+  /** Output of a single atom with numbering from array according to atom::type.
+   * \param *ElementNo cardinal number of the element
+   * \param *AtomNo cardinal number among these atoms of the same element
+   * \param *out stream to output to
+   * \param *comment commentary after '#' sign
+   * \return true - \a *out present, false - \a *out is NULL
+   */
   bool OutputArrayIndexed(ostream * const out,const enumeration<const element*>&, int *AtomNo, const char *comment = NULL) const;
+
+  /** Output of a single atom as one line in xyz file.
+   * \param *out stream to output to
+   * \return true - \a *out present, false - \a *out is NULL
+   */
   bool OutputXYZLine(ofstream *out) const;
+
+  /** Output of a single atom as one line in xyz file.
+   * \param *out stream to output to
+   * \param *ElementNo array with ion type number in the config file this atom's element shall have
+   * \param *AtomNo array with atom number in the config file this atom shall have, is increase by one automatically
+   * \param step Trajectory time step to output
+   * \return true - \a *out present, false - \a *out is NULL
+   */
   bool OutputTrajectory(ofstream * const out, const enumeration<const element*>&, int *AtomNo, const int step) const;
+
+  /** Output of a single atom as one lin in xyz file.
+   * \param *out stream to output to
+   * \param step Trajectory time step to output
+   * \return true - \a *out present, false - \a *out is NULL
+   */
   bool OutputTrajectoryXYZ(ofstream * const out, const int step) const;
+
+  /** Outputs the MPQC configuration line for this atom.
+   * \param *out output stream
+   * \param *center center of molecule subtracted from position
+   * \param *AtomNo pointer to atom counter that is increased by one
+   */
   void OutputMPQCLine(ostream * const out, const Vector *center) const;
 
+  /** Initialises the component number array.
+   * Size is set to atom::ListOfBonds.size()+1 (last is th encode end by -1)
+   */
   void InitComponentNr();
+
+  /** Resets GraphNr to -1.
+   *
+   */
   void resetGraphNr();
 
+  /** Check whether father is equal to given atom.
+   * \param *ptr atom to compare father to
+   * \param **res return value (only set if atom::father is equal to \a *ptr)
+   */
   void EqualsFather ( const atom *ptr, const atom **res ) const;
+
+  /** States whether the given \a *ptr is our father.
+   *
+   * @param ptr atom to compare atom::Father with
+   * @return true - \a *ptr is father, false - not
+   */
   bool isFather(const atom *ptr);
+
+  /** If we are copy of copy, we are linked to be just a copy.
+   *
+   */
   void CorrectFather();
+
+  /** Climbs up the father list until NULL, last is returned.
+   * \return true father, i.e. whose father points to itself, NULL if it could not be found or has none (added hydrogen)
+   */
   atom *GetTrueFather();
+
+  /** Compares the indices of \a this atom with a given \a ptr.
+   * \param ptr atom to compare index against
+   * \return true - this one's is smaller, false - not
+   */
   bool Compare(const atom &ptr) const;
 
+  /** Returns distance to a given vector.
+   * \param origin vector to calculate distance to
+   * \return distance
+   */
   double DistanceToVector(const Vector &origin) const;
+
+  /** Returns squared distance to a given vector.
+   * \param origin vector to calculate distance to
+   * \return distance squared
+   */
   double DistanceSquaredToVector(const Vector &origin) const;
+  /** Checks whether atom is within the given box.
+   * \param offset offset to box origin
+   * \param *parallelepiped box matrix
+   * \return true - is inside, false - is not
+   */
   bool IsInShape(const Shape&) const;
 
@@ -101,8 +191,23 @@
    virtual void setId(atomId_t);
 
+   /** Makes the atom be contained in the new molecule \a *_mol.
+    * Uses atom::removeFromMolecule() to delist from old molecule.
+    * \param *_mol pointer to new molecule
+    */
    void setMolecule(molecule*);
+
+   /** Returns pointer to the molecule which atom belongs to.
+    * \return containing molecule
+    */
    molecule* getMolecule() const;
+
+   /** Erases the atom in atom::mol's list of atoms and sets it to zero.
+    */
    void removeFromMolecule();
 
+   /** Getter for ParticleInfo::Nr of the atom.
+    *
+    * @return index
+    */
    int getNr() const;
 
