[Molecuilder-devel] [SCM] MoleCuilder branch stable created. v1.4.3-53-g5a2d986

git repository hosting git at ins.uni-bonn.de
Mon May 26 14:16:04 CEST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MoleCuilder".

The branch, stable has been created
        at  5a2d986e91cb234cc443e56577928ffc34be1b35 (commit)

- Log -----------------------------------------------------------------
commit 5a2d986e91cb234cc443e56577928ffc34be1b35
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Sep 29 13:44:11 2013 +0200

    Set version to 1.4.4.
    
    - MoleCuilder library is now 13:2:1.
    - Codename "Gross" ([LOTR,ch.1]: "...Together we score one-hundred and
      forty-four...: One Gross, if I may use the expression.").

commit afbbfeb503903b1b9c5d9d837422eba4ef9792d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 5 20:46:05 2014 +0100

    FIX: Some python commands with default values threw asserts.
    
    - converted ASSERTs into returning Action::failure in
     - DipoleAngularCorrelationAction
     - CenterOnEdgeAction
    - modified some default values for
     - AddEmptyBoundary
     - AtomChangeElementAction
     - RotateToPrincipalAxisSystem

commit cb32aab2de7e9f46174ea0a3594bbd1fd46140eb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 4 23:47:03 2014 +0100

    DISTFIX: libMolecuilderFragmentationAutomation.la was included without CONDJOBMARKET.
    
    - this lead to a stub library file being present and not getting cleaned during
      distclean.

commit 6497a3b46bbce29de08e64d0f941160659632509
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 4 20:05:08 2014 +0100

    DISTFIX: QwtPlotting had extra _ in QWTHEADER declaration.
    
    - this prevented distribution of headers.

commit eddab7632c72ecae12f102c1ef788e1d5ce92721
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 3 14:52:28 2014 +0100

    FIX: getSummedShortRangeResults() usage of typename incompatible with some gccs.
    
    - gcc 4.6.3 does not admonish, while gcc 4.4.3 does. Placed the iterator into
      the typedef to circumvent.

commit 7f39de1411749be0d9c1a202757a9afa08cda1bc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 26 21:44:17 2014 +0100

    DISTFIX: molecuilder_logo.png is contained, not molecuildergui.png.

commit 5e14433094bd612ca13a2fb09e753c2c90938651
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 20 19:53:33 2013 +0200

    DISTFIX: regression tests Options Sessions do not check correctly for python capability.

commit b47f9c1723a19110e2f99afba3fa1c8eed07966b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 15 15:41:44 2013 +0200

    FIX: WindowGrid_converter::addWindowOntoGrid() never used OpenBoundaryConditions branch.
    
    - We did not use the parameter, it always fell back to default (false).
    - open boundary conditions use one extra grid point right-hand-side layer
      to account Dirichlet boundary conditions. This has to be skipped when
      filling the grid.
    - density looks sensible in both cases, in open boundary case neither electron
      nor nuclei longrange show any (significant) box size dependency.

commit e0cf82913fd469d89bc7520beb9d6f66b911fc92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 15 15:40:49 2013 +0200

    Cut down verbosity of SpecificFragmentController with CodePatterns::Info changes.

commit 92f978cdee147fc163e1b3706466510779c7ca26
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 26 01:23:07 2013 +0200

    FIX: store-.. and load-session regression tests were skipped on wrong case.

commit d29b31ccb5142b32a4a59663f9d5e6d235af2061
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 5 15:31:14 2013 +0200

    Longrange energy is now also calculated for level 1.
    
    - level 1 sum is incorrect within a molecule but correct between molecules.
    - TESTFIX: both analysing long range results required new
      ..LongRangeResults.dat as level 1 full_potential is missing for new
      summation.
    - TESTFIX: note that only change in O/PBC's .._LongRangeEnergy.dat is
      additional line for level 1. All other values are exactly the same as must be
      expected. (and .._Times.dat required replacement, too)

commit 6531a742da8c394a1d0ad37b8971810903fcaa81
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 7 10:05:58 2013 +0200

    Split regression test on analysing long range results into OBC and PBC type.
    
    - TESTFIX: Exchanged OBC long range results file, too, as mpqc and calculated
      substantially changed.. and makes more sense now, e.g. mixed contribution now
      has opposite sign w.r.t to nuclei and electron parts.
    - this is preparatory for upcoming change to level 1 summation.

commit 9583126d552a498ec6a0147ae02647de07721eef
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 5 15:03:03 2013 +0200

    FIX: CyclicStructureAnalysis::InitializeToRoot() did not reset some internals lists.
    
    - ColorList, ShortestPathList, PredecessorList are just temporary for a single
      cycle. Hence, must be reset before re-use.

commit 174f8b886e9257fccf80b5a287ee4e1245f4d904
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 28 11:20:46 2013 +0200

    Extending QtFragmentList to show value and contribution of summed results.
    
    - Fixed selection in QtFragmentList, allowing multi selection.

commit 16893fd85d85ee4277ce29485e83a7aa2cc43533
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 28 12:50:13 2013 +0200

    Added ClearFragmentationResultsAction.
    
    - As we retain summed results on FragmentationResultContainer we must not
      clear the container after analysis.

commit c8d13f55d9d5c1539f427f0da8fce3b2b2cf5d1a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 28 11:35:15 2013 +0200

    Summed up results are now handed-over to FragmentationResultContainer by AnalyseFragmentationResultsAction.
    
    - we do not use fusion::maps here but write out real maps with IndexSet::ptr
      to MPQCData (but we fill in only energy_t.total so far).
    - TESTFIX: index was not written and tab/newline-hiccup in .._IndexedEnergy.dat

commit 47cee77c416ae305ae2648bbac752afcf74f0537
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 28 11:07:50 2013 +0200

    Writing out energy file with value and contribution per index set
    
    - placed in printReceivedShortResultsPerIndex().
    - added writeIndexedTable which writes per indexset not per level.
    - HeaderPrinter is not initialized with some string anymore.
    - ValuePrinter does not write the level anymore.
    - these are now done in write(Indexed)Table.
    - TESTFIX: Added BondFragment_IndexedEnergy.dat diff to regression tests.

commit f58e56c6f4415dc222f59f2f5d6188b773464ecb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Sep 29 11:45:35 2013 +0200

    Extracted cycle contribution calculation into distinct function.

commit 0588e9997198820786bc31f4c69ab48e55ac174a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 26 18:19:05 2013 +0200

    AnalyseFragmentationResultsAction now also calculates and prints cycle correction.
    
    - we calculate the energy with and without determined cycles per level and
      print each energy.
    - we make use of the ValueMask for this.
    - new parameter fragment-prefix allows specifying a file containg the cycle
      keysets.
    - added regression test for FragmentMolecule's DoCyclesFull.

commit 675cd611bd03a5b8b2837d1811ebb901240fc57e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 26 18:17:15 2013 +0200

    (Orthogonal)Summator are notified via out-of-range matrixnr to omit contribution.
    
    - (Orthogonal)Summator uses ZeroInstance as default value and sets the value
      only when given matrixnr from lookup is within range.
    - this is preparatory for masking certain fragment results in the summation
      process.

commit 58952a771e02f3b934ce6a415b068d48ac6313aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 27 13:26:56 2013 +0200

    SetValue treats ZeroInstance as value special.
    
    - ZeroInstance in value indicates omit contribution in summation.

commit 9550514beebd8db71e4dd818ff1f2fcaf82aeb6f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 27 13:25:35 2013 +0200

    Added (in)equality operators to all SetValues.
    
    - only Fragment and SamplingGridProperties had one so far.
    - added serialization tests to SamplingGrid(Properties).
    - all are tested by unit test functions.
    - added EigenvaluesUnitTest.
    - FIX: SamplingGrid::get..GridPoint() did not check bounds with numerical
      rounding in mind, did fail when begin was not set to origin.
    - FIX: SamplingGridUnitTest failed an assert because of given level did not
      match number of values.

commit e0ae58d2284a52b479b4bafd7533855451f64a6c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 26 18:17:59 2013 +0200

    createMatrixNrLookup now requires a ValueMask.
    
    - adapted all Fragmentation..Results accordingly.
    - FragmentationShortRangeResults' cstor now allows passing this ValueMask.

commit 7d507c5ecb83082b5c68df5d5fdc343d8b05e552
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 27 14:58:04 2013 +0200

    FIX: Histogram::superposeOtherHistogram() could not deal with empty bins.
    
    - also fixed verbosity lag of printing bins after summation.

commit adb51abe8381f73dfe0d1c99111da5cdf35fc8eb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 26 12:47:57 2013 +0200

    FragmentationAction stores cycles to file and in FragmentationResultContainer.
    
    - added FragmentationResultContainer::addCycles() to add cycle keysets to the
      present cycle-specific KeySetsContainer. These must be given as
      KeySetsContainer to avoid dependencing on libMolecuilderFragmentation.so which
      vector<KeySet> would trigger.
    - added CYCLEKEYSETFILE with default file name

commit fe0cb8fc308970199e49364f8b08a147fe05200f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 25 10:49:20 2013 +0200

    Added option DoCyclesFull to FragmentationAction.
    
    - FIX: Fragmentation::Fragmentation() has no need for a ref to DFS anymore.
    - DFS in FragmentationAction is now used for Cycle detection only.
    - CyclicStructureAnalysis::RetrieveCycleMembers() also fills internal vector
      with all found cycles (as KeySet's), with a getter.

commit 8dbcafdbf694a42e92d2e08e97d4aa979751714d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 24 14:32:02 2013 +0200

    FIX: CyclicStructureAnalysis did not work correctly.
    
    - many errors with local variables that probably should have been in the class.
    - we use OtherAtom in subsequent RetrieveCycleMembers() but we have not given
      CyclicBFSFromRootToRoot() its ref.
    - the idea now is to use first get all cycles (CyclicBFSFromRootToRoot().
      RetrieveCycleMembers()) and then to assign all remaining atoms via
      AssignRingSizetoNonCycleMembers() with BFSToNextCycle() where we make use of
      locality property of BFS.

commit fb9f6d8c6e2f0362287b7c20b8f7678c84e2d2d2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 24 13:15:44 2013 +0200

    FIX: GraphNode's operator<<() omitted commata between components.

commit b677ab5201194a0236fb05cf30291c0d3fd0bd89
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 4 23:20:34 2013 +0200

    Added QSeisPlotPage to QtHomologyList.
    
    - spawning QSeisPlotCurves in QtHomologyList::refill() if homologies are
      present.
    - selected QSeisPlotCurve is plotted.
    - xy values are sorted (required by QSeisData).

commit f0964cb5f2f053c3e0aed176849d832df3814314
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 7 17:10:08 2013 +0200

    QtHomologyList also observes PotentialRegistry.
    
    - PotentialRegistry is now an Observable, updating when instances (un)register.

commit 4b2e05a891dfcc949adc242001c9b83c1af86927
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 4 21:25:59 2013 +0200

    Made models of CompoundPotential const_iterable.

commit 35302b57b5c489d9535c30527e3c33675ec2acb6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 4 16:43:49 2013 +0200

    Added many files from project Seismolo.
    
    - we either had the choice to carry in another dependency and to rework the
      project seismolo as to make it usable as a library ... or simply take the
      files we need and make some direkt adaptations.
    - FIX: qglobal.h has macro foreach which interferes with boost's foreach. See
      http://stackoverflow.com/questions/15191361/boostq-foreach-has-not-been-declared
    - FIX: Moved boost::property_tree before MemDebug due to placement new.

commit c76b8b73d78779880ae8c7b214535ac9dcc19e0c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 4 16:35:59 2013 +0200

    Added check for qwt.
    
    - this is taken from the SIM project, i.e. bitbucket.org/Coin3D/simacros.
    - added am_conditional CONDQWT used in UIElements/Makefile.am.
    - added disable/enable for qwt.

commit 94453f1a30a1e87e4b6a580cfe53d63156741dd8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 3 12:19:31 2013 +0200

    Added getCoordinator() to EmpiricalPotential interface.
    
    - implemented with all specific potentials.

commit 4e6a60fc96fe69cb1ca62739ca2e2c09255a4b0c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 3 11:55:47 2013 +0200

    Added CoordinatorFactory that returns the correct Coordinator for a given graph.
    
    - extended HomologyGraph interface by getter for nodes and edges.
    - CoordinatorFactory::create() decides by number of nodes and connected_edges
      which coordinator to return.

commit 291eca26ed6131cb07a91646a2f248745866d657
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 5 11:25:14 2013 +0200

    Extracted all length,angle, ... function inside potentials into functors.
    
    - all implement Coordinator interface for later factory pattern.

commit a8f5d94d574c2af4728a0591771b9b500bc3e6c9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 3 10:11:56 2013 +0200

    QtHomologyList is now a split with QTreeWidget and another widget.

commit d20ded7412ff5458245e32f83417cae5ab4a04c9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 3 09:49:02 2013 +0200

    FragmentResultContainer is Observable and displayed by QtFragmentList.
    
    - FIX: loop never entered in QtFragmentList::rowSelected().

commit c792e0b77a078d009c7339990afeeb01b61b3d9e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 2 16:31:43 2013 +0200

    Added molecuilder logo to QApplication.

commit 76e224bcaf211e95a7190ddf3c04dfb04f75205b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 27 21:02:07 2013 +0200

    FIX: QTimeLine does not grow vertically anymore.

commit 592d424c248ebd056dba2c85f19192cbf58df164
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 27 21:45:07 2013 +0200

    Added enable/disable for DreiBein and domain box.

commit 5e4bfdf08ca3bdb845caf4c4db50bd68eb9be115
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 24 13:19:06 2013 +0200

    QtInfoBox shows name of atom.

commit c34711ba0807ffc8bf996dd8a48c3c892ff543d6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 7 15:33:42 2013 +0200

    FIX: FitPotentialAction did not check whether potential already exists.

commit 38112df10dbb19fc9ce3998edad0c4ece9592e92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 7 14:44:56 2013 +0200

    FIX: StringQtQuery did not use default value.

commit 25ce49b5764c4c90bf74ce052de3d51495c44331
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 7 13:46:45 2013 +0200

    FIX: QtTimeLine was not notified of TimeChanged of WorldTime.
    
    - hence, if some other code changes the time, the slider does not get updated.

commit f130d4bfaa72247e3972474a6e9f5ca33463eaa8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 6 17:36:56 2013 +0200

    Qt's labels now show description as tool text.
    
    - had to streamline signature of all ..Dialogs.
    - changed Qt's Querys to set the tooltip from the now obtained description.

commit 07414d75db53b92f61d9d0750366a0345e86940e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 3 09:39:17 2013 +0200

    Changed atom ptr into atomicId_t param for atomInserted of GLWorld... classes.

commit c606650feaa9bde232bfc4e765e72313fb562e6b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 5 09:27:00 2013 +0200

    Rewrote Observer structure of GLMoleculeObject_bond.
    
    - renamed leftatom/rightatom to ...observable to clarify what they are used
      for, and we check whether either is still there before signing off.
    - we have three instances to take care of: bond, leftatom, rightatom.
    - we signOn to each Observable as well to get noticed via subjectKilled().
    - we only use subjectKilled() where we signOff() from the other two and
      then from all Notifications.
    - GLWorldScene is informed via BondRemoved and actually deletes the
      GLMoleculeObject_bond instance.
    - we use booleans to indicate whether we are still connected and sign off
      via subjectKilled(), emitting BondRemoved, or in dstor, without emit.
    - we do not use BlockingQueuedConnection yet but as soon as threads are
      introcued.

commit 9176598b2abdf3b63b4901d8c0078619f061e6fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 5 09:07:45 2013 +0200

    FIX: GLMoleculeObject_atom just stores the atom's id, now ptr.

commit beadd01e38c8b43b7e036136cab8a85e047de252
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 3 09:39:17 2013 +0200

    Changed atom ptr into atomicId_t param for atomInserted of GLWorld... classes.

commit 8481f580f7eafc0b13e6e68cdf89b543f83e98aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 03:54:14 2013 +0200

    FIX: Using signal/slots to notify other thread of new or removed shapes.

commit 426c84a415b29a155261d7224c8f698650cc6903
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 29 11:23:47 2013 +0200

    QtStatusBar::updateProcess() replaced by signal/slot mechanism.
    
    - updateProcess() added QProgessBar() widgets which can only take place in
      main thread, but notify comes from ActionQueue's thread. Hence, we relay
      the information via signal/slot redrawProgressBar()/updateProgressBar() to
      main thread and instantiate there.

commit c48ac1290c8158fe203be41e994bd8fa2178c69f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 29 10:19:44 2013 +0200

    FIX: GLWorldScene and GLWorldView have atomRemoved with id not atom ptr.
    
    - this is safer as we only need the id for looking up the internal "visual"
      instance of the atom. As Qt uses multiple threads, we cannot safely assume
      the atom to be still intact.

commit 33b8983dbbbc2c5af260fd0fd4709de6a47d21a4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 18 13:06:25 2013 +0200

    Set version to 1.4.3.
    
    - MoleCuilder library is now 13:2:0.
    - Codename "Bulli" (The license tag of my Volkswagen T3 Transporter, also known
      as Bulli, ends with A143).

commit 1f86ae18d49f602a573385a845d293ed8c826710
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 21 10:58:04 2013 +0200

    ENABLEFIX: load-session and store-session regression check for available python.

commit 4d4cafa7f1c19b18da8be3dde454b789e92177e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 18 16:18:08 2013 +0200

    DISTFIX: Did not delete csv files PartialNucleiChargeFitterUnitTest created.

commit 27888fd60fedb9daf1311f4503c4ecb04ae30759
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 04:02:15 2013 +0200

    Using Normals from tesselated surface instead of from Shapes.
    
    - getNormal() takes veeeery long with deeply nested Shape trees.
    - added Tesselation::getNormal() which uses TriangleIntersectionList.

commit 00eda9da5503b663ee6b898ab261d17eab2c11a5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 09:22:30 2013 +0200

    Added ShapeFactory::isBaseShape() to discern between BaseShapes.
    
    - this is preparatory for using faster Tesselation::getNormal() in case of
      complex shapes.

commit 192397f7c7c017c6f012ced671581ff383e40805
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 01:20:49 2013 +0200

    Added new ShapeType molecule-surface.
    
    - uses getBoundingShape() of the first currently selected molecule.

commit 87ec81f6e60598c7e8637c2750404253a7eca9cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 18 01:16:06 2013 +0200

    ShapeFactory removed from libMolecuilderShapes.
    
    - Factory is right now required only in CombineShapesAction and
      CreateShapeAction. Hence, it is moved over to libMolecuilder to keep
      ..Shapes a low-dependency lib.
    - ShapeRegistry::getDefaultNameForShape() now gets just string, ShapeFactory
      is queried in Actions for getShapeName() as baseName.
    - added stubs for World and molecule to ShapeFactoryUnitTest deps.

commit d5521ec47036e20ef0dfe57aec18003d342c314b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 18 00:53:14 2013 +0200

    FIX: Made most ShapeFactory member function const.

commit aeb694227d3848882de4976f319b2eb7e6297cc4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 01:18:46 2013 +0200

    Added molecule::getBoundingShape() (renamed old to ...Sphere()).
    
    - renamed molecule::getBoundingShape() to molecule::getBoundingSphere().
    - new molecule::getBoundingShape() creates vdW spheres around every atom.
    - for this to be any fast we require the Cacheable change for And and OrShapes.

commit f06cbbd0ffb9f2476a37d5af669cdc32dd308a69
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 00:32:37 2013 +0200

    AndShape and OrShape now use Cacheable to store center and radius once calculated.
    
    - otherwise we might have to traverse a huge tree all the time when actually
      the shape cannot change and hence a once determined center is always true.
    - getRadius() and getCenter() functionality moved into private functions
      calculate...().

commit 52bb5a99c91e2e977aea6fe39084349ec92a2fd2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 01:20:34 2013 +0200

    Added clearing flag to QtHomologyList.

commit 4d66627bd22f642f736d2f03af63dde74d965b5c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 03:54:14 2013 +0200

    FIX: Using signal/slots to notify other thread of new or removed shapes.

commit 95c4e242ca2f9694286ebe872d2d237de75676df
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 02:43:33 2013 +0200

    FIX: ApproximateShapeArea::operator() needs to set the number of TesselPoints.

commit 25e18e727bd932c0ac8c12fd098591452958c229
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 31 01:20:09 2013 +0200

    FIX: Required qRegisterMetaType of bond::ptr.

commit 12d9463862236e5b7d2eea2ecec7ff75f6961518
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 17:00:46 2013 +0200

    Implemented LoadSessionAction.
    
    - this it also used in builder_init.cpp.
    - added load-session to tokens not stored in ActionQueue::outputAs...().
    - added regression test which loads a stored action and stores again to
      compare the two scripts.

commit 7e3f11ae21f8142c4998712a6634b9468483553b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 17:18:05 2013 +0200

    Moved PythonScripting into own folder and created convenience library.
    
    - this is preparatory for creating load session action.

commit 99283958e02e707947696333c8b94bf19a5fbefe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 16:42:52 2013 +0200

    Added more complex python example to regression test of store session.
    
    - fixed output of Actions as python script.

commit 8934261d0822b09d987a7630d515d95cfe3418bf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 16:41:24 2013 +0200

    Split regression test testsuite-options-store-session in two files.
    
    - added more complex regression test for CLI.

commit 9e4655500721048fec335b47c379e3d3d14e80ae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 10:36:16 2013 +0200

    Added sessiontype option to StoreSessionAction.
    
    - added SessionTypeValidator to allow only specified types: cli, python.

commit f6ff2169ca4a21d07e0bda37ee2c0d98907f060d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 15:39:55 2013 +0200

    FIX: Removed " " around every printed parameter.

commit 27d0bc944422b4ca893be6927189a8ba5daf55cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 15:40:34 2013 +0200

    Extended and fixed toCLIString for RealSpaceMatrix, element and vector<>.

commit 477012eeadb741f0b02108f075e80b73e227d16a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 26 10:23:15 2013 +0200

    Added Action::outputAsPython() and ActionQueue::outputAsPython().
    
    - these work in exactly the same way as outputAsCLI().

commit 9b56f345faf73985829573ec6c7426dd30fb194c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 23 18:53:06 2013 +0200

    ActionParameters need special format when given to CLI.
    
    - introduced toCLIString which converts some parameters types to the required
      format, e.g. Vector as "x,y,z", ...

commit bad5892f291d8daf3db1451bbb7b43e57a1b3f40
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 23 13:50:41 2013 +0200

    Added StoreSessionAction to store the current session to file.

commit 46b181b75fcf35315b1a48e596f52f7cf2388766
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 23 10:18:43 2013 +0200

    Added Action::outputAsCLI() and ActionQueue::outputAsCLI().
    
    - prints sequence of Actions along with their options.

commit 76096d54add38ae24a29f974d65800c56758f43d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 22 12:48:24 2013 +0200

    FIX: Several fixes found through CppCheck.
    
    - strncpy does not always cap with \0.
    - mismatch in new[] with delete.
    - division by zero.
    - NULL pointer not checked.

commit f54cda477802ae5ec4ae53e98479ad5c92509535
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 21 11:27:08 2013 +0200

    Action::call() is private, replaced by ActionQueue::queueAction().

commit c5177fc1abe30809af520585c3dafaeb40c58d72
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 21 10:14:55 2013 +0200

    FIX: Reaction's hasResult() and getResult() are const member functions.

commit 05c989b2c5a0fad290a2f158e8dda3a68536b74f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Aug 20 22:31:52 2013 +0200

    Actions are now called through ActionQueue.
    
    - Action::call() is protected.
    - ActionQueue has queueAction().

commit 126867e41577a53118ca21e8dde789662b21454b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Aug 20 17:45:30 2013 +0200

    Actions no longer register themselves, ActionQueue::addAction() introduced.
    
    - eventually, Actions should be constrained to the ActionQueue alone. They
      may be created externally but their control has to be delivered to the
      ActionQueue.
    - Hence, we reversed the registering process: Actions do not register
      themselves with the ActionRegistry but as almost all are created in
      ActionRegistry::fillRegistry() they are registered there as well.
    - Actions cstor and dstor are now protected, ActionRegistry is friend.
    - Action needs to befriend Registry<T> and ActionSequenceTest to grant
      access to dstor.

commit d649b7b2e188ba0fcc502541e95e742d7f2182da
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Aug 20 11:33:29 2013 +0200

    Added functor getLastPosition, extracted from ActionRegistry.
    
    - this function had been placed in ActionRegistry only for convenience because
      of direct access to all action tokens. However, it is more sensible to place
      it with the menus.

commit 6367dd4c64d4b033c174ad1c6226bf1e34ef0e7c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 19 18:17:07 2013 +0200

    ActionHistory now is part of ActionQueue.
    
    - TESTFIX: changes to Actions unit tests due to ActionHistory inside
      ActionQueue.

commit b5b01e75eba142a4c305c63d6f27f45719579a8a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 19 21:04:10 2013 +0200

    ActionState extracted into own header file, rename Action::state_ptr -> ActionState::ptr.

commit f92ef36b5fb2e4dd1eed1ab53654e17ab68edd8a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 19 18:10:33 2013 +0200

    Extracted ActionParameters into own header file.

commit ed3944d8a46265408007f347cca94a107a2004bf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 19 18:12:47 2013 +0200

    ActionQueue contains now ptr to ActionRegistry to allow forward ref in header.
    
    - SubgraphDissectionAction needs include ActionRegistry.
    - ActionNameValidator requires ActionRegistry include.

commit d67e6c3fceea9fce7e3a02f7831f1bb98122f0c2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 19 18:17:22 2013 +0200

    FIX: Changed inclusion guards of Fragmentation/defs.hpp to allow for other defs.hpp.

commit 671a47d7a4422b297089df4a7d6610ff45396d94
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 19 13:12:01 2013 +0200

    FIX: Converted Helpers/defs.hpp with dos2unix.

commit 40ec38eaf168d2a535da80758418e0f6cb3348b3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 19 12:59:03 2013 +0200

    FIX: AnalysisBondsUnitTest did not check numbers numerically.

commit 0c8056d9293d313cfa38b28df33256e0a68da0b6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 16 14:56:15 2013 +0200

    Actions now get ptr to ActionRegistry in cstor.
    
    - this is the last of the externally present getActionRegistry() calls.
    - also changed: Calculation, ErrorAction, ManipulateAtomsProcess,
      MakroAction, MethodAction, Process, Reaction. Some of these had default
      of doRegister but are only used with false. We removed any default
      value in header if set to true. However, this will cause default
      behavior of false (as Action has default NULL for ActionRegistry ptr).
    - purged some unnecessary ActionRegistry includes.

commit a6ceab4933015c9172ad635e7d938f944fc8e4e4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 16 14:55:52 2013 +0200

    FIX: ActionRegistry's function now get ref to token string.

commit 690741f440dd11d80473492d65b155ecd85e1aac
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 16 13:47:48 2013 +0200

    Added getListOfActions() and getActionsTrait() to completely wrap ActionRegistry.

commit 1d3563e3cf6937663297eb9e5e881d34105948a0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 16 13:15:29 2013 +0200

    Main functions of ActionRegistry are now tunneled through ActionQueue.

commit 6285776145c5bb3604f2a9b1387bdcc7c69c1ffe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 16 12:32:17 2013 +0200

    Introduced ActionQueue which contains internal ActionRegistry.
    
    - ActionQueue inherits ActionRegistry' singleton status.
    - replaced all occurrences of AR::getInstance() by wrapper through AQ.

commit 732507a66f06cdb7ee33bb570a5330d47136cf86
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 17 15:11:19 2013 +0200

    SpecificFragmentController now contains template ResultContainer.
    
    - Results are received as soon as possible (so far we waited until all are
      done).
    - Results are converted directly and stored in map with JobId's with specific
      result type internally.
    - NOTE: each specific controller needs to implement a getter, the member
      variable of the ResultContainer type and the virtual waitForResults() which
      just redirects to ResultContainer::waitForResults().

commit 1e5f84ce94f29fff4ebdda1cb9c720a6e2825685
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 26 15:56:14 2013 +0200

    FragmentationAutomationAction does long-range jobs now depending on boundary conditions.

commit f6c19d6c9eff8d0155c782c22a09f19969950170
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 1 16:37:54 2013 +0200

    InterfaceVMGDebugJob now also uses optionally open boundary (FAS instead of CS).
    
    - VMGDebugGridJob has parameter OpenBoundaryConditions.
    - VMGDebugGridFragmentController uses parameter when instantiating
      VMGDebugGridJobs.

commit ee9018c3463e8d8c1eacc73f29fda8d4a292de41
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 15 21:03:31 2013 +0200

    InterfaceVMGJob now may also use open boundary (FAS instead of CS).
    
    - so far, according to Julian, only order 2 is implemented correctly.
    - we choose between open and periodic boundary conditions by a parameter in
      VMGJob.
    - VMGFragmentController uses the parameter when instantating VMGJobs.

commit d9d0286d1e3997868fbb57574dbef459385ff633
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 26 14:24:17 2013 +0200

    FIX: addGridOntoWindow() now working, too.
    
    - with this open boundary calculation runs through smoothly, including all
      asserts do not fail. Also, we did check the sampled density on the grid.
    - results are not checked so far, but accuracy is according to Julian only
      second order. Hence, we must not expect too much.

commit 27ef5c8fda91dce853e22a98622b7be5fdac7445
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 26 14:24:07 2013 +0200

    Density is now correctly written onto grid with both periodic and open boundary condittions.

commit e8e472bbcf915bdb235ef87c216a319d486f7988
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Apr 14 21:24:30 2013 +0200

    Changes in VMG interface.
    
    - discretization schemes moved from samples/ to discretizations/.
    - PrintStringOnce now replaced by more general PrintOnce with "Debug" level.

commit 049d4a062a516272610064d56b90233235ec2ed0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 15 10:24:45 2013 +0200

    FIX: libMolecuilderUI's dependencies are now completely satisfied.
    
    - we checked all shared libs it depends on and brought them in correct order.
    - molecuilder, molecuildergui, and controller's LDADDs changed accordingly.
    - FIX: libMolecuilderJobs's Makefile.am lacked the usual comment stuff at
      the end which resulted in undefined refs to VMGJob. Missing version info
      seemed to be the culprit.

commit 134f43305382e5e8c904311cde287a752200cb61
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 5 11:37:34 2013 +0200

    Set version to 1.4.2.
    
    - MoleCuilder library is now 13:1:0.
    - Codename "1-4-2-1" (has been the military doctrine of the United States of
      America up to 2005).

commit 938e62b7ece095dd8243e5f57eec67d4498e71d1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 7 15:17:37 2013 +0200

    FIX: libMolecuilderPotentials.la is always compiled, we just remove levmar dependent portions.

commit 93909a7460f68cd42e7d53e3dd1aed8536e917a9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 7 14:10:12 2013 +0200

    FIX: --with-Qt-bin no longer overrides --disable-qtgui.

commit f5724f5e9fef76b193afb7727d363143bd251f59
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 26 11:08:31 2013 +0200

    Moved all FragmentationActions related to potentials into own menu and folder.
    
    - changed class names Fragmentation... -> Potential...
    - changed tokens in GlobalListOfActions.
    - added menu entry "potential" and CommandLineParser program_options variable.
    - moved regression tests into own folder as well and renamed folder in files.

commit 24e19e3732c3b328e2dbbbaf50c6c4c8687833ea
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 7 15:19:25 2013 +0200

    FIX: Have configure.ac create tests/Python and JobMarket, otherwist dist-targets fail.
    
    - we remove Python via CONDPYTHON inside tests/Python/Makefile.am.
    - similarly for JobMarket.

commit 353326a20d3df89dedb94b680eb07bcfc298472e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 5 15:36:27 2013 +0200

    FIX: Changed LIBADDs and LDADDs to get rid of libtool patching.
    
    - with the new ubuntu version libtool is told not to pass through dependencies
      in a hierarchy of shared libraries. Thus, we have been using a small patch
      to tell libtool to pass nonetheless.
      However, this is not necessary if the structure is slightly changed:
      - cleanUp now resides with libMolecuilderUI.la instead of molecuilder and
        molecuildergui directly
      - added LIBADD to libMolecuilder.la with libMolecuilderShapes.la
      - fixed some unit tests LDADDs

commit 474c62deebfabdc712380d9ca33ebb5282cd5906
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 16 08:22:27 2013 +0200

    FIX: Typo in FragmentationAction.

commit 57ba6fcfa4b03d95eda13011e53cc526c20e8ecd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 15 18:37:53 2013 +0200

    FIX: Value's ConvertTo< std::vector<T> > did convert empty strings to non-empty vectors.

commit 3214709df996960491949bad946226a294270b56
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 12 16:59:19 2013 +0200

    FIX: Fragmentation's OrderAtSite was written per molecule and with local ids.
    
    - introduced global_local_bimap in Fragmentation::FragmentMolecule().
    - ParseOrderAtSite and StoreOrderAtSite need to use global ids.
    - StoreOrderAtSite now appends.
    - FragmentationAction removes OrderAtSite file for the moment. Probably,
      we should get rid of it.

commit 3e93bd4204b956fb44da8f6b8b768cda6e828e3e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 12 16:57:22 2013 +0200

    FIX: SetOutputFormatsAction fails on unknown parser type.

commit abb641eace4a9131e4c6e3ab8972ff6bb7d6c48b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 23:19:24 2013 +0200

    FIX: AdjacencyList missed atoms without bonds.
    
    - this caused an arbitrary number of argon atoms to have just a single
      fragment.

commit d067e3500b59c6bea66d3ea460c923da9c9086e3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 22:54:06 2013 +0200

    FIX: World asserted greater not greater equal LC distance.

commit d7e9318a71ee1700ffae3775ae4ec0a8785ffe0d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 20:14:30 2013 +0200

    Added Timeline slider to QtMainWindow.
    
    - this allows quick setting of current time step and uses SetWorldTimeAction.

commit 89b992fa98bcc9ed385d092a07b3c218334d009f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 21:28:02 2013 +0200

    GLWorldView now listens to World::TimeChanged() and updates view.
    
    - GLMoleculeObject_atom also listen to World::TimeChanged, required such that
      positions are updated, too. (Bonds are re-created, hence automatically
      updated).

commit 2a8731721dffb8aa172636a284f1a9a2e8703933
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 21:26:05 2013 +0200

    World now has channel TimeChanged.
    
    - FIX: SetWorldTimeAction uses now World::setTime() not WorldTime's such that
      observer event is caused.

commit cd9a59630f7c8b695bbb4c2e53b0a441f7c5f2a7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 20:13:55 2013 +0200

    Added TrajectoryChanged channel to atom_observable.
    
    - this lets us know when maximum trajectory size has changed.
    - AtomObserver relays channel TrajectoryChanged.

commit 13c5c1add745c03a4de0dc870f83c26b026fb705
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 5 10:52:38 2013 +0200

    FragmentationAction uses Interfragmenter to add non-bonded fragments.

commit 0331ee67517aeb31a2ec94499de1284c95285f83
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 5 10:52:08 2013 +0200

    Added functor to add non-bonded union of fragments.
    
    - this is done by going through all keysets created so far and placing
      pair-wise two into a new fragment that are within a given distance.

commit c1353f53db027701e4d18054e824c4ab6bfd6ef0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 5 13:05:10 2013 +0200

    Added AtomIdSet cstor that converts from a KeySet.
    
    - as this requires only KeySets header file, there are no dependency links.

commit 6550cffc4643c04ad39b40da4e480915e57ea95b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 16 09:01:20 2013 +0200

    Added regression test for harmonic_bond potential.

commit ff90e3b5105b9e17f01d56ddedd8e895bf4d529a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 16 09:02:26 2013 +0200

    Renamed potential token harmonic to harmonic_bond.

commit 791a1267512a1feef8dcf3d7a6835d27341ed0ef
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 10 15:47:38 2013 +0200

    Added improper potential based on torsion potential with flipped arguments.
    
    - added unit test.
    - also added regression test to improper potential, is set to XFAIL for the
      moment.

commit a74a9626b6ee2a91ad83f23859d11cf48766d51b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 10 15:24:53 2013 +0200

    Made function_theta of FourBodyPotential_Torsion virtual.
    
    - also default cstor is now just protected, not private.
    - this is preparatory for improper potential.

commit e2037e5d443e6ac456d3cbf14b2e4127a4bbd7a6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 8 09:37:04 2013 +0200

    Added FourBodyPotential_Torsion.
    
    - also added regression test to torsion potential.

commit 484e2ac103bbd121925bede487af209b526f8d12
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 8 09:20:55 2013 +0200

    Renamed PairPotential_Angle -> ThreeBodyPotential_Angle and also UnitTest.

commit 1413f4555b944ca972d0d485541e58d325f62feb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 5 10:12:49 2013 +0200

    Added LennardJones pair potential.
    
    - this is for later fitting between order-1 fragments.
    - also added regression test for LJ fitting.

commit 4792ab92082785a79b5b75b4d915318cfcce1211
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 5 10:02:55 2013 +0200

    Added set-threshold option to FitPotentialAction.
    
    - TESTFIX: regression tests fit-potential for morse and harmonic_angle now
      expect L2 error to be below 1e-6 instead of doing 5 runs.

commit af4318055e87f2e2ad453824e664b6e3e99e56ac
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 5 09:47:22 2013 +0200

    Implemented GenericValidators.

commit c4a32355115c344281807a20f6f7992f85eba727
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 4 00:11:56 2013 +0200

    Added FitParticleChargesAction for fitting partial nuclei charges to electrostatic potential.
    
    - right now just fits to first found potential of specified homology.
    - checks HomologyGraph::value_t::containsGrids whether grids have actually
      been stored.
    - added regression test to FitParticleCharges.

commit e355b3198d825bb9c375781f753efe001a9585b8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 25 19:35:59 2013 +0200

    Added both_sampled_potential to VMGData, analogous to nuclei_longrange.
    
    - AnalyseFragmentationResultsAction sets both both_sampled_potential and
      nuclei_longrange from second set of longrange calculations.
    - we require the combined potential for fitting partial nuclei charges
    - fixed typo in testsuite-fragmentation-analyse-fragment-results.at

commit bf1d1bfb12b770ac6758bd32d657becf19aa5351
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 4 10:49:28 2013 +0200

    HomologyContainer now stores full struct as value to HomologyGraph key.
    
    - this structure does not only contain fragment and energy but also the
      sampled charge and potential distribution.
    - added version handling to HomologyContainer::value_t serialization.
    - added option "store-grids" to AnalyseFragmentationResultsAction.
    - TESTFIX: adapted HomologyContainerUnitTest such that new values are correctly
      constructed.

commit ff09f309bdcecdd5c2f8fb409678e75dd20e73dc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon May 13 21:16:51 2013 +0200

    Added Particle and ParticleRegistry class.
    
    - Paricle class contains among other partial nuclei charge information.

commit f60d95c3ae3cef9f355c1dae4c3b898b32e5c978
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 25 19:39:27 2013 +0200

    PartialNucleiChargeFitter writes potential, solution, and residuum to CSV files in DEBUG.

commit 58fcbe5782c0a7715965a667901d08d7cdb12447
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun May 12 13:13:40 2013 +0200

    Added functor for fitting partial nuclear charges.
    
    - is simply via solving the over-determined linear system of equations.
    - added unit test.
    - added basic idea to documentation.
    - has a masking threshold to leave out spheres around nuclei from fit.

commit 3f64ee311ead498edef41e035b4a7dac42c89258
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 17 12:02:19 2013 +0200

    Extracted SamplingGrid::getDiscreteWindowIndices() from SamplingGrid::addWindowOntoWindow().
    
    - this allows others to know when window starts and ends in discrete steps.
    - FIX: getDiscreteWindowIndices() needs to check for zero length for divide
      by zero.

commit b5f548234eb574273fd82f8e538f6da5bbb57be2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun May 12 13:07:11 2013 +0200

    FIX: Shifted all helper functions from SamplingGrid to ..Properties.
    
    - these functions just rely on member values of ..Properties and allow for
      using the properties as replacement to the full grid when its values (and
      the window) are of no more interest.

commit af2c7eca92c18ad6819b82c47ddde05418a2eb18
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 25 15:08:43 2013 +0200

    TrainingData now generates internal list of all arguments.
    
    - InputVector is now the filtered sequence.
    - TrainingData's cstor now expects filter instead of extractor.
    - adapted FitPotentialAction.
    - Extended TrainingData documentation on generation of all pair-wise distances.

commit 31a2be713e07dc687b818ae9ee543c96f5eb26c8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 26 11:03:51 2013 +0200

    FIX: Extractors::filterArgumentsByParticleTypes() did wrongly break on first found argument.
    
    - also added lots of staggered debugging output.

commit a633f6f92468ae6a65f931424a62c4ada2e13dc7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 25 14:49:26 2013 +0200

    Added splitUpArgumentsByModelsFilter() to CompoundPotential.
    
    - this function uses the FunctionModel's filter instead of doing it by itself
      via the particle_types.

commit 51e0e3079be933cbf6a3e3dc4a527a0575e2d1fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 25 14:41:01 2013 +0200

    Added two filter functions to Extractors.
    
    - renamed reorderArgumentsByParticleTypes()->filterArgumentsByParticleTypes().
    - added reorderArgumentsByParticleTypes() that expects arguments matching to
      given particle types and which reorders into matching bunches with associated
      indices.
    - added suitable combination of the two filter as each potential's specific
      filter.
    - had to add specific comparator for Particle_Types_t to allow flipped types
      in argument_map.
    - reorderArgumentsByParticleTypes() prints with enhanced toString.
    - FIX: Histogram did not use the pair-wise operator<<(). (this occured because
      of new operator<<(..,pair) from toString.hpp).
    - we enforce CodePatterns 1.2.7 now.

commit 0f5d38e3ab5cb4ea3ef27e9a7fab1d2a07dc2437
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 25 12:54:50 2013 +0200

    Added getSpecificFilter() and getSpecificArgumentCount() to FunctionModel.
    
    - implemented getSpecificArgumentCount() in all specific potentials.
    - added NoOp_filterfunction to Helpers.
    - enhanced Documentation on FunctionModel on new Extractor,Filter,Count system.
    - rewrote CompoundPotential::getSpecificExtractor() using
      Helpers::returnEmptyArguments() such that first model does not have to be
      treated special anymore.

commit f0025dc16b9694a6ef9ed71df894e00a0da74d0d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 25 11:29:54 2013 +0200

    Renamed getFragmentSpecificExtractor() -> getSpecificExtractor().

commit d449a911351285dfadb3bf83fce8de1f70c0d435
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 24 11:08:12 2013 +0200

    Split off parsing and saving of homologies into new Actions.

commit 1e1098614112b1d75c8d4c6e30e2cf32591c0286
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 24 10:51:34 2013 +0200

    Added table of all present HomologyGraph keys to QtMainWindow.

commit 98dbee850caead4ba8e84808ca18dad7c31efa86
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 24 10:51:05 2013 +0200

    World now maintains HomologyContainer instance.

commit bcc24f3331f404054b4559cb50752f58140b3dd0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 24 10:07:20 2013 +0200

    Made HomologyContainer observable.
    
    - added clear() and getNextKey() functionality.

commit a8bc27aa262cd21ec6c702198d225935b0a195c4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 24 11:23:50 2013 +0200

    FIX: HomologyContainer::getHomologousGraphs() is actually const member function.

commit 0afe00acdd8cd7a33fb300bb585b14cf33aced61
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 24 10:52:50 2013 +0200

    Extracted printNodes() and printEdges from HomologyGraph's output operator.

commit 39986ba34b823a245abb4d308816dbc0548aff90
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 23:39:59 2013 +0200

    Added new MakroAction MolecularDynamicsAction.
    
    - this resides within fragmentation, as we perform the four steps ...
     - verlet-integration
     - fragmentation
     - fragmentation-automation
     - analyse-fragmentation-results
     ... for a given number of times, using ActionSequence::loop with steps.
    - outputs after every time integration step, controlled via DoOutput option.
    - action only instantiated if HAVE_JOBMARKET.

commit 9c1324fae3f2f64ced647028e764fc50c0b40370
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 11 23:39:02 2013 +0200

    Equipped MakroAction with some boost::preprocessor magic, ActionSequence with loop.
    
    - ActionSequence now has a loop integer specifying how often the sequence is
      repeated. This is required to have actions in a loop but each of them
      generate their dialog only once.

commit bcb59318252793f08bc2b15503ba6a7588e19614
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 18 16:35:36 2013 +0200

    FIX: VerletIntegrationAction now assumes forces have just been calculated.
    
    - according to Wikipedia's Velocity_Verlet info, we first integrate position,
      then calculate forces, then integrate velocity. This assumes that forces
      based on next time step's position are already known. This is possible when
      parsed from file but not if they are calculated dynamically via
      fragmentation.
      Hence, we now integrate velocity from last time step to current, then
      integrate position from current time step to next. Then we are in the
      position to calculate forces and do this cycle again.
    - for this, VelocityVerletUpdate was split into ..X() and ..U() for independent
      integration of position and velocity.
    - VelocityVerletIntegration::operator() now first corrects forces, then
      integrates velocites, corrects them too and finally integrates positions
      according to the above new scheme.
    - removed option MDSteps from VerletIntegrationAction.
    - TESTFIX: Had to change regression rest on VerletIntegration since the
      cycle sequence has changed. It was nonsense before to have the forces
      already in some file respective to future position that actually first need
      to come out of the time integration.

commit 11f0fa19d8254edfe8f5b0654094d3e0eb6a2fb6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 18 16:33:06 2013 +0200

    FIX: Newly created atoms must have trajectories reaching out till CurrentTime.
    
    - this became apparent when fragmenting on next time step in molecular dynamics
      run because atoms in hydrogen pool did not have fitting trajectories.
    - now, newly created atoms have automatically trajectories extended till
      CurrentTime.
    - also, HydrogenPool makes sure that hydrogens used from pool are up to date.

commit f733513b672b8d8f635d8b1e9fe875de373f2220
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 18 16:30:52 2013 +0200

    FIX: Some Thermostats would cause NaN on zero temperature.
    
    - Berendsen and Woodcock divide through OldTemp which may be zero (because
      initial velocities are zero). This is now checked.
    - also, default thermostat is now NoThermostat.
    - NOTE: We lack an action to choose a thermostat but this needs some
      refactoring of the thermostats which are still based on being read from file.
    - TESTFIX: Adapted three regression tests where pcp files were stored that
      contained still reference to old default Berendsen (with parameter 2.5).

commit e5ebafc2d28549321aedb27389ec259195288019
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 18 16:29:50 2013 +0200

    Forces obtained from fragmentation summation are now set.
    
    - i.e. they are placed in AtomicForces for the corresponding atom.
    - extended regression test on AnalyseFragmentationResults for this.
    - IndexedVectors now has getter for the vectors.
    - AnalyseFragmentationResultsAction writes forces only when full molecule is
      loaded.

commit ec5d0cafc08b094a6b6c0df8e0c0179cd7cd4bf0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 4 15:08:01 2013 +0200

    Set version to 1.4.1.
    
    - MoleCuilder library is now 12:1:0.
    - Codename "Root of two" (is 1.41421...).

commit 62164d240a3e50359a393701033e47450c38383f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 2 13:15:48 2013 +0200

    Writing final parameters to potential-file.

commit a315e80cd5cd922cd49fb50f0c1889a91ec2f54f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 26 20:33:00 2013 +0200

    Potential type is given via extra option not "fit-potential".
    
    - also "potential-type" is optional and "potential-file" can be given as well.
    - added EmptyStringValidator.
    - TESTFIX: Regression test FitPotential adapted to option "potential-type".

commit a504946fdb561f94b5e1a4e97ea9af85175ca2fd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 11 14:07:24 2013 +0200

    Training data can now be written to optional file.

commit 49dcf79ed25e2ebdcaf9da20d662768b4518a9d8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 26 20:32:35 2013 +0200

    Added catching of SerializablePotentialException in FitPotentialAction.

commit baccf631d831c6d19bca920b5838a840eebd19f5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 10 09:11:56 2013 +0200

    FitPotentialAction now uses new CompoundPotential to fit.
    
    - PotentialDeserializer and PotentialSerializer convert given file.
    - TESTFIX: Modified expected values for morse potential and decreased checked
      accuracy of values to two decimal places.

commit 7c10913cd7643f0bb610d97273b66628c8faa10d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 21:25:45 2013 +0200

    Extended CompoundPotential for multiple occurences of argument bunches.
    
    - added HomologyGraph::hasGreaterEqualTimesAtomicNumber() has model might have
      multiple matching arguments within a single fragment.
    - i.e. when there is more than one argument bunch for a given model. Hence,
      we check the stream whether upcoming arguments match current and next model.
      Note however that models are not necessarily sorted by particle_types' size.
      Hence, we must trick a little and need a specific map comparator.

commit c5e63a4efcf5739f8379980891648d24490fe8c4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 20:28:37 2013 +0200

    Added De(serializer) functors for instanting potentials from stream info.

commit 3723f0805f3ddd3c3d5a1197506c46757b6e80c5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jun 13 22:18:46 2013 +0200

    FIX: SerializablePotential prints no comma following empty particle_types.

commit 6d907385ac8eceb48c9692020806b111f81902d5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 3 20:32:15 2013 +0200

    FIX: SerializablePotential::stream_from() wrongly used string::substr().
    
    - it's (start, length), not (start, end).

commit b3b31ecfac90f3a0fbe737492917861e9b2d8eba
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 20:27:51 2013 +0200

    Added PotentialFactory::createInstance() that uses default cstors.
    
    - potential parameters are obtained via stream_from().

commit a82d33381eb6fa98aed401b5e0172ddb5ed419cd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 26 20:39:51 2013 +0200

    FIX: Default cstor of specific potentials did not allocate parameter vector.
    
    - is used by PotentialFactory and would seg'fault on subsequent parameter
      filling via stream_from().

commit 71388836b9daa739805b93ed613c1c1785657f34
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 20:27:17 2013 +0200

    Made PotentialFactory friend of all specific potentials and added default cstor.

commit acc9b1ebaee95e62992bddb79f960cb80ecec896
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 16:19:26 2013 +0200

    FIX: Added new copyright lines to files in src/Potentials, too.

commit b15ae7df09e29e830aec7a4585ac803e49f52f95
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 15:49:29 2013 +0200

    Removed energy_offset from ManyBodyPotential_Tersoff.

commit 1e242a700060cc26606c643f8bfde5d800c74feb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 15:46:01 2013 +0200

    Removed energy_offset from PairPotential_Angle.
    
    - regression test FitPotential with harmonic_angle potential marked as XFAIL.
      This is required until we use new CompoundPotential in FitPotentialAction.

commit 065a166e8270c209a6856384a3165d9e6efb158c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 15:43:29 2013 +0200

    Removed energy_offset from PairPotential_Harmonic.

commit 919c8acc3b19bf772f6ac853501e11ddf465eb74
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 15:40:51 2013 +0200

    Removed energy_offset from PairPotential_Morse.
    
    - regression test FitPotential with morse potential marked as XFAIL. This is
      required until we use new CompoundPotential in FitPotentialAction.

commit 1e565c9478a7e3527b250a22ec862d09d6be59ff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 15:35:50 2013 +0200

    Removed SaturationPotential.
    
    - SaturationPotential can be seen as a precursor to CompoundPotential and
      with the latter in effect has no more reason to be present.

commit 7e5b948dfcdf3cb9788af021b64481bb1fd5d746
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 15:21:58 2013 +0200

    CompoundPotential now combines ConstantPotential and PairPotential_Morse successfully.
    
    - we set PairPotential_Morse::energy_offset to 0 as default value, but we need
      to remove the offsets fully from all potentials.

commit cf490596aa095354fadee6f22fe748155d8907b7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 14:15:43 2013 +0200

    Added concatenateArguments to Extractors.

commit 8203ce8c8111c1436927aeed91f2ccf0f8098b1e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 13:02:28 2013 +0200

    Added ConstantPotential to fit a non-zero offset in potential energy.
    
    - also added ConstantPotentialUnitTest.

commit 060e1edada88a5af82c8bf5d9876db51fcac57a7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 14:16:33 2013 +0200

    Created AllPotentialHeaders.hpp from specific potentials headers in Makefile.am.
    
    - this is copy&pasted from AllActionHeaders.hpp.
    - so far, the potential is explicitly listed in
      PotentialFactory::createInstance(), hence we are not safe from harm, yet.

commit 154e88d6d6cb3f0007aab8009f1e97262d02e3fa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 8 11:52:25 2013 +0200

    Added CompoundPotential as container for multiple FunctionModels.
    
    - added unit test that uses libMolecuilderFragmentation_getFromKeysetStub.la
      as HomologyGraphUnitTest. Hence, we are not dependent full libMolecuilder.
    - so far, we simply test with a wrapped PairPotential_Morse.

commit 2bde72f96c32ee086640c592c1e1c843c1e21b8a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 8 09:20:12 2013 +0200

    FIX: Removed CodePattern/Assert include from various PairPotential headers.

commit 85dee9a8a979a838d992f1660e7b61e73179635d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 8 08:06:41 2013 +0200

    FIX: regression test FitPotentialAction was always skipped.
    
    - we did not correctly check for present action fit-potential. Now, we check
      whether help is available.

commit 3536a5f223857f43bd102e13e430da44368828a1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 09:24:23 2013 +0200

    FIX: Tiny fix to FitPotentialAction with static_casts.

commit fdd23a235ac3c5a5205c12970a6d60ccf0ee8a21
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 8 08:01:42 2013 +0200

    EmpiricalPotential now inherits/combines FunctionModel, SerializablePotential.
    
    - both PotentialRegistry and ..Factory hand out EmpiricalPotential refs.

commit a953c4d897ddbb6989b46310e65dcd96063ceab4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue May 14 14:42:00 2013 +0200

    Using priorizing of jobs.
    
    - we now require JobMarket 1.1.4.
    - FragmentJobQueue::parseJobs() sets job priority from number of lines.
    - ExportGraph_ToJobs::operator() sets job priority from number of keys.

commit 5f0c609692539b4f4d209f51ee93f95aa9c7092a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 26 20:37:57 2013 +0200

    FIX: SerializablePotential::stream_from(), several fixes.
    
    - equalitysep with tokenizer would have required copying string. Hence, we
      simply copy and split via string functions as there is only one equality
      sign.
    - particle types index was off by one.
    - SetParticleType() did not check whether we actually needed to resize and
      was off by one.

commit bbc422512d336a69e8614142eb1a04fdf59a0648
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 25 11:30:44 2013 +0200

    FIX: Renamed arguments in PairPotential_Angle to make proper sense.
    
    - this does/should not change functionality in any way.

commit e352cb411d3d37b2e64669a2c6fb6ef5c45067d8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 25 12:55:46 2013 +0200

    FIX: PairPotential_Harmonic did wrongly use to ..StrictOrdering in checking particle types.

commit bb1f3f60d49d56b4c09738d0341f8bce12cf1556
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 26 15:29:17 2013 +0200

    FIX: Removed doubly present inclusions from Extractors.
    
    - these are present since 64bdfd9.

commit 4b8ab769318fdd80a2740b966fa37ae0982c6c2f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 3 16:04:13 2013 +0200

    FIX: Histogram did not use the pair-wise operator<<().
    
    - his occured because of new operator<<(..,pair) from toString.hpp.

commit 503c0279e27da21d59e2fe78b200c906e5c5a1e2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue May 14 15:27:41 2013 +0200

    FIX: We used qrc outside CONDQTGUI brackets in data/icons/Makefile.am.

commit 172b6de4ac8a922c1ce7f5b49cf6def5942c2551
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 5 16:30:49 2013 +0200

    FIX: Disclaimer of molecuilder on command-line shows new copyright, too.

commit 26249fb69582ecfbb374c713e7f0ad9cf4e96ff3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 16:20:32 2013 +0200

    FIX: Fixed new copyright line since start of 2013 in CodeChecks test in LinearAlgebra, too.

commit 5aaa431c127bd1ea184be89ef28adcd229f6d96c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 9 16:14:57 2013 +0200

    FIX: Fixed new copyright line since start of 2013 in CodeChecks test.
    
    - we must look for either Uni Bonn or myself.
    - added second copyright line since from 1st of Jan 2013 I am not employed
      by University of Bonn anymore, hence changes to the code are my own
      copyright.

commit 87d6bd78e6824d834fbfdaa85f023c5da985904a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon May 6 23:33:49 2013 +0200

    FIX: Fixing several clang errors such that we may safely use the compiler.
    
    Changes:
    - clang does not like execeptions as pure forward declarations.
    - clang does not like AtomTypes[MaxTypes] with MaxTypes being dynamic.
    - clang does not like cppunit to have no operator<<() for std::sets (it though
      finds the ones for std::vector?), it cannot use one from toString.hpp as it
      is declared afterwards (although before instantiation site).
    - clang does not tolerate inheriting from a protected member class TQuery.
    - clang does not tolerate shadowing of a variable inside a for-loop (i.e.
      declaring variable in loop body with same name as e.g. loop variable).
    
    - clang compilation ran through after these changes without a single failing
      test.

commit 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 11 15:15:04 2013 +0200

    Set version to 1.4.0.
    
    - MoleCuilder library is now 12:0:0.
    - Codename "Vierzehn" (German for fourteen).

commit 661d2d3ce0a5613629e4086605fe6934191a29c3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 18 20:51:21 2013 +0200

    FIX: Replaced BOOST_LDFLAGS by flags specific to boost serialization and system.

commit 48d20d12c40193473e911ec536adb1dfb3d14bff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 9 09:44:29 2013 +0200

    Added new action FitPotentialAction to fit empirical potentials.
    
    - moved functionality from levmartester into new Action.
    - removed levmartester.
    - needs both enable-levmar and path to libs/include with-levmar. This allows
      checking as distinct enable switch.
    - added regression test Fragmentation/FitPotential for morse and harmonic_angle
      fit to water molecule. Using awk to check on L2 error.
    - added take-best-of option such that fits is done as many times and best (in
      terms of l2 error) is used. This should make regression test FitPotential
      more stable (right now we take best of 5).
    - DOCU: extended construct documentation due to new PotentialTypes construct.
    - DOCU: made construct lists items appear alphabetically.
    - DOCU: extended installation documentation with VTK and levmar.
    - DOCU: also URLs for scafacos, VTK, and levmar.

commit 57f14c9b30bd737681a0792dea763fb79e3b0be1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 1 09:42:37 2013 +0200

    FIX: Extractors::_detail::convertElementcountsToTargets() complains openly when element has not been found.
    
    - this helps when potential-charges in FitPotentialAction have been wrongly
      given or when DoValenceOnly plays foul.

commit f7ce2b4ed7b470fa35fec3474470f1ed5e664e56
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 1 08:31:54 2013 +0200

    FIX: HomologyGraph::operator<<() did print last comma, too.

commit 24ac59f8087402366f826c725d203999e0bb3973
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 9 09:43:15 2013 +0200

    Added PotentialTypeValidator.
    
    - checks that user has entered a type name known to PotentialFactory.
    - depends on CONDLEVMAR to be compiled in.
    - pulls in libMolecuilderPotentials, FunctionApproximation, and levmar's libs
      if compiled in.

commit 931077e6683b526f794c57753ad3fa7e42f94a10
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 9 09:46:49 2013 +0200

    Using PotentialTypes in PotentialFactory.
    
    - used for creating the type to enum maps and inverse automatically.

commit a8666630270affc2ef51ac25940065a01e52a1bd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 9 09:46:35 2013 +0200

    Added PotentialTypes.

commit e2925fd7f1c9a7ab18fe71b5a40598b65ddb05dc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 5 17:09:16 2013 +0200

    Split long-range calculations into two parts to overcome E-N-potential problems.
    
    The general problem is that smeared-out nuclei charges cannot interact with
    electron charge densities as they always overlap, hence we always make a large
    error. The idea then is - as the potential energy is symmetric both
    densities - to flip from N-E to E-N, i.\,e. to take the electron potential and
    evaluate at nuclei positions instead of smeared-out nuclei charges with
    eletronic charge distribution. However, then we need to make two calculations
    for the four contributions: E-E, E-N and N-N, N-E (=E-N).
    - new enums SampleParticles_t eventually tells InterfaceVMGJob whether to
      sample the nuclei charges onto the grid or not.
    - TreatGrid_t tells InterfaceVMGJob whether to actually add the electronic
      charge onto the grid (this was added but is actually not required anymore).
    - FragmentationAutomationAction::performCall() now creates twice as many
      long-range jobs. This requires two variables in VMGData for storing
      integrated long-range energy: electron_long, nuclei_long, as both
      calculations are combined into a single VMGData instance per fragment.
    - Summation of long-range contributions is split into three instead of formerly
      two parts: electron (E-E), nuclei (N-N), and mixed (E-N). This allows to
      easierly check their cancellation. This needs new member in fusion map
      and name in printKeyNames.
    - naturally, the enums have to be passed a long way: VMGFragmentController,
      VMGJob, VMGData.
    - VMGData now has serialization version 1 due to new entry.
    - we enhanced documentation in FragmentationLongRangeResults::operator()() of
      how and what is summed per level.
    - FIX: InterfaceVMGJob::ImportRightHandSide() subtracted grid instead of
      adding it. Now, we set correct sign of electron charge distribution in MPQC.
    - TESTFIX: Regression test AnalyseFragmentResults now has short- and long-range
      part. Long-range part is only diff'ed when the compiled code has the
      capabilities.

commit 5281ff99623f1f5b7ed8ddd755f2d6daf60cc077
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 1 09:10:49 2013 +0200

    REFACTOR: extracted initLookups() in FragmentationLongRangeResults and ..ShortRange...

commit 7814081154ced1c27fae3a7fae5bc9f98b98e424
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 1 09:10:04 2013 +0200

    FIX: Added inline comparators for IndexSet::ptr, fixed IndexSetContainer cstors.
    
    - we simply use those of IndexSet.
    - this is important to allow IndexSet::ptr as (sensible) keys in maps.
    - IndexSetContainer created superset AllIndices only when instantiated from a
      KeySetsContainer, not when from SortedVector. Copy&pasted createSuperSet()
      for these cases. Sadly, all very similar but immense work to avoid the c&p.
    - this issue appeared because the inline comparators dereference IndexSet::ptr,
      hence uncovering that AllIndices is still NULL.

commit e4721d33628be79299075ae6aecaaaec2bf53f4a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 28 15:02:07 2013 +0100

    FIX: Average forces in InterfaceVMGJob only if there actually are some particles present.
    
    - otherwise we divide by zero.

commit 10f0cb73e0cc1105d7dc5360f9c6409f9674a51e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 28 15:00:54 2013 +0100

    VERBOSE: Increased verbosity level for grid printing.
    
    - grid values are really too numerous ...

commit b6b21a5af3ef8085052c11ae4c00c67da135353a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 27 13:07:15 2013 +0100

    Added option DoPrintDebug to FragmentationAutomationAction.
    
    - this controls whether VTK debug grid are printed to file or not and also
      whether DebugJobs are used.

commit 6ff62c8bb90891ea66dfc4882a5f7298de44ba0c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 27 12:26:13 2013 +0100

    Added DoValenceOnly has new option to FragmentationAutomationAction.
    
    - this carries over to MPQCData, MPQCJob, MPQCFragmentController, and
      VMGFragmentController, that need to pass on the option.
    - Changes to MPQCData have been caught by increasing serialization version.
    - TESTFIX: Redid files for regression test AnalyseFragmentResults.

commit 53c579a3b96b431c878643036ac24879b8bfe2bb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 27 12:23:26 2013 +0100

    Removed fragment as parameter from VMGController::createLongRangeJobs().
    
    - we can't use the fragment due to issue with saturation hydrogens anyway.

commit 4f04ab893d4a13da0d15780297e292e432c9536a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 21 10:33:31 2013 +0100

    Using boost::graph to obtain maximum matching for bond degree correction.
    
    - added bimap to boost.m4, added boost_bimap and boost_graph to configure.ac.
    - rewrote createMatching() in BondGraph with boost::graph, code mostly taken
      from maximum cardinality matching example.

commit 326000af78937d00c935278d1a92caff13b936cd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 19 14:32:21 2013 +0100

    BondGraph::CorrectBondDegree() now allows for incrementing only on a subset.
    
    - is used to first increment backedges, then treeedges.

commit 378fc6b3794e75dfde944b7b41cd15a3a54f23fd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 19 12:04:34 2013 +0100

    Refactored CorrectBondDegree() and resetBondDegree() out of atom_bondedparticle.
    
    - both functions are for the moment placed in BondGraph but will eventually
      merge.

commit 4b62d3aefaf4e4a4eed0441b7235d3d1a06b9dd4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 19 12:04:06 2013 +0100

    GLMoleculeObject_bond sets width of cylinder according to BondDegree.

commit 2d51371afb872e3cf8e52c8752229da623465311
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 19 12:03:17 2013 +0100

    GLMoleculeObject may set scale independently for each component.
    
    - this will allow changing of the width of the cylinder representing a bond.

commit 1f693d3016afcc34fe51822a565d2dba7c063d24
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 19 09:40:28 2013 +0100

    Wrapped Bond::BondDegree in getter.
    
    - This is preparatory for a new signal DegreeChanged.

commit 88ada9d908cbfda14b8a90dc5461329111008875
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 22:08:17 2013 +0100

    Enhanced BondedParticle::CorrectBondDegree() to first fill up valency.
    
    - in order to get 1,3,1,3 for simple polyine chains, we now have an extra rule
      to rather pick the candidate closer to fulfilling his valency.

commit c8bbf26e42ce63833eeaf0d6c962347ba595ba49
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:45:00 2013 +0100

    FIX: Added update() after show() in QtMainWindow.

commit 70db8f3d2544d28a29353cbdfd3c39dd4ea5002a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:43:08 2013 +0100

    FIX: Significantly simplified observer use in GLMoleculeObject_bond.
    
    - stored bond is now just reference. As if we store the bond::ptr, we prevent
      the bond from being free'd when removed.
    - we additionally store leftatom and rightatom as Observable to know when
      their notifications have arrived. We also store both ids for quick and safe
      BondRemoved signalling.
    - dstor now always calls signOff()s, elsewhere we just delete ourselves.

commit 411202d11c9be919e416a6a7fdea33997c3baa52
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 21 17:55:08 2013 +0100

    FIX: Lowered verbosity of RepeatBoxAction.

commit ba6b5c67ad93373653302dbe92a156d6a4367140
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:42:28 2013 +0100

    FIX: Assert wrong way round in GLWorldScene::removeShape().

commit 691318150bfa891f9352e2ebc6b228e22d710743
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:40:52 2013 +0100

    FIX: GLMoleculeObject_shape did tesselate with fixed radius.
    
    - this radius is too small for large shapes (e.g. sphere with radius 20).
    - we now approximate the radius estimated from the surface area of the shape.

commit 708277b9c1c504a9afcd99e6e8e14984efa62bf1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:34:02 2013 +0100

    FIX: Using fixed Observer in CodePatterns 1.2.6.
    
    - we now require CodePatterns 1.2.6.
    - Notifications now use subjectKilled() when the Observable they are associated
      with is destroyed. This allows Observers that are just sign on to a single
      channel safely sign off.
    - also, derived Observable classes must not remove their Channels and
      Notifications by themselves. This is done by the Observable base class.
      Otherwise, subjectKilled() is not called.
    - changed AtomObserver: Is directly connected to the atom class, AtomInserted
      and AtomRemoved called in its cstor and dstor. The World has nothing to do
      with it. However, we have to make sure AtomObserver is purged after World.
    - Fixed also some faulty uses of ObserverLog and we always insert into
      NotificationChannels with static_cast to Observable for clarity.

commit 79d0b9f64d8772afce2313b503063251d4ef0e74
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 17 16:59:11 2013 +0100

    FIX: Fragmentation requires a bond graph with correct degrees.
    
    - hence, we always correct the bond degree before fragmentation as config files
      containing adjacency -- such as pdb -- do not contain bond degrees.

commit 1d2d01ed7d609f7ea5e51dc8825133772d41911b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:39:07 2013 +0100

    Fixing minimum sensible length for LinkedCell_Controller.
    
    - we did use the minimum sensible length for getBestModel() but not for the
      actual creation.
    - extracted code into function getSensibleMinimumLength().
    - fixed (and documented) formula for calculating min_distance.
    - we also can now also deal with systems that are mostly 2d or 1d.

commit 0773bdd30e9bd9334bfac9cd1fd6cbf2a6fce929
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 9 17:04:25 2013 +0200

    Added Tcl scripts used for visualizing faulty rolling spheres or the whole surface.
    
    - in CandidateForTesselation an error message makes explicit reference to
      animate_sphere, hence we should place it with molecuilder to eas debugging.
    - show_surface can be used to visualize the written TecPlot style .dat file
      containing the triangle information of the tesselated surface.
    - surfacing produces an animation (i.e. a number of frames) showing the
      sequence of found triangles and the rolling sphere which can be used to
      easily produce movies of the on-going tesselation.

commit feb5d057925ffe231be9d8cdf90678dffe4298f4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 19 14:31:32 2013 +0100

    Added SelectiveConstIterator, allows for constant iteration over Descriptor-constraint ranges.
    
    - is copied from SelectiveIterator.

commit 2448f8f6d400d7eefa93cae4b6e5f44796ba4baa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:38:10 2013 +0100

    DOCU: Explained autostart file usage molecuilder.py in python.dox.

commit 08a09eda63c7b6467c04ef827e51433887a52fcc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 18 19:36:40 2013 +0100

    Implemented getSurfaceArea() and getVolume() for Stretch_imp and Transform_impl.
    
    - this is required for correctly guessing sphere radius when tesselating
      sphere with given number of points.

commit 69f38a24fc83bffdebbc2578d63ad2bcf4d52b79
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 17 17:43:01 2013 +0100

    FileQtQuery now has filter with all config, all data, and any files.

commit 30f28158a66978e117b1ddd6fd72b915ddd135a6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 14 09:38:23 2013 +0100

    MpqcParser now also understands "_n_ atoms geometry" lines.
    
    - optimization throws out an additional id per atom which caused havoc when
      copy&pasted and parsed so far. Right now, we discard the id, assuming they
      are simply ascending, throwing exception if something else comes along.
    - also added regression test on this.

commit a676f97d402afbaeb2460aeadf494c667be34446
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 8 14:04:16 2013 +0200

    Set version to 1.3.14.
    
    - MoleCuilder library is now 11:5:1.
    - Codename "One semi circle" (with unit radius has length of 3.14... ).

commit 214240311376bc0a14571b81249ac930343e5a7b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 15 21:30:35 2013 +0200

    FIX: Most of the includedirs were wrongly set.
    
    - each just needs to add MoleCuilder/, nothing more.

commit a3fc46e1ebd9065c243c909e5fef221d7add4620
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Mar 9 14:41:55 2013 +0100

    FIX: Fixed printKeyName inclusions a bit.
    
    - they are now inline functions.

commit 1b5a407a0d61719031c6978e4898248baf9f165f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Mar 9 14:08:18 2013 +0100

    VERBOSE: Changed verbosity of Summation process to make a lot less noise on default setting.

commit eb32b6fbd2260e7c9b6380e6f02cc40925252bf9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 11 22:56:29 2013 +0100

    Eigenvalue summation uses two sets: added and subtracted values.
    
    - only on output do we take the set_difference and print the remainder.
    - TESTFIX: Modified regression test Fragmentation/AnalyseFragmentResults.

commit 5c867eafe92c5d51368d41f115cf042251270e09
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 8 23:57:11 2013 +0100

    Added new SetValue Eigenvalues to just add up the set of eigenvalues.
    
    - added to MPQCDataMap and to AnalyseFragmentationResultsAction.
    - added conversion to DataConverter.
    - On adding, we simply add the eigenvalue to the set if not present. On
      subtraction, if already exists, it is removed.

commit e95c8bc9c392ca62fa570eeffbb677a0cf72c81a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 7 22:46:48 2013 +0100

    Re-added printing of eigenvalues as histogram.
    
    - TEST: added check of ..._Eigenvalues to AnalyseFragmentationResults
      regression test.

commit 658485804b2fccb281651e7b0882241ace977693
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 5 17:37:54 2013 +0200

    Switched off automatic bin width calculation in Histogram.

commit 55e1bc203062d6ce285fbba9c783e28963932633
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 11 13:04:34 2013 +0200

    FragmentationResultContainer is serializable.
    
    - FragmentationAutomationAction stores container in file if given.
    - AnalyseFragmentationResultsAction parses container from file if given.
    - this means that calculation of results and analysis can now either be done
      jointly in one go or split into two separate calls of molecuilder.
    - added regression test for AnalyseFragmentationResults.

commit a3427f795a607e84365d342681c78b46570d042e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 5 17:37:10 2013 +0200

    Split FragmentationAutomationAction into calculation and analysis.
    
    - analysing and writing results is now done in AnalyseFragmentationResultsAction.
    - FragmentationAutomationAction only guards over calculation of results and
      submits them into newly created FragmentationResultContainer.
    - singleton FragmentationResultContainer stores KeySets and associated
      FragmentResults for later re-use.
    - this is preparatory for storing to and retrieving results from file.

commit fbf143b9fb3d409937862a091c997ab0428c8b3e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 10 18:11:13 2013 +0200

    Placed Containers, Converter, and SetValues as subfolders into Summation.
    
    - also libMolecuilderFragmentationSummation is now a shared library, easing
      linkage to libMolecuilderJobs, and contains all of the three convenience
      libraries.
    - libMolecuilderFragmentationSetValues is now again convenience, as contained
      in ..Summation which in turn is shared.
    - KeySetsContainer right now is the link between lib..Summation and lib..
      Fragmentation. Hence, we had to extract the module and change it into a
      shared library, as it is required by libMolecuilderJobs through ..Summation
      but also by ..Fragmentation that heavily relies on this container.
    - moved parseKeySetFile down into Fragmentation folder to KeySetsContainer, it
      is also contained in new shared library libMolecuilderFragmentation_
      KeySetsContainer.

commit 8e84fee2b39a56651444a15cdef1d2ed8bad8999
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 10 15:21:37 2013 +0200

    Moved ...Data and all related classes into new subfolder Containers.
    
    - this separates Containers from Controllers and thus splits off dependency
      on JobMarket.
    - also MPQCData and VMGData are containers related rather to fragmentation
      and not to the Jobs.
    - modules on Containers who use JobId_t now use size_t in case of missing
      JobMarket.
    - adapted many includes accordingly.

commit 41040547d7cca2be6d6456c7796d5460aa47b92e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 10 17:06:44 2013 +0200

    FIX: ...Data_printKeyNames lacked printKeyNames include and made inline.

commit 7b049409753f488e726192ddd4e7610aed7e12b5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 10 14:56:31 2013 +0200

    Moved SamplingGrid... over to Fragmentation/SetValues.
    
    - adapted all includes accordingly.
    - libMolecuilderSetvalues is now shared.
    - the dependency was wrong so far. Jobs are intimately attached to the
      JobMarket (as are Fragmentation/Automation's controllers) but the grid stuff
      is just another setvalue that stands on its own. Hence, stuff in Jobs may
      depend on modules in Fragmentation.

commit 0cd8cf709454eaffa0f432ef7e53ded096c624a4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 7 21:53:50 2013 +0100

    Split FragmentationResults into ..ShortRange.. and ..LongRange...
    
    - split operator and ShortRange requires just one FragmentData.
    - removed printMPQCResults() and some other functions from
      FragmentationAutomationAction.

commit 503acc1d5410844da8877333a7e128ad0a2ab6ee
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 6 20:51:06 2013 +0100

    MPQCJob and MPQCData now have bool to decide whether to sample electron density or not.
    
    - this passes on DoLongRange from FragmentationAutomationAction.
    - MPQCFragmentController::addJobsFromQueue() now does some more manipulation
      besides changing the id to something valid.
    - using boost::polymorphic_downcast and boost/cast.hpp (added check to
      boost.m4).

commit bae7bcfcfe9b08823c3f099f8441af87980bc96f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 4 15:14:10 2013 +0100

    Outsourced parsing of fragment files into ParseFragmentJobsAction from FragmentationAutomationAction.
    
    - We now solely rely on the job queue to contain all the information we need.
    - FragmentationAutomationAction now clears queue after calculation.

commit 4f44aefdaa34873fa504f8dd54e1775112725c9c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 4 14:27:40 2013 +0200

    Added ForceMatrix::parseIndices() from indices of KeySetsContainer.

commit ac9ca46967e95fa2cebeb516a6755eef363225d5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 4 14:54:11 2013 +0100

    FragmentAction creates FragmentJobs if no output-types are given.
    
    - ExportGraph_ToJobs now creates jobs for a FragmentJobQueue.
    - new singleton FragmentJobQueue to contain FragmentJobs.
    - MPQCFragmentController rewritten to use FragmentJobQueue, too.
    - FragmentationAutomationAction just fills FragmentJobQueue with given
      fragment-jobs.
    - added KeySetsContainer::clear().
    - removed ExportGraph::operator().
    - Smaller fixes to Fragmentation(Automation)Action w.r.t. optional parameters.
    - We now require JobMarket 1.1.3, as we need FragmentController::changeId().

commit dd0c8ff580ba75fc5f2bb4e7d0bdfce0f61abdec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 5 10:07:15 2013 +0100

    Removed all error messages on missing values in CommandLineUI.
    
    - these have to be handled by validators, empty values might actually be allowed.
    - we now catch boost::bad_any_cast exception and return false if caught.

commit c1a2210e3faf8cc75a971bc2c81cffdb88c35b4b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 7 22:01:38 2013 +0100

    FIX: SubsetMap::getMaximumSetLevel() did not catch empty Lookup table.
    
    - this becomes evil when the given index set is empty.

commit 78ca37db8e4c1e8e03b9ffb47204678aed15ebf2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 5 10:10:17 2013 +0100

    FIX: printAtomMask() becomes very expensive for large molecules.
    
    - now we use DoLog() to check whether we print the stuff at all.

commit c6ab913316bac687f20825a515fe6a582abd53fe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 4 18:40:55 2013 +0100

    Wrote faster molecule::FindAtom().
    
    - due to local id nature in Fragmentation many functions there make heavy use
      of this function. However, has it scales linearly, this severly limits the
      abilitiy to tackle large molecules.
    - as quick short-cut we installed a map from local to global ids, updated by
      insert() and erase() and used by FindAtom().

commit 356ae4028ff26fd2bd1fc9ab146fb3299b3a78b3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 12 13:26:07 2013 +0200

    FIX: molecule::AddAtom() inserted indirectly two times.
    
    - atom::setMolecule() also called molecule::insert().
    - this fixes issues with redo of fill-surface regression tests.

commit a1d035b607ef83181b73011d15d49b99f191f507
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 4 18:11:03 2013 +0100

    Converted TouchedList from int* to std::vector<int> in PowerSetGenerator.
    
    - this is preparatory for removing use of local numbers from fragment KeySets.

commit 569e4266ba1a86102a1aa628754109f76b5f4ad9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 4 10:06:39 2013 +0100

    FragmentationAction does not reinsert first graph anymore but copies it.

commit 8ac66b4e4ec8dfc129dfdf1062fd96a8b51ce2e1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 4 10:06:17 2013 +0100

    VERBOSE: Lots of changes to verbosity of fragmentation process.

commit 830b3e93f20a8a96af1fe51d451d4e9fe1756b75
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 4 10:04:54 2013 +0100

    VERBOSE: Changed Parser's verbosity level for stating "Saving changes."

commit 7cdf589ccf036e0f97d60e4706154d2a771a947b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 3 22:19:22 2013 +0100

    ExportGraph_ToFiles now uses one-by-one procedure to store fragments.
    
    - we took MoleculeListClass::OutputConfigForListOfFragments() and also
      StoreForcesFile and adapted them.

commit c396753f3715e527d3df8060e6ac6d846655f950
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 3 22:15:14 2013 +0100

    Added saturate() to SaturatedFragment.
    
    - basically, this is AddHydrogenReplacementAtom() but stripped down a bit as
      we use hydrogens from the pool and as atoms for the fragment need not be
      copied anymore, we don't need all the father mambo jumbo.
    - SaturatedFragment additionally now needs to know about how hydrogens are
      treated and whether we actually saturate.
    - SaturatedFragmentUnitTest requires libLinearAlgebra.

commit 6cabaacfd37f433f03f6fb9f02c40aa5468a35e4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 3 11:26:14 2013 +0100

    Extended ExportGraph to spill our molecular fragments one by one.
    
    - the biggest scaling issue with fragmentation is the number of hydrogen atoms
      that are created to saturate all (e.g. 200.000 fragments frm 3.000 atoms at
      order 6!) the molecular fragments.
    - hence, create one by one and have a controlled pool of hydrogens that are
      re-used.

commit 7d5fcdb109e3bb01fe2b96e13f2ba11ded123b04
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 3 11:25:48 2013 +0100

    Added SaturatedFragment as a wrapper to KeySet with saturation hydrogens.

commit c3df2354750ff648d82e55250da81445e260d5f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 3 11:24:46 2013 +0100

    Added HydrogenPool for controlling a set of saturation hydrogens.

commit 3b0d2ad85cb4bd08268035748401cb0f302d7473
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 3 09:04:21 2013 +0100

    Added more timing output to cleanUp().
    
    - final printTiming() is now either brief or exact, not both.
    - this is necessary as otherwise total time does not add up.

commit 8652a307767040601be3b17560eef6939d7116f3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 3 09:03:22 2013 +0100

    Moved some functions from ExportGraph_ToFiles into ExportGraph.
    
    - this is preparatory for ExportGraph_ToJobs as the functions for creating
      molecules are needed there, too.

commit 22b786ada90f98f487f6059fa83cd4ab52169ec7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 1 22:15:10 2013 +0100

    Made SubgraphDissection a MakroAction and added UpdateMoleculesAction.
    
    - MakroAction does not delete the ActionSequence eventually and it now obtains
      just a ref, not pointer.
    - TESTFIX: Changed ActionSequenceUnitTest::doesUndoTest() accordingly.
    - SubgraphDissection is right now still very ugly with lots of copy&paste from
      the preprocessor header files to get every function in place.
    - it could be made into a MakroAction because all three internal Actions do not
      require any options. How to achieve this with options is unsolved.

commit 560cbfdc6f64a3ba2d8d199f06984d8ea1f79247
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 1 20:33:17 2013 +0100

    Added a DestroyAdjacencyAction with undo/redo.
    
    - also added regression test on all.

commit 055ad7d1ba1b8d09c8c3cf8f1dfdf2b27859c787
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 1 20:32:41 2013 +0100

    Added Undo/Redo functionality to CreateAdjacencyAction.
    
    - also added regression test on whole functionality.

commit f2fda61612d15d768b57a21c2e5147bd9c1e1cdd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 8 13:44:05 2013 +0200

    Set version to 1.3.13.
    
    - MoleCuilder library is now 11:4:1.
    - Codename "Three thirteen" (is a variation of the card game Rummy).

commit ddeed29182c50177cfed25d04ae6450b55cb059c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 1 20:31:20 2013 +0100

    Using enhanced precision of CodePatterns' Chronos.
    
    - we now require version 1.2.5.

commit d948b40a74d5784455a4b7b4b4568e70f45ccfc7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 1 20:28:42 2013 +0100

    atom_bondedparticle::addBond() returns no longer const bond::ptr.
    
    - this comes in the way when we want to set the bond degree right away.
    - also added convenience functions for addBond() and removedBond() that act
      on the current time step.

commit 31021ab41bc28ab43953c03d2923795a0813d773
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 1 20:25:36 2013 +0100

    Optimized Bondgraph detection.
    
    - VectorSet::minDistance() now operators on the set (translating by -point).
    - VectorSet::minDistSquared() removed as is the same as minDistance().
    - LinearAlgebra version is now 3:2:0, API is 1.0.5.
    - decrease log level of DepthFirstSearchAnalysis' msg about disconnected
      subgraphs.
    - Box::internal_explode() does not clear() internal_list, avoing constructing
      Vectors all the time.
    - BondGraph::CreateAdjacency gives some more message to tell when it does what.

commit cf1183d7bdeb0875ce0c83428c76a98a221a957e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 27 12:13:59 2013 +0100

    FIX: LinkedCell_Controller::updateModels() tried toString()'ing NULL.

commit 4f54b36ce118b509a6b2b0778e1a561a9cb1d0d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 27 12:13:13 2013 +0100

    FIX: AllAtomsInsideVolumeAction stored state with additional descriptor.
    
    - AtomByShape was also used for selected_atoms stored in state for undo.

commit 5589e7e18abfdfbb10e92c1f7c654f21e9d14cbd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 22:45:20 2013 +0100

    Added StoreSaturatedFragmentAction to save a set of atoms satured with hydrogen.
    
    - add regression test on new action with a graphene sheet.
    - the test is deactivated (with respect to diffing the output) as the bond
      degree correction is far not stable and the output is hence random with
      respect to the saturated hydrogens.

commit d5b90b345dcd1931f7bfd85129e8e73c9f7fdc90
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 17:31:48 2013 +0100

    FIX: XyzParser had lacking precision beyond coordinates of 100000.
    
    - made the coordinates be written via a printCoordinate() function for
      XyzParser, too. Beyond 1000 we write with fixed 3 digit precision.
    - added regression test on printing coordinates with large components.

commit 15463ae05a1015a9eb93887e3c672a209314163a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 16:58:21 2013 +0100

    Extended LinkedCell_Controller::getBestModel() to take box into account.
    
    - We now limit the number of cells for all models to at most 10^3 cells per
      axis.

commit 33501153ed2eaf312d54e321e686e536cadb10ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 16:28:40 2013 +0100

    VERBOSE: Trimmed down verbosity when creating a bond graph and on dissection.
    
    - with default verbosity now not every added bond is given in BondGraph.
    - also new molecules are not printed in DepthFirstSearchAnalysis.

commit 3b0cfc2b8b6fd8f8fac57d50baee487f7bc05f86
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 16:28:13 2013 +0100

    FIX: Coloring of bond halves was wrong way around.

commit fae816b9643d3928ec9affd3a69c3fcee4b5de8c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 16:27:53 2013 +0100

    FIX: Water molecule in data/molecules had wrong bond angle.

commit 03abd0b2e542f683b2720a8700bc136f560fe3bc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 13:50:34 2013 +0100

    FIX: World::getLinkedCell() does not allow distance less than 1.
    
    - small distances make the linked cell approach very memory-intense, we now
      give a warning and set it to at least 1. Also asserting that it is positive.

commit 1f5e97596b244dcd8edfe8582b2ad28fe3cd3913
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 13:49:51 2013 +0100

    FIX: PdbParser::saveLine() did not restrict some id values.
    
    - ChainId has only 4, serial only 5 ids. We now make sure that only as much
      digits are printed.

commit 105b7212f45b30286258701106e5ec9d064c080b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 26 10:45:40 2013 +0100

    FIX: PdbParser skipped when coordinate exceeded 9999.999.
    
    - the problem is that with fixed, setprecision controls the digits after the
      dot only and it is not possible to get the desired behavior with a
      combination of setfill, setw, and setprecision alone. Hence, we wrote our
      own static printCoordinate() helper for that.
    - Added regression test for printCoordinate() to ParserPdbUnitTest.

commit e9bdeff648884b0f7b2819ea260bf685fa1774fa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Feb 24 20:09:59 2013 +0100

    TESTFIX: Analysis' DipoleAngularCorrelation() and BinData() suffered numerical instabilities.
    
    - cut precision down to 6 digits which also matches with output precision.
    - TESTFIX: As we use floor() to round, the least digit changed in some cases,
      i.e. a change within 1e-6. Corrected in regression tests Analysis/
      DipoleAngularCorrelation.
    - TESTFIX: same with AnalysisPairCorrelationUnitTest.

commit 8c9049e13352c383db2c18e25186fe970c8272fd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 11 16:06:12 2013 +0100

    DOCU: Updates for qt-gui and shaperegistry documentation.

commit 5c3ad5d9a227a0728ad7d100ab933425808a2ff9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 19 16:32:48 2012 +0100

    Modified SaturationPotential to allow fitting to e.g. HCC as well.
    
    - i.e. now not only saturated elements are fitted but also "saturated" C-C
      bonds.

commit 64bdfd990fda695c8f48e1b5abf623b7c90c85dd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 19 16:31:05 2012 +0100

    Changed Extractor's combineArguments() to neglect same arguments.
    
    - so far, we just add the two given argument vectors. Now, they are sorted
      and made unique.

commit 035c0da1f58fb5190abeb335461b2da4ebc8375b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 19 13:41:52 2012 +0100

    Removed typedef charges_t from FunctionModel, using SerializationPotential's instead.

commit da2d5c9d76dfbd881fcf84f38ad0fc0c9d8347a8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 19 13:38:49 2012 +0100

    Removed parameter charges from getFragmentSpecificExtractor().

commit 3d255915b7f2233d996e6bf9358789e4d408da65
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 18 13:39:10 2012 +0100

    Added virtual stream_to/from functions to SerializablePotential.
    
    - this allows overriding in SaturationPotential and hence printing/parsing
      of both contained types.

commit dbcc47a93c50f23857b217d00154054ae9fa7a31
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 16:58:28 2012 +0100

    Arguments for PairPotential_Angle were used in wrong order.

commit 86345621313a5c2e5dd9e1f31a32e48bd919ac66
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 16:57:49 2012 +0100

    Small changes to printAtomMask().

commit 5a495592f5cbf7e76040f7670276d3cd492330c4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 16:56:48 2012 +0100

    We remove all single-index fragments in FragmentMolecule().
    
    - this is required when including hydrogen, as resulting single atom/hydrogen
      fragments cannot be calculated within CLHF of MPQC.

commit 276ac63888a7505822de9e689e98a8925a30547d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 16:56:00 2012 +0100

    FIX: ExportGraph_ToFiles needs to know about hydrogen treatment to not copy present hydrogens.
    
    - we only copy if hydrogen is excluded.

commit a8212739425be810afd4c74296d6644463bfb979
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 11:46:02 2012 +0100

    FIX: SaturationPotential takes both angles in each triple.
    
    - multiplying with 0.5 does the trick.

commit 4ff79cc79a9f0e621e71a7e4db1e10c086b45ff1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 11:43:46 2012 +0100

    LevMartester casts FunctionModel to SerializablePotential if possible to print parameters.

commit 77552ddb22cc6dc0fe32cea87789e59eebe4f06b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 11:43:24 2012 +0100

    FIX: LevMartester gives which distance in written table refers to which argument.

commit 46fcc09fc78124f7064e87152a1f1355ee866453
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 11:42:50 2012 +0100

    LevMartester has new option fragment such that fragment to use as training data may be defined.

commit 39a07a9af70948974410186c39e159aacc6a82a4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 25 10:40:03 2013 +0100

    HomologyContainer now gives iterator on its keys, i.e. stored HomologyGraphs, only.
    
    - this may be used to look (efficiently) for the correct fragment.

commit 9291d04e2ad151a7ed6cce0346b5c80b82895d87
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 11:39:30 2012 +0100

    Split saturation with hydrogen of treatment of hydrogen.
    
    - now saturation means dangling bonds are saturated, and treatment means that
      in a bond graph hydrogen is skipped.
    - FragmentationAction and DepthFirstSearchAction adapted in options.

commit c7c6155018c548bf8d894a8be3261b2de7dc863c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 11:37:58 2012 +0100

    FIX: FragmentationAction gave wrong number of molecules.

commit 1edc874eb8388a3b85616a0efec609992af308e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 27 13:40:25 2013 +0100

    Set version to 1.3.12.
    
    - MoleCuilder library is now 11:3:1.
    - Codename "Meta Language " (is a general-purpose functional programming
      language, short: ML).

commit c16ccee3baa1892e593c3f863c7a2615e8ac5b0b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 6 15:16:57 2012 +0100

    Training fragments are sorted by error to fit value into a map.
    
    - this allows checking which fragments are the "worst" described. The numbering
      is checked to coincide with BondFragment.. files numbering.

commit 3e236eed34eca516200fd648209baf70fdf4a34b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 18:24:28 2012 +0100

    LevMartester now fits potentials given on the command-line.
    
    - instead of three we only fit just one potential.
    - potential is instantiated via a PotentialFactory.

commit d76ce74b92b36c40ccdeb64d1b9aca242a189bcb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 18:24:03 2012 +0100

    Added PotentialFactory for creating potentials.

commit 05f4378468313b6aa270bc13f5fe8cc378ae33b1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 17:46:30 2012 +0100

    LevMartester now contains three generalized fits to Angle, Morse, and Saturation potential.

commit e36ba235524a399519656926a7dd7087945bbbd5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 7 16:13:34 2012 +0100

    FunctionModel extended by triplefunction setter, does nothing by default.
    
    - SaturationPotential's setTriplefunction() removed.
    - Tersoff's setTriplefunction now truely sets the function.
    - LevMartester always sets a triple function whether the potential uses it or
      not.

commit 0dad5f9b6ef661b1712806b83f1f1f3da56f8bb3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 7 16:01:07 2012 +0100

    SaturationPotential now has an internal triplefunction.
    
    - SaturationPotential simply to get all possible distances and from these
      we extract triplets of matching distances via an internal triplefunction
      as input to PairPotential_Angle.
    - rewrote operator() and parameter_derivative(), gradients are remain ok.

commit 775dd1aa628462c5a79c38c46bfea677334fad29
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 17:44:24 2012 +0100

    Triplefunction for Saturation and Tersoff potential have to be given extra.
    
    - this avoids a loop with TrainingData and getFragmentSpecificExtractor.

commit d52819ede14972f2bbcf4abdb80e0a368502cc11
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 17:35:37 2012 +0100

    Extracted initial parameter setting per specific potential to FunctionModel::setParametersToRandomInitialValues().
    
    - this is preparatory for generalizing potential fitting.

commit 7b019a82dbda11efbf4088b98f24d8b726e7bf81
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 16:33:58 2012 +0100

    Extended FunctionModel by getFragmentSpecificExtractor() definition.
    
    - shifted extractor_t from TrainingData to FunctionModel.
    - implemented function for every specific potential.
    - this is preparatory for generalizing function approximation in LevMartester.
    - we make use of the newly introduced extractors in the potentials and the
      required number of charges is ASSERT'd.

commit 69fcba3ecb94f92967b54db821c78debf594abe1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 7 15:48:44 2012 +0100

    FIX: Extractor's convertTargetsToArguments() did not set argument_t's indices correctly.
    
    - we cannot use gatherAllSymmetricDistanceArguments() as then the correct
      indices are lost. Hence, we rewrite convertTargetsToArguments() to convert
      directly to arguments (as also the naming suggests).

commit 9897ee9c59adb031cb95a9151eb710d1c1597502
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 6 11:39:49 2012 +0100

    Added combineArguments to Extractors.
    
    - this is required for chaining arguments_t returning functions in a tree-like
      fashion, as e.g. will be required for SaturationPotential::
      getFragmentSpecificExtractor(), which has two types but needs to extract
      arguments for all possible three combinations.

commit df350cb1331cc18177269e53b2fb8b9d48232cf4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 6 11:38:00 2012 +0100

    Added reorderArgumentsByParticleTypes() to Extractors.
    
    - this is the more proper function instead of
      reorderArgumentsByIncreasingDistance() as we actually need to match with
      those particle types of the potential receiving the arguments.
    - reorderArgumentsByIncreasingDistance() was a hack only for angle potential.
    - now Extractors namespace needs to know about ParticleTypes_t, so far the
      typedef is copied.

commit caa00e9205bd9a094ecd605ffbf2f9685af58b83
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 6 11:35:37 2012 +0100

    Added gatherAllDistancesFromFragment() to Extractors.
    
    - gatherDistancesFromFragment() did only get the first matching distance, but
      e.g. for SaturationPotential we need to get all from (8,1,1) for types (8,1).
    - this involved three helper functions initially similar in spirit, but we
      get all combinations via a simple recursion with pickLastElementAsTarget().

commit dbf8c8d003f93ca8d66a9d16660d7845c35ce59c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 09:41:39 2012 +0100

    FIX: Now default parameters are present for every potential and used for check_derivatives.
    
    - checking derivatives with exp() is numerically very unstable as large numbers
      may easily occur. Hence, rather check the derivatives at some fixed but
      nicely behaved spot that is probably not the minimum.

commit b760bc37fcba569416af3346dc24c68ce2cfbee2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 28 12:47:59 2012 +0100

    Added ParticleTypeChecker functions in own namespace and added checks to every specific potential.
    
    - these check whether typesin argument_t matches with potential's
      ParticleTypes.
    - replaced row of Asserts with ParticleTypeChecker call in all specific
      potentials.

commit 93e908e4244b99ce59c7cb242fb96cff59570b80
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 09:44:34 2012 +0100

    Added SaturationPotential::symmetrizeTypes() to get types for both Morse and Angle part right.
    
    - we now have to give two, not three  charges for SaturationPotential in
      LevMartester.

commit 55fe7880f56f0159a3633b579bba428b3d3c3b82
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 26 23:24:11 2012 +0100

    All specific Potentials now assert that arguments have charges matching with internal ParticleTypes_t.
    
    - this ensures that we don't have to pick indices.first == 0 or something
      similar spooky anymore.
    - TESTFIX: Modified Potentials/Specifics/unittests that now need to specify
      the (correct) types in each argument_t.

commit b3eabc5ab97979bd66a5016b2618193a6479b544
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 10:07:59 2012 +0100

    SaturationPotential now requires symmetric distances.

commit b10ada8800f87099427e2d2428ed97af7db6968a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 25 21:06:13 2012 +0100

    Initial parameters in LevMartester randomized for Morse and Angle.
    
    - NOTE: We must not use resulting ones as initia ones for SaturationPotentia.
      This will cause the check_derivative to fail as at or close to the minimum
      the derivative directions is numerically unstable.

commit 0496af770fd03f6a308156b13e9d19fb5e12e600
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 25 21:05:48 2012 +0100

    LevMartester uses SerializationPotential::operator>>() to print resulting parameters.

commit ed255138d5de310101fe846f80532d4b0c19bfcb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 25 10:10:44 2012 +0100

    All Pair_.. and ManyBodyPotentials are now also derived from SerializablePotential.
    
    - added static ParameterNames, skipping "energy_offset" which should not go
      to file.
    - overrode operator<<() and ..>>() for SaturationPotential to print both
      potentials independently.
    - adapted LevMartest and all unit tests.

commit 6efcaec4b6119396e4609fd8ec76dda69a50c32f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 25 07:37:09 2012 +0100

    SerializablePotential is new type to be stored in PotentialRegistry.
    
    - added new class SerializablePotential with operator<<() and ..>>() and a
      a set of virtual functions to be implemented in deriving classes.
    - added unit test SerializablePotentialUnitTest and mock implementation of
      such a SerializablePotential.
    - added exceptions, thrown when parsing of potential containing line fails.
    - NOTE: empty name/key of a parameter are not printed on output.

commit 67cd3abba5d9690e39969a20e1e96f938cfc6574
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 23 08:53:42 2012 +0100

    Added a PotentialRegistry for EmpiricalPotentials.
    
    - added virtual getName() to EmpiricalPotential and implemented for every
      currently present specific potential.

commit 201199631aff578d9699e96596d4e77f56009266
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 28 10:55:55 2012 +0100

    DOCU: Added documentation explaining purpose of potentials.

commit 1f3b2a12aaf71d34f942bd688ca79685d455ef54
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 23 10:05:51 2012 +0100

    FIX: double inclusion prevention of Parser/exceptions corrected.

commit 691be4f44eb94a5e492928b4b2545595232ccb1a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 26 23:23:13 2012 +0100

    FunctionArgument now contains charges, too, and rewrote Extractors accordingly.
    
    - gatherDistancesFromFragment is now what we mostly want: Returns exactly the
      arguments in the way we specify.
    - PairPotential_AngleUnitTest now has gives additional types to potential's
      cstor.

commit d94e7e3fc61f11855e86da4608b18aaa4aa9eb8a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 21 12:14:08 2012 +0100

    SaturationPotential test part in LevMartester checks whether graphs were found.

commit edac7ccd053ce7f11d7cd70e65c9058c8ac9a273
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 19 15:25:29 2012 +0100

    DEBUG: LevMartester now looks for the oxygen atom in water as HomologyGraph.

commit dd8094e48dc5886d8540a479da473cbe753318d8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 14 11:06:53 2012 +0100

    Added getTrainingOutputAverage() used to initialize all_energy_offset in LevMartester.

commit 2ba2edc3bc23434fd9afdb60695f6f4d826baac5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 13 14:03:13 2012 +0100

    FIX: SaturationPotential's parameter derivatives seem to be working now.
    
    - the problem seems to be the fitting itself is no good, maybe fitting Morse
      and Angle to CH4 at the same time just does not work ...

commit b17e0f1720ab9dbd5bf476331ca6348b89a84adb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 13 14:01:48 2012 +0100

    Using getFirstGraphwithTimesSpecificElement() in main() of LevMartester.
    
    - Angle, Morse, and Saturation fitting now use this function to obtain the
      representative graph.
    - added check whether returned graph is empty, then fitting part is skipped.

commit e920d3d78bfcf50bfef7c62b3496caceec76e6e1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 13 13:58:17 2012 +0100

    Added getFirstGraphwithTimesSpecificElement().
    
    - this allows to check a bit less strict than in getting graph via FragmentNode
      specification.
    - added FragmentNode getter for AtomicNumber and ConnectedEdges.
    - added HomologyGraph::hasTimesAtomicNumber().

commit 6cfb355987abdb37bd183bdc167dc48a5c606c8f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 19 17:21:54 2013 +0100

    Set version to 1.3.11.
    
    - MoleCuilder library is now 11:2:1.
    - Codename "Lif" (Lif is either old German for ten or means leave. Eleven can
      be traced to either one-lif or one left.)

commit c29c0ae97f3526d9a7d8fa758a816991aa8b2750
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 23 16:38:10 2013 +0100

    FIX: triangleintersectionlist suffered numerical instabilities.
    
    - if the closest point on a surface to a point is at the edge of a triangle,
      there will be two "closest" triangles. However, numerical rounding may cause
      one of them to have a slightly different distance. In case of a very sharp
      angle, we end up with only one negative SKP and a point presumed to be inside
      that is actually outside, of the other triangle, with positive SKP, would
      have been found at the same distance.
    - TriangleIntersectionList::FillDistanceList() and
      ::FindClosestBoundaryPointsToVector() now round distance to six digit
      precision.
    - TESTFIX: replaced solved_double_sles.data in regression test Filling/
      RegularGrid, also now find 367 instead of 366 predicates to be true.

commit 0cd22518763f10d70733eca486078706815db851
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 17:26:21 2012 +0100

    DOCU: Updates optional enable targets and required and optional packets on install page.

commit dd966f7cb4448d0fa69df1cba9f9aef8d1e54baa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 19 13:52:48 2013 +0100

    DOCUFIX: Extra $ in documentation of ManyBodyPotential_Tersoff.

commit eee1b7b187d1af4c9cd78e2a3a4a7c9e7aada611
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 19 13:51:53 2013 +0100

    DOCU: Documentation on ShapeRegistry, QtUI changes, validators, and parameters.

commit c91572a747f3934784854e5661efee2851231046
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 18 12:03:18 2013 +0100

    DOCUFIX: Replaced \text by \mathrm in some formulas.

commit d760bb7f23671603e1c139dfb961473ce290ff50
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 19 13:42:38 2013 +0100

    REFACTOR: PowerSetGenerator now creates all orders in one go, not limited to one by one increments.
    
    - atom_bondedparticle's MaxOrder is not a bool but an int containing the
      desired final order set by CheckOrderAtSite and compared to AdaptiveOrder
      to obtain its old meaning.
    - UniqueFragments now contains a vector of n Graphs to place n-body fragments
      in that are later combined. Also, cleaned up a lot of old functions and
      merged stuff into cstor. FreeAllOrdersList() and CombineAllOrderListIntoOne()
      have been adapted accordingly.
    - Fragmentation::FragmentBOSSANOVA now uses fully again FragmentLowerOrdersList
      which now has the above n slots to place n-body fragments in and which is
      passed by ref to UniqueFragments.
    - SPFragmentGenerator now always stores the current fragment, only in a specific
      slot in UniqueFragment's Graphs, and it recurses if there are enough SP
      levels and plces left.
    - FIX: BondsPerShortestPath properly prints and informs about resetting the
      path list.
    - We checked extra that BondFragments come out exactly as before (same order
      because of the Graph being a map naturally). The only difference is the
      OrderAtSite file which now has more than 0/1 values in the second entry.

commit b6b5b8369ec9fbcaf739241f22b579d54df1240f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 16:58:02 2012 +0100

    FIX: Removed Assert of parsable file in AdjacencyList cstor.

commit 37e9101f26f594664b048b5c8d408321537230d6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 18 14:49:21 2013 +0100

    FIX: Qt3D changed cylinder offset to barimetric center.
    
    - this caused the dreiBein and bonds to be off by half their distance.
    - this was caused by a change from 19.03.2012 (c0fdc5ba).

commit 04cc7e83e97e6f4623661b50d9cdef202458b603
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 21 12:06:00 2012 +0100

    Added pretty printer for distance-energy tables.
    
    - added TrainingData::getDistanceEnergyTable() for obtaining data in unified
      table.
    - added pretty printer writeDistanceEnergyTable() in header file in namespace
      _detail.

commit 52e7dae29cbc64caa98ae4aa363274a2504c5c77
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 22 15:31:54 2012 +0200

    Angle training now also uses TrainingData.

commit ac868eea35190399f5c65a0cd26d49f950047285
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 23 12:05:01 2012 +0200

    Added unit test for functions in Extractors namespace.

commit 49f16315c13b0f304f23ecd3be72c79d1aaebe69
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 23 15:09:53 2012 +0200

    Added gatherAllSymmetricDistanceArguments().
    
    - using it for generation MorseData.

commit 63e786e63fdf7856f342b9c6b2575ceb7129bf44
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 19 15:08:23 2012 +0800

    Refactored realignElementTargets() out of gatherDistancesOfTuples().

commit c211f7e912fe5253cda271d45cc6f44037b5375a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 19 15:00:15 2012 +0800

    Refactored convertElementcountsToTargets() out of gatherDistanceOfTuples().

commit bc6705a6996f035750fa223ba432927ba5b764f7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 19 14:56:40 2012 +0800

    Refactored getElementCounts out of gatherDistancesOfTuples().

commit 301dbfe7ce5eed79d11e438d8f8b33e350ce1480
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 22 15:38:33 2012 +0200

    Refactored gatherDistanceOfTuples().
    
    - it is now able to work on arbitrary vectors of elements, not just tuples of
      two.

commit 4a77be7c74807798597478c1e2a88d09178390fe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 18 12:06:42 2012 +0800

    Added charge_t to Fragment.

commit 69ab843afc56395d322c572b60648c273b96a757
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 15 20:56:05 2012 +0800

    FunctionApproximation's cstor now accepts TrainingData instance directly.

commit 68172a73ac43709c67c953143f10961113ce423e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 15 15:48:43 2012 +0800

    Shifted class TrainingData into its own module.

commit f68c6845e5ea959313c49fc72cc3c3ee7de031e2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 15 15:43:23 2012 +0800

    Tersoff now also uses TrainingData class.
    
    - shifted calculation of errors into two new TrainingData functions:
      getL2Error() and getLMaxError().

commit 8aa597d50a9e1a99021b44a4fc01ec923c06490d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 15 13:17:21 2012 +0800

    Extracted namespace Extractors into own module.
    
    - placed gatherAllDistanceArguments() into subspace _detail inside this
      namespace.

commit 355af848a519d00e953ce3fa5d65e6236684dc1b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 22 15:38:54 2012 +0200

    Argument_t now has two Comparators on indices or distance.
    
    - added unit test on class argument_t's comparators.

commit 4ec18bda4f948c4cb0940aef26d0e2c067f73603
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 15 13:06:16 2012 +0800

    Added class TrainingData encapsulating the training input and output vectors.
    
    - MorseData now uses TrainingData.

commit 8ea8c8371b7844ab73654ede9424c76fce5cf537
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 15 16:20:08 2012 +0200

    DEBUG: Adapted graph getting to Butane sampling.

commit 9340eebc3c3e6d0b5c749ffd0eda36c27c0bc1f6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 15 16:19:37 2012 +0200

    Added PairPotential_Angle training to LevMartester.

commit 94f5672e292b12cbf8f229b6298d1f5dd8e08c48
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 15:52:30 2012 +0200

    Added check if result of SaturationPotential::parameter_derivative is NaN.

commit 1f0689656baededb0c9104e451a76d17d30841ef
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 15:46:32 2012 +0200

    DEBUG: Added msg about L2 contribution.

commit 19fa3b9733f66fde5e3c7642e2d248906037fcd1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 15:43:58 2012 +0200

    FIX: Removing average energy from order1-fit to Saturation potential.

commit 40fff17948f9ae794ea4b497539ca304238fc8b4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 01:46:30 2012 +0200

    Performing fit got CH4 now with SaturatonPotential instead of Tersoff.

commit 4ffbb79d92e61ca142eecc9e02d8d3c22ff4e125
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 01:46:05 2012 +0200

    Added SaturatonPotential that combines a Morse and a Angle potential.

commit 086070a60233b3562f63dca3455e7065142ee931
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 25 21:01:48 2012 +0100

    Moved all setParameters() from header files into module.
    
    - also each now assert that setParameters() equal getParameters().

commit c92c0df7ac9f5f1d576b4ab1e1fd3d9ab54a53bc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 16 15:44:51 2012 +0800

    Added unit test for PairPotential_Angle.
    
    - also corrected PairPotential_Angle::derivative().

commit a63187fab0bcc6fe01a865d33aa72b07de608851
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 01:45:26 2012 +0200

    Added PairPotential_Angle.

commit 51c50212088ce597a85bc85518b56a26abdaa7d1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 2 14:40:09 2012 +0100

    FIX: GLMoleculeObject_molecule::update() did not use ObserverLog correctly.

commit d3f0326fcf293a66e12c5e4adf61d498218a67f3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 16 00:41:18 2013 +0100

    Set version to 1.3.10.
    
    - MoleCuilder library is now 11:1:1.
    - Codename "Surprise" ("come as no surprise" are first words on page 1310 in
      6th edition of German Advanced Learner's Oxford Dictionary).

commit 69b30a9d9f057d2a0dd7409379b9e1bfb5108c94
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 23 17:23:07 2013 +0100

    FIX: boost::iarchive includes needs to go before MemDebug in LevmarTester.
    
    - interestingly, this only caused problems with disable-jobmarket.

commit ef918c61918f0ea8e263cb85b3f9cf5aed228442
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 16 00:39:36 2013 +0100

    DISTFIX: typo in header files.

commit 1f1f806913b3fda02747dc3fb1375cbf5ea9ed83
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 6 00:26:44 2013 +0100

    FIX: SamplingGrid::get..GridPoint() checks for begin, end bounds.
    
    - this fixes instabilities when we look for value at 0 but begi is at 0.1.

commit 313f836ec20460ebbd14dc92299a0031bcfe28d3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 31 14:26:34 2013 +0100

    SamplingGrid::operator*=() can now deal with incongruent windows.
    
    - new functions shrinkWindow() and AddIntoWindow() help to allow for shrinking
      the window to the minimum size of either window, copying the old values onto
      and multiplying with the other ones from a possibly larger window.

commit fb3485c1da8740bf16cf170a4d8a9bbbac971be7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 31 14:25:31 2013 +0100

    Refactored copy routine out of AddOntoWindow().
    
    - this is preparatory for preparing a shrinking and copying into a smaller
      window functionalities.

commit c0e8fb2ec177f8ad4be264758ec0f9345719b784
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 31 13:09:56 2013 +0100

    Added SamplingGrid::isCongruent().
    
    - also added unit test function.

commit 56b04ceaeb19f05b6c2a0dafdf747e6ecb448696
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 29 00:19:55 2013 +0100

    FIX: SamplingGrid::getNearestLowerGridPoint(), and ::get..Upper..() deal with rounding error.
    
    - if we pass through setWindowSize()'s get...() we may end up at a different
      point due to numerical inaccuracy. Hence, both functions add/subtract a
      slight perturbation prior to calling floor/ceil.

commit 620517d20d9663ecc219b492f249366f59b31b0a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 29 00:19:04 2013 +0100

    FIX: SamplingGrid::getWindowGridPoints() was broken.
    
    - or at least inconsistent with use in MPQC.
    - also added .._inline.hpp module to contain all inline functions.
    - placed several one- or two-liners in the inline section.

commit b123a57242414c8d345a18a31cf4a42a81222702
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jan 19 14:38:57 2013 +0100

    Shifted functions to add window onto grid into own namespace.
    
    - InterfaceVMG...Job now receive SamplingGrid and not the samples directly.

commit 8f3cdda52c1833250b3652985b1c78fc60b21a05
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 19 13:48:13 2012 +0100

    Adapted VMGJob and its Interface to new non-zero window use.
    
    - we required two new functions to copy window contents onto the grid and
      back again.
    - SamplingGrid::setWindow() is now private.

commit 64bafe0d0cd15e6cd2e50cb7a27b730cfec01778
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 19 13:46:23 2012 +0100

    SamplingGrid's Window start and end are now always set on a grid point
    
    - also made addWindowOntoWindow() safe with respect to rounding.
    - TESTFIX: this fixes SamplingGridUnitTest, removed expected to fail.

commit c6355f2a2d0b8d1942a82247a03b8c3193315bb1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 15 09:33:06 2012 +0100

    FIX: New non-zero window operations of SamplingGrid are now fully working.

commit de6dfb38ac7746ff442a0ddb707c6faa2fdcb721
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 11 10:24:45 2013 +0100

    Extending AddOntoWindow() by prefactor, can deal with differently sized windows.
    
    - also extended unit tests to check on working asymmetry.

commit e2404fa050e709be2837569246209e044c7f9b5d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 11 10:24:09 2013 +0100

    New SamplingGrid::setDomainSize() and ::setWindowSize() helper functions.

commit 1a00bbfd3d648bf38e39a80bc5a7461e50177425
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 3 10:02:23 2012 +0100

    Rewrote parts of SampingGrid such that a window of non-zero entries is used.
    
    - this makes the last part final O(N) as so far for the sampled_grid the whole
      domain has to be used instead of a tiny region around the specific fragment.
    - for this we added extendWindow() and addOntoWindow() including some new
      member variables that hold the window size.
    - added default cstor that correctly used SampingGridProperties default cstor.
      Otherwise we got the funny behavior that on some systems the very first job
      of q MPQCCommandJob (tests/JobMarket/2) is not re-instantiated.
    - unit test extended to cover the new functionality but marked as expected to
      fail because it is not yet working correctly.

commit 98f8feac4a80f869fb2b5907d674b4bb7e505326
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 19 13:46:58 2012 +0100

    SamplingGrid must have power of 2 grid size.
    
    - all number gridpoints returning functions were wrong as they related to
      unit length whereas they should have been relative to domain size.

commit 3d9a8d42283c7e552de1b62b094fae5646d71ce4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 4 10:32:04 2012 +0100

    SamplingGrid has no more size parameter but an end array.
    
    - this rather fits into scheme with the later to come window.
    - also several changes in interface due to SamplingGrid::size -> ::end[3]
      replacement.

commit e089fbaabf7b14c1e7537a12eb9d4165c7c20822
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 3 13:43:00 2012 +0100

    Moved particle arrays into a new struct in VMGJob.
    
    - also the docu now states that we don't need to serialize it.

commit 1b01e934ca04bd44526caf31e00f9a39f482fe0c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 11 12:05:12 2013 +0100

    FIX: Server missed forced binding to MPQCJob.
    
    - present was only to MPQCCommandJob.

commit 6752dc828fcabcc74aaeb4c2eee3e8ccbef34d70
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 3 14:49:00 2013 +0100

    DOCU: Extended installation explanations extensively.

commit 0a783477d66226c273578ea2e52416327e199337
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 17:26:21 2012 +0100

    DOCU: Updates optional enable targets and required and optional packets on install page.

commit d0faa8e57765a9c0bd8c55f3159fda6e94053ab0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 17:25:58 2012 +0100

    DOCU: Added note on failing regression test only on installcheck.

commit 9f5422f4d4324e10b38724e7335060adc4e78de4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 14 13:21:48 2013 +0100

    TESTFIX: ChangeBondAngle unnecessarily (re-)created bond graph.
    
    - this re-created the bond structure which changed order of bonds which caused
      the diff to fail.

commit 312c0d0b82a9cfb90116ffa17b93600a521be71c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 20 17:24:39 2012 +0100

    FIX: HomologyContainerUnitTest does not require libMolecuilderUI anymore.
    
    - pulled-in dependency from Fragment.hpp resolved via a stub that always
      returns true when comparing fragments.

commit d5b458b092f61a476384f5b9b116acbe1f30ffa9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jan 26 15:06:11 2013 +0100

    FIX: ax_codepatterns.m4 was broken w.r.t to debug lib.
    
    - fixed in version 1.2.4 which we now require.

commit 4d4ef8d914565d5aca8dbfef99b54d816d4eaecd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 14 17:57:23 2013 +0100

    FIX: Enforce binding to libMolecuilderJobs for Server and PoolWorker.
    
    - otherwise we are puzzled why Server does receive an empty vector of jobs
      although job id have been transferred flawlessly before. If the library
      dependency is not listed, the executables cannot instantiate class.
    - the remedy is again to create a static instance. We did this for
      MPQCCommandJob, VMGJob, and VMGDebugGridJob. Each has a specific _binding
      header which just has to be included.

commit cf1d823b3a48bb18e9495df9853f602112c417ff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 17:02:33 2013 +0100

    Parameter now contains Value, not inherits.
    
    - added several function to fully wrap all Value member functions.
    - this should prevent any vtable clashes between Parameter and Value that both
      inherit ValueAsString.
    - MpqcParser_Parameters.hpp does not contain any reference to the templated
      parts of Parameter or Value. These are only contained in the .cpp module.

commit 6440c6215032e9cb753701bc186867d2e638c0de
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 14:27:38 2013 +0100

    Reworked inheritance graph of Parameter and Value.
    
    - Value now takes both ValueInterface and ValueAsString.
    - ParameterAsString placed into ParameterInterface, deleted, and renamed
      everywhere.
    - ParameterInterface is longer template-dependent.
    - ParameterInterface and Value inherited by Parameter.

commit b11f5e894a1e470524372e3a267d6162ee110847
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 9 21:46:04 2013 +0100

    FIX: Value::setAsString(), ::getAsString take const ref.
    
    - arg chain was string instances before, corrected to const ref.
    - also extracted Value<bool> specialization into own module.

commit 9e67225a5c7cf21573d492a8db3d99c41a8404d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 11:00:09 2013 +0100

    FIX: Made Parameter functions inline.

commit 2665d30579bb5fa0e665b2940560e80469692b9b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 14:26:25 2013 +0100

    String specializations of Value placed into own module.

commit 574a4fb837ec6f0b34a1b8a499790ea0787f0067
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 21:55:03 2013 +0100

    FIX: python testsuite did not check for units, required by boxmaker.

commit 50eff3908d53467937940ec3efcb73a34375bcd1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 21:12:01 2013 +0100

    FIX: Value::getValidRange() and ::getValidValues() were broken.
    
    - not casting to const and forgot to return the value.

commit 4e904bc08ae46a7c0d529330138db45b728e994d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 21:11:33 2013 +0100

    Removed atom::IsInShape().
    
    - this makes libMolecuilderAtom not depend on ..Shapes.

commit a2f5e5a55d2bfddbb0e42406f2241bd96b7703f7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 21:58:23 2013 +0100

    FIX: Cleaned up includes in Psi3Parser_Parameters.

commit 42f2f07d3df05e4c874e53d9947526e77bd2cd68
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 10 21:57:48 2013 +0100

    FIX: MpqcParser_Parameter now simply uses Parameter<string> instead of <bool>.
    
    - we had some silly construct with inlined template specializations before in
      place to change Parameter<bool>'s default behavior from 0/1 to no/yes.
      We might have simply used a new class ParameterBool that inherits the
      templated one and overrides the function with correct behavior (and could
      still be placed in ParameterStorage) ... but it's actually better to just
      use a string Parameter with a discrete set of values: yes and no.

commit 58fccca9f201fa2902390ac75cadcc21572534c8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 8 15:40:11 2013 +0100

    FIX: XyzParser::load() stumbled if no empty line between timesteps.
    
    - also replaced char* by string and using getline().

commit b4b36487fc1ed74df5c22e1c187777c5c699ea52
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 8 12:19:28 2013 +0100

    FIX: Parameter unit tests all lacked CodePatterns lib.

commit 7d82a5107dfcc03ee6f2a1b4ee8c3083515b6ff2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 2 14:38:08 2012 +0100

    Changed bond::ptr into boost::shared_ptr.
    
    Changes:
    - refactored some BondedParticle functions, cleaning up the interface in terms
      of private and public functionality, added some helper functions to find
      bonds.
    - ptr = NULL --> .reset().
    - now initialising to NULL.
    - BondsPerSP is now list of boost::shared_ptr as well.
    - some include of bond.hpp instead of forward references necessary.
    - leftatom and rightatom are now set to NULL on UnregisterBond().
    - bonds are not deleted anymore but simply unregistered.
    - FIX: BondedParticleInfo did unrequiredly inherit AtomObservable.
    - removed UnregisterAllBonds(), code is now in RemoveAllBonds() where
      UnregisterBond is called for both bond partners. This ensures that the
      bond is correctly released and shared_ptr free'd.

commit c8302f3908877b8fb1eda3e8ac494300a5249860
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 2 14:36:49 2012 +0100

    Removed molecule::RemoveBond(s) and ::removeAtom().
    
    - this functionality has only been used in ListOfBondsUnitTest but nowhere
      else and it obstructed with change to boost::shared_ptr.

commit 88c8ec20f4a97f9685638eda1c07bca7fe46bd4e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 29 01:28:46 2012 +0100

    REFACTOR: Replaced all "bond *" appearances by bond::ptr.
    
    - this is preparatory for making bond::ptr a boost::shared_ptr of bond.
    - NOTE: We had to remove a const prefix at four or five places and forward
      declarations had to be replaced by the true inclusion of bond.hpp at tne or
      so files. Apart from that, the replacement has been very smooth.

commit d6b6ce277d43f008628b94a8af863c2f33eff1e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 16 20:51:53 2012 +0100

    Set version to 1.3.9.
    
    - Molecuilder library is now 11:0:0.
    - Codename "Benzene" (The C-C bond distance in benzene is 1.39 angstrom).

commit a30b7f576711b6033b0eed077d52f3ead1d3412a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 8 14:12:44 2012 +0200

    Added check on L2 sum and Lmax norms of fitted Tersoff with respect to training data.

commit 17b35987a27bdf15de59d722edd1fe2b0d797d2d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 7 17:35:53 2012 +0200

    Starting parameters for Tersoff minimization in LevMartester are now chosen randomly.

commit d032921179582b5da1ab3dfa13a0d02d06251602
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 21:18:28 2012 +0200

    Implemented box constraints for FunctionModel, using a feature of LevMar.
    
    - we need lower and upper bounds for each parameter. These can be passed on
      to specific function of LevMar.
    - LevMartester checks whether isBoxConstraints apply and requires parameter
      derivatives in this case.

commit f48ad38cd0929af71770a13f3b37615e477e02b2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 18:40:53 2012 +0200

    LevMartester now uses FunctionModel::setParameter() to set initial parameters.
    
    - this also adds initial parameter for the Tersoff case which have not been
      present before.

commit eb1efe719c9062ecc3dbe78c9ad1eefbf84a5023
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 16:02:07 2012 +0200

    Extended LevMartester to fit a Tersoff potential to the first order fragments.
    
    - this required adding a globalid to argument_t for the triplefunction to work,
      i.e. in order to get at possible neighbouring atoms and their distances. This
      requires some global information.
    - TESTFIX: We don't need static variable CurrentConfiguration in
      ManyBodyPotential_TersoffTest anymore as we have the index to the current
      configuration now stored in each argument_t.

commit bc55c96be4a2187ff0a65ac84ba020d9a58c4900
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 00:37:55 2012 +0200

    Added NaN check to Tersoff's parameter_derivative().

commit 56c5de4c82fcb8f395292fb1210c497b6aa81ec9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 11 00:35:53 2012 +0200

    Added an offset to the Tersoff potential.

commit 2e94862fe129a46553a3b511b832956e78a1b260
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 8 23:30:38 2012 +0200

    FIX: Tersoff must sum potential over every of the arguments.

commit ca8d8233e18d2fac0946021d984e388e215e9212
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 7 17:28:49 2012 +0200

    FIX: Corrected parameter derivatives of ManyBodyPotential_Tersoff.
    
    - setParameters also allows setting of less parameters than required.

commit f904d5f531c1e72c1dd49182c9acbc071c10c0ac
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 22:28:13 2012 +0200

    Added complete parameter derivatives to ManyBodyPotential_Tersoff.
    
    - this is required as levmar_bc_dif is implemented via levmar_vc_der.
      Derivatives are taken from [Malshe, '08].
    - extracted angle calculation from three lengths into function_theta.

commit 752dc7655143ca8a6de30ce81c8c379cca0d84c7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 22:27:13 2012 +0200

    FIX: Made R and S also fixed parameters, this is in accordance with [Malshe].

commit 990a6201b35907a408b9560a3016513b5b26db66
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 18:45:23 2012 +0200

    FIX: Tersoff parameters lambda3, alpha, chi, and omega are now fixed.
    
    - for this we needed to exclude them from params. This is the cleanest way
      as suggested in levmar FAQ Q20.

commit ffc3688dd044a0c874c10a37de01139caff883c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 00:01:47 2012 +0200

    ManyBodyPotential_Tersoff is now correctly implemented.
    
    - changed implementation to match with [Tersoff, '89] with incorporates
      configurations consisting of different elements and which is also the
      one implemented in tremolo (for whose ptential parameters we aim for).
    - we have unit test of operator() that checks against a set of values obtained
      from a brief run with tremolo of a configuration consisting of 5 carbon
      atoms: the results are the same by each function.

commit e7579ed03a2594b79fb214806a5efc0a927b5480
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 4 13:34:36 2012 +0200

    Changed ManyBodyPotential_Tersoff to also have parameters_t instead of single member variable definitions.
    
    - added enum to give each entry in params a meaning.
    - modified setter and getter for parameters accordingly.
    - default constructor is now private, as we always need the triplefunction.
    - changed other constructors accordingly.

commit 76cbd082753cf16eee92e72dd98df9644cb2bd3f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 4 12:58:53 2012 +0200

    Added PairPotential_MorseUnitTest.
    
    - so far, added simple test on operator() with a range of data obtained from
      gnuplot table.
    - derivatives are only tested at the minimum.

commit b70b536beb4d228f4c98907dc83872914b6b8e5f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 27 09:41:58 2012 +0100

    FIX: Checked PairPotential_Morse::parameter_derivative with Maple.
    
    - also added maple's results as comments and reformatted code to match.

commit 155cc2b018aff9ee38cdc162034777bae6e9c894
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 3 22:23:20 2012 +0200

    Added PairPotential_Morse with derivatives, used by LevMartester.
    
    - we can now succesfully fit the stretched CC bond in C2H6 to a Morse
      potential.

commit 9e903b3e7c30cd9a3ff47d2adb5dc8e7b73bee4f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 28 12:47:23 2012 +0100

    Added operator<<() to FunctionArgument.

commit 371c8b9de46ae63a283967c0c114cc9cf2ae14d2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 7 17:34:28 2012 +0200

    Added FunctionApproximation::checkParameterDerivatives().
    
    - FunctionApproximation::prepareModel() and ::setParameters() now allow less
      than required number of parameters.

commit 63b9f71278dfbb84333e9df7d2b5df0d4fd3af8c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 7 17:24:51 2012 +0200

    REFACTOR: Split off prepareModel() and prepareOutput() from FunctionApproximatio::operator().

commit 76e63d1c9c00614290e258f4cef1e1ccbbf3a1c6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 18:37:54 2012 +0200

    Extended FunctionApproximation::operator() to receive JacobianMode parameter.
    
    - this lets decide between finite differences or supplied parameter derivative.

commit 3c14659b7603330f67b6366728f59a4a8a39c5a3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 4 12:19:39 2012 +0200

    Added PairPotential_HarmonicUnitTest.
    
    - so far, we test the operator() with a simple set of ten datapoints.
    - the derivatives are only tested at the minimum.

commit 5b572453f3696dfe64e32fd5b3a3a1e74aef4b3b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 3 21:58:56 2012 +0200

    FunctionApproximation now uses levmar_der, i.e. additionally the derivative of the FunctionModel.
    
    - added LevMarDerivativeCallback as another static function.
    - added ::evaluateDerivative that fills the Jacobian matrix as output.
    - removed meyer and jacmeyer from FunctionApproximation module.

commit 1dca9a7ed8242e0bbe4f550311b7e370bbdd0fe8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 3 21:58:07 2012 +0200

    Modified PairPotential_Harmonic to have an internal vector of parameters.
    
    - an enum gives which index in the vector refers to which parameter. This makes
      the subsequent implementation of the parameter derivative easier.

commit 3ccea38d4d73d1d49951e5f8f152aafea660b576
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 3 21:08:38 2012 +0200

    EmpiricalPotential and FunctionModel are now inherited virtually, have overlapping function definitions.
    
    - EmpiricalPotential and FunctionModel differ only in the way of the
      derivative. The simple function evaluation is the same. EmpiricalPotential
      however desires the derivative with respect to the arguments, while
      FunctionModel requires the derivative with respect to the parameters.
    - therefore, we shifted some of the function definitions in between the
      two and had to some typedefs in PairPotential_Harmonic and
      ManyBodyPotential_Tersoff to clarify ambiguities.

commit dac89b16e49da2d46b22d430cacca889c77271f3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 17:03:55 2012 +0100

    Using FunctionModel and setTrainingData in LevMartester.

commit 65c42c3fc547a78ed19d50b2c1d4f12aa67cc2d8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 11 17:03:40 2012 +0100

    PairPotential_Harmonic now has additional offset parameter.
    
    - do we need this value in general or not?. A constant should in fact be
      removed by zero and first order ... but it has to to remove the minimum
      value. Otherwise the fit cannot converge properly (hence the parameter
      probably inavoidable for stability).
    - With this setup we were able to successfully fit to a C2H6 system where
      the CC bond length was specifically manipulated. However, the harmonic
      function is not the best model, a Morse potential seems more adept.

commit c62f9677cf0a73fc8f5df3ff21f2a8c1ee86554b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 3 12:47:16 2012 +0200

    LevMartester uses now FunctionApproximation.

commit 4f82f83a50fa8fb99e9d809e96bed7e48c874dfe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 3 12:45:56 2012 +0200

    Rewrote EmpiricalPotentials and the specific implementations such that they are usable as FunctionModel's.
    
    - FunctionArgument (i.e. argument_t) now resides with FunctionModel and is
      removed in EmpiricalPotentials.
    - Empirical Potentials is now an empty interface and might be removed.

commit 66cfc791a31134a511bad433ec78b3e5532d5106
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 2 22:45:09 2012 +0200

    Added new class FunctionApproximation that encapsulates the LevMar usage.
    
    - two new helper interface FunctionModel and FunctionArguments. The latter taken
      from EmpiricalPotentials.

commit dda3e8e0ed52a27bea7146869d59f76442212c40
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 4 12:19:07 2012 +0200

    Added Helpers::isEqual() as equality operator taking numerical (im)precision into account.

commit bf12d19a7f676d91ce9221675cebc29d5393caa9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 19 15:21:33 2012 +0100

    FIX: WriteTable might fail because of size_t difference.
    
    - MaxLevel-StartLevel might wrap and hence cause ASSERT in writeTable to
      wrongly fail.
    - added checks in printReceivedFullResults() whether we actually have MaxLevel
      larger than 2.
    - also enhanced documentation a bit.

commit f06d528db608aa670621118d65d43dc67a5b5fd2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 2 14:16:04 2012 +0200

    Added LevMartester that employs levmar package for non-linear regression.
    
    - as liblevmar is not a dynamically linked library, we don't need lapack.
    - path to levmar has to be given with --with-levmar (and is not tested so far).
    - LevMartester is linked against liblevmar and with includes.
    - copied Meyer's (reformulated) problem from lmdemo.c which is solved to same
      result.

commit fe0355ee3fec7d6cbe3e4b2fdc1797b211092dff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 2 18:02:13 2012 +0200

    Split HomologyGraph_getFromKeyset module off from libMolecuilderFragmentation.
    
    - added stub into own module to allow linking against
      libMolecuilderFragmentation independently from libMolecuilderUI remainder.
    - changed libHomologyContainer linking accordingly.
    - this is especially useful for NNtester and LevMartester.

commit 610c11a5323c7e86a4ffb55afc832f78510a0136
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 26 17:18:41 2012 +0200

    Added Tersoff potential as first many-body potential.

commit 6bb72a1d333eb13b241f2296056b61a3f431aa72
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 26 17:16:29 2012 +0200

    Added general interface EmpiricalPotential and a first potential, the harmonic pair potential.
    
    - EmpiriCalPotential is to be derived from any potential function, setting the
      interface of how these are called.
    - PairPotential_Harmonic implements a simple harmonic potential.
    - EmpiricalPotential has subclass argument_t for the argument consisting of
      distance and index pair as we need to store the indices of the given
      distance.

commit da5b82d30ae2c9f8347379eb8e0fa1ea90a2ab78
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 7 09:20:15 2012 +0100

    Set version to 1.3.8.
    
    - Molecuilder library is now 10:3:0.
    - Codename "Lead-acid battery" (13.8V is the optimum voltage for charging the
      battery in cars).

commit 97a858e8bd34fb9d017810e7d91311ade1fbbf2e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 14 15:24:30 2012 +0100

    Added some developer scripts to check on commits and releases.

commit 12098a4b39967b9685cdc4ee1bad7bc1723f2073
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Nov 23 14:57:12 2012 +0100

    Refactoring: use vector<Shape> instead of vector<Shape*> in RemoveShapeAction's state

commit 29ea65c708b2778dfed09f35f53078f9ae87ceed
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Nov 23 13:56:54 2012 +0100

    StretchShapeAction added

commit 3ce0f13dab1ee13c2e8e829c15cf3a7273768d19
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Nov 21 16:47:47 2012 +0100

    RotateShapeAction now handles center!=0

commit 216dad89cd27e5381aff3b8ab1a91d103e160257
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Nov 21 15:54:53 2012 +0100

    added shape edit actions to QtShapeController

commit 7e19060840b9a23d7a7c09c60fa66cc83c9325c6
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Nov 21 14:44:36 2012 +0100

    use degrees as angle input in shape actions

commit a2bbb14f9ffbccf2908b0ddcaff8ca3770503097
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Nov 19 16:37:53 2012 +0100

    RotateShapeAction added

commit 0b50574573487816f0c12002dfdc46008b5003c6
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Nov 19 15:11:03 2012 +0100

    TranslateShapeAction added

commit 46706955cf987164d435b2495e8028df14fb89f9
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Nov 22 16:00:47 2012 +0100

    "FIX": allow tesselation of points with negative coordinates

commit 2defa919a0e331941938bf6a647c3669b670275f
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Nov 21 14:38:27 2012 +0100

    FIX: (ShapeFactory) wrong test for trivial rotations

commit 13202cd9d0bcc0bfe77191e405183fde83564a55
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Nov 19 16:34:32 2012 +0100

    FIX: made Cuboid.isOnSurface() robust enough for transformations

commit 148dde065b79344a7f3c001cf89995babe5342af
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Nov 19 15:10:12 2012 +0100

    FIX: missing map.erase() in GLWorldScene::removeShape()

commit 6d084a46769eb22a8c67c068665f18be1882bd87
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 14:05:28 2012 +0200

    DEBUG: InterfaceVMGJob does not printGrids anymore.
    
    - output folder grows and grows.
    - TODO: We should have VMGDebugGridJob print the total density as well!

commit 91a5652e07406f1a37c1832e3a3c16579713f146
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 18:23:12 2012 +0200

    DEBUG: Added some debugging output for constructed HomologyGraphs in FragmentationAutomationAction.

commit 28e203e6456a3f5cc0834db4820e44de942f6625
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 18:22:03 2012 +0200

    FIX: nodes_t and edges_t in HomologyGraph must be a map.
    
    - there may be multiples of the same node or edge. Hence, now we store the
      count in a map.
    - changed operator<<() accordingly.

commit d058e636e53f3d9b6081470e70bece6d6ee784cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 16:10:18 2012 +0200

    Exposed const begin,end of container in HomologyContainer to allow read-only access.

commit 79398d120cb8deaf4a8415e95a30158667b93359
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 12:38:11 2012 +0200

    Extended map<IndexSet, MapType> in FragmentResults to a pair of values for both value and contribution.

commit 2dd305d105005aebf180a24502171bfdb638c5f2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 12:31:51 2012 +0200

    Split FragmentResults functionality in cstor into cstor and operator().
    
    - this allows accessing IndexSetContainer's contents afterwards which is
      required in order to sensibly access the new map< IndexSet::ptr, MapType>.
    - adapted call in FragmentationAutomationAction.

commit bfbd4a376406cc93fa60892e691159cc09a8a35a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 10:58:39 2012 +0200

    Storing KeySet file with global ids now.
    
    - We now parse in key set file in FragmentationAction::performCall().
    - new function Graph::getLocalGraph() which sorts out all keysets local to a
      given molecule.
    - this local graph is passed on to Fragmentation::FragmentMolecule().
    - Fragmentation::AssignKeySetsToFragment() now has const Graph ref as param.

commit d1ba0df07713d2a30843b694f8e7a087b45fd936
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 10:57:14 2012 +0200

    FIX: Forces-Factors are now written with global ids, HomologyContainer relies on it.
    
    - in FragmentationAutomationAction::performCall() we now use the ForceKeySets
      to create the HomologyGraph (which has global ids with hydrogens).

commit e71325dab5e319d68b99f336888240e7745ed87a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 10:52:15 2012 +0200

    FIX: All functions in Fragmentation and related now use const string reference for path/prefix.
    
    - they need nothing more anyway.

commit 17c03fa7645e73b1b9eb1e67912eaaca6a1971cf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 10:00:23 2012 +0200

    Extracted parseKeySetFile from FragmentationResults, FragmentationChargeDensity, FragmentationAutomationAction.
    
    - this removes the code duplication.

commit 766767c66b905081c5796b3988065b0f0c31b855
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 18:26:02 2012 +0200

    appendToHomologyFile() now constructs the HomologyGraph and its values.
    
    - i.e. now we truely append our calculated fragments to the HomologyContainer.

commit 372c912d546dab1fa0cacaa5ecc66020c7b3b282
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 18:24:25 2012 +0200

    Extended HomologyGraph to also be constructable from IndexSet reference.
    
    - we templated logic in getNodesFromSet() and getEdgesFromSet() and have a
      version for either KeySet (int) or IndexSet (size_t) that instantiates the
      template accordingly.
    - also extended the stub by two more dummy functions such that we avoid still
      the clutter of World, atom, ...

commit b8f0b250c2143e3d8e7c3b8ef67750ab6eccc8b1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 17:53:20 2012 +0200

    Extended FragmentResults and FragmentationChargeDensity to contain map of (IndexSet, contributions) pairs.
    
    - this is preparatory for storing these in the HomologyContainer.

commit 69e065666b610d9348120ce282aabfeb2adc7149
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 17:52:00 2012 +0200

    Added getContributionForIndexSet() and ...Value...() to (Orthogonal)Summator.
    
    - this is preparatory for storing a map of IndexSet's and its contribution in
      the sense of the ANOVA decomposition.

commit 07266bba2e30da79ac2bdd0f561abbdbd5b68ccf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 17:51:23 2012 +0200

    Added SetValueMap::getConstValue() for getting const reference to SetValue.

commit 240c3e6656ddf8b49c7e2d1576ded8eab2d3245b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 16:42:38 2012 +0200

    FragmentationAutomationAction now uses a file containing a serialized HomologyContainer.
    
    - the idea is that we append the calculated keysets als HomologyGraphs to the
      instance that is afterwards again serialized to file.
    - so far, we do not yet create the graphs, we only parse the file and write
      again the instance.
    - new parameter "homology-file".

commit 37ce5d4d59915ca74d0ededb806c014397524a22
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 16:09:19 2012 +0200

    FIX: Switched SYSTEM and FILESYSTEM libs in LDADD in src/Makefile.am.

commit f24af7ca0af91ea6929d8f8d7a43e2000d186c1a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 13:59:38 2012 +0200

    FIX: FillRegularGridAction is now usable with random-atom-displacement.
    
    - the problem was that the randomly shifted atoms peeped out of the tightly
      fitted bounding shape and hence the insertion positions were always
      discarded.
    - now the bounding shape is extended by this random displacement such that
      insertion points are valid again.

commit 55feea1b3363ddc5e3281f1e64847e46ec7ed1a7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 13:58:05 2012 +0200

    molecule::getBoundingShape() can now be given an additional boundary extending the shape.

commit 0e2e6ce718fd04d073da7655ecff3431099dd501
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 13:57:36 2012 +0200

    DEBUG: Checked that RandomInserter does its job correctly (correct undo).

commit 35ec9cc711c9d565e3bc6360d3a0fc4119c9f6bb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 13:56:56 2012 +0200

    Added output operator to ClusterInterface.

commit 5251af47de8fb4cca67fe218856c61bc40011501
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 13:56:20 2012 +0200

    FIX: ThermoStatContainer generated a default thermostat but did not call addToContainer().

commit 4882d52fd77a2eb51b75de4188f4386a1dbad67f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 5 09:59:22 2012 +0200

    Rewrote VerletIntegrationAction to diminish dependence on ForceMatrix.
    
    - atom::VelocityVerletUpdate() now works on the forces stored in AtomicForces.
    - ThermoStatContainer::getActive() getter for the currently active thermostat.
    - VerletForceIntegration::operator() split up into several smaller functions.

commit 8b886f03775fdc38d05053874958082ee74602f3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 14 17:29:51 2012 +0100

    Added ChangeBondAngleAction that changes the bond angle while keeping the distance.
    
    - also added regression tests with undo/redo.

commit f63e41b6a0ddb762209a7c4ba24753bc9ceb33a2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 14 11:37:48 2012 +0100

    Added Actions to add and remove a bond in between two atoms.
    
    - added new menu "bond".
    - added new CommandLineParser options "bond".
    - added new regression test folder "bond".
    - also added regression tests with undo/redo for the new actions.

commit cb24653f1d394016a9d49b8680f7ae30dc421f9b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 14 11:19:54 2012 +0100

    FIX: Changed Atom's AddAction and RemoveAction header inclusion prevention name.
    
    - this would collide with new Bond's actions.

commit e85169ea16ab11d65e89040c995f640fe49d571b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 2 15:13:02 2012 +0100

    FIX: Prevented errors message occured due to clearing BondsPerSPList.
    
    - BondsPerSPList contains newly allocated bonds which a not registered with the
      atoms. Hence, we trigger a warning when removing the bonds which tries to
      unregister them first.
    - this is because we abuse our atom-bond system a sort of low man's way to a
      graph structure. We would be better off by obtaining the key lists
      representing the fragments from a true (dissected) graph. Then, we would have
      no need for this bond con- and destruction.

commit 0cfc27793a722b1fdf1c500d9e92ac5c537731f2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 12:34:28 2012 +0200

    If no CPPUNIT is found, compilation of unit tests is disabled.
    
    - uses conditional CONDCPPUNIT.

commit 7ace68b056e959069efaf78ec2c7fe5d32417cae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 16:04:48 2012 +0100

    Added multiplicity guesser for Psi3Parser's UHF.
    
    - TESTFIX: changed multp in testuhf.psi and testtwocon.psi of regression tests
      Parser/Psi3 due to multiplicity guesser.
    - TESTFIX: changed multp in the same way in ParserPsi3UnitTest.

commit 14de8e10b6472939a227125bc47dee8250c96dcc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 13 18:41:58 2012 +0200

    Molecuilder parses and executes python script 'molecuilder.py' prior to launch of UIs.
    
    - this is mostly copy&paste from
      http://wiki.python.org/moin/boost.python/EmbeddingPython which was really
      simple to adapt to as we already had the python-scriptability in place.
    - NOTE: This can also easily be extended to "loading" a script and executing
      it as sort of meta/macro action.

commit 7ef5b9a28cc8e6a75e313d161b3e003834eae2a6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 16 13:29:01 2012 +0100

    DOCU: Extended documentation on how values from the user are eventually used by Actions.
    
    - updated ValueStorage docu.

commit 6ffc0b5857c2bdc65abf4dd377e4d6ab72c2dc7b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 12 18:01:24 2012 +0200

    DOCU: Enhanced documentation of tests with information from TRAC.

commit 3b75c2be482efc41261ee310e9d7912a9290bf1b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 25 10:40:51 2012 +0200

    FIX: FormatParserStorage now first deletes the parser, that flushes the stream, and then removes the stream.
    
    - this is cleaner in terminating the stream as otherwise the stream has been
      removed but the parser still has a pointer to it.

commit fc41df4b80fbb4e23eb2ca6de63d734de2f9ba5d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 25 10:40:00 2012 +0200

    FIX: TremoloParser::readAtomDataLine now uses const ref word and const_iterator for usedFields_load.

commit 05e2edeb4381b4ecb7c744e4a9837e2607de986d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 25 10:29:25 2012 +0200

    FIX: TremoloParser did not load/save imprData or torsion correctly.
    
    - this error was introduced when incorporating local-global-maps and
      conversions where this was not correctly done for the improper and torsion
      string:
     - conversion from local to global on load was present but went over all
       atoms, not just newly parsed ones. adapt.. now gets atom vector as param.
     - save did no global-local conversion. For this we generalized
       adaptIdDependentDataString() to get a function pointer converting ids.
    - TEST: We added a new regression test on this matter where a .data file with
      impropers is loaded and stored.

commit 67ab71acd6bc1af77192d3984502c597446d439b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 6 14:52:30 2012 +0100

    FIX: default's resSeq in TremoloParser written inconsistently.
    
    - TremoloParser::saveLine() would add +1 to moleculeId but not else. Hence,
      if we load a .xyz file and store as .data, the resSeq is 1. If some default
      value has been set before, it would be 0. Also, it would get parsed as 1 and
      wrongly stored as 0 (see e.g. Parser/Tremolo's pre and post test.data).
    - TESTFIX: new Parser/Tremolo/post/test_xyz.data to check correct default
      value used in testsuite-parser-tremolo-save.
    - TESTFIX: Modified Parser/Tremolo/post/test.data as parsed value is 1.
    - TESTFIX: Modified Parser/Tremolo-Potentials/post/test.data as default value
      is 0 (pre is .xyz file).

commit a86cda26ca0c4a3c5b8164b32b95deff7c1f48c2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 25 10:00:33 2012 +0200

    FIX: TremoloParser tripped over following tab in ATOMDATA line.
    
    - we now swallow whitespace between keywords.

commit 0d97b4b7169d73c32a31da6e1baa10b740848f7e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 14 11:55:37 2012 +0100

    FIX: Disclaimer appeared twice in each testsuite. Second time removed.

commit 1d02c2d6cd53d64b17fe552a87cbeaa42c2f7fff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 23 08:47:09 2012 +0100

    FIX: GLWorldView lacked molecule include.

commit 8ce7304ad758a1033725c3d0e5473fcad51e87bf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 23 08:46:20 2012 +0100

    FIX: Issue related to LOG_OBSERVER in GLMoleculeObject_molecule::update().
    
    - copy&paste error from GLMoleculeObject_atom::update() probably.

commit c8f12e4acd58d1a34b62174adb2b4c39788ea160
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 3 13:56:45 2012 +0100

    Set version to 1.3.7
    
    - Codename "Fine structure constant" (the fine structure constant is about
      1/137).

commit 79ac0395a78b6767dfc9c1d71f87c49f607546b7
Merge: a576ebf 12a24cb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 13 11:12:51 2012 +0100

    Merge branch 'Fragmentation_Homology' into Candidate_v1.3.7
    
    Conflicts:
    	src/unittests/Makefile.am
        - new subfolders are in neighbouring lines, no real conflict.
        - Removed temporary class Fragment from HomologyContainer, replaced by
          SetValues/Fragment.

commit a576ebf5f3584942d7d48537934a4df3bed212ae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 16:41:06 2012 +0200

    Added serialization capability to Fragment.
    
    - also added unit test function on this.

commit 12a24cb265abb9ed292c6a016a6a745267373e05
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 15:52:16 2012 +0200

    Added serialization to HomologyContainer and completed HomologyContainerUnitTest.
    
    - Added specific operator==() to HomologyContainer as multimap's values'
      ordering is not guaranteed and boost::serialization does not adhere to
      it (simple copy of multimap probably maintains the ordering).
    - added InsertionTest, EqualityTest, and serializeTest().

commit 67db806639ff7456fbd7dd055cd5657502eb2af1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 27 15:23:40 2012 +0200

    Added serialization capabilities to FragmentEdge, FragmentNode, and HomologyGraph.
    
    - also added unit test function for each.

commit e33bac08ce3d2ffc405a788b637506f147601331
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 23 18:43:33 2012 +0100

    Set version to 1.3.6.
    
    - Codename "Triangular numbers" (The sequence 0,1,3,6,10,...=n(n+1)/2 or
      A000217 in oeis.org).

commit db6f7d5bfbb4b11d713dc5ba5ec62d4a67309ab8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 22 16:58:36 2012 +0200

    FIX: We must not assert but check whether full molecule is loaded in FragmentationAutomationAction.
    
    - TESTFIX: Regression test Jobmarket molecuilderrun did not supply full
      molecule.

commit cd2591cc2d151041e4a7f97421983ac4ccad8db0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 13 10:26:14 2012 +0200

    Added interpolation-degree as parameter to FragmentationAutomationAction.
    
    - this allows setting the interpolation-degree without recompilation.
    - this is now required as we have to calculate the nuclei energy whose
      precision depends on the interpolation degree from the potential grid.

commit 67fec1f0516fdf2281ae25b110de4eb02240e94a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 13 10:17:08 2012 +0200

    Changed VMGDataMap to contain entries for electron, nuclei, and total contributions.
    
    - due to now sampled potential for nuclei, we store these in the table file as
      well and also the difference as the total contribution.

commit 82cbe49d38c142fdca94ca1ba031e48277563cb9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 13 10:15:00 2012 +0200

    Writing additional VMGEnergy table to file.

commit a82602d89e2fa235117faebd8927979ae430d56d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 12 17:23:13 2012 +0200

    InterfaceVMGJob now also calculates nuclei interaction energy.
    
    - necessiated to Particle::commMPI().
    - CommParticles() call in ImportRightHandSide().
    - in ExportSolution() we just copied stuff from interface_particles.cpp from
      VMG project.
    - returndata.e_long now contains calculated energy from there.

commit 5a5196ce72216409382904043b36c0b0e8c3d422
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 17:20:22 2012 +0200

    FIX: Now we OrthogonalSumPerLevel potential * charge per fragment.
    
    - otherwise the short_range_correction yields the full coulomb interaction and
      we obtain zero for the remaining long_range energy.

commit d4f31f81b52f0c8280c1e51d05c0c10027b7a75e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 5 16:10:01 2012 +0200

    FIX: FragmentResults now sums up long-range correction only for level 2 onwards.

commit 19c50eb693e8d3faf8263bc25521a1c6c63b67e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 4 10:26:23 2012 +0200

    IndexSetContainer now treats super set specially.
    
    - The super set must not gather its subsets via the gatherSubsets() as by
      construction all other sets are its subsets! As the super set is very large
      the power set way is no good idea.
    - added default cstor for SortedVector
    - removed SubsetMap::getMaximumSubsetLevel() as is replaced by
      ::getMaximumSetLevel() which is the level to sum up to.
    - changed all uses of getMaximumSubsetLevel() to getMaximumSetLevel().
    - TESTFIX: Changed unit test function on getMaximumSubsetLevel() to check on
      getMaximumSetLevel()
    - removed OrthogonalFullSummator as is fully replacable by OrthogonalSummator.
    - changed IndexSetContainer::createSuperSet a bit.
    - IndexSetContainer::AllIndices is now no more static convenience entity but
      truely contains the super set (non-statically). ::createSuperSet() is for
      convenience to be called in cstor for AllIndices.

commit 4f056ee4f8f8ba61bbfbf5d3291ade39e1f70347
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 4 10:13:21 2012 +0200

    Refactored controller usage in FragmentationAutomationAction: Made three distinct parts.

commit 27594e98143a33dbfb73bbd57d1e04ef63ad1cb8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 19:19:30 2012 +0200

    Added FragmentationChargeDensity to contain summed up charge density.

commit 86cfac549b241910bb5f0786c6c412d4802f2ecc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 4 10:10:03 2012 +0200

    Resulting tables in FragmentationAutomationAction are now written to files.

commit 376a3b4220232a3fc45f7570dc4ff0ac93d50add
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 18:39:17 2012 +0200

    Added FragmentationResults as a container to hold final fragmentation results.

commit a3112d40f12175114c1cbb5f5fd931fa82579847
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 18:38:33 2012 +0200

    (Orthogonal)SumUpPerLevel now is template for the data structure, too.
    
    - this allows it to be used with MPQCData and VMGData.

commit 184615a835601d841ff0ed66b473f820611f27cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 18:27:22 2012 +0200

    Extracted createMatrixNrLookup() into own header file.

commit c699f4a92bce188cea9745629daa5f131c0768d8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 18:24:43 2012 +0200

    Removed OrthogonalSummation stuff from printReceivedMPQCResults() again.
    
    - this should bring printReceivedMPQCResults() down to what it was when we
      started this branch.

commit 447481c9093e8228d3068ae67d0b5e676c825ae1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 18:21:47 2012 +0200

    Extracted template function extractJobIds() into own header file.

commit a2295a3134eea526357331db860e7c4fa6cbf28c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 14:31:11 2012 +0200

    We now create one full potential VMGJob of each summed up grid per level.
    
    - i.e. we now have a vector of full_sample and full_sample_solution.
    - new fusion map VMGLongRangeMap_t and VMGLongRangeVector to print the summed
      up grids via writeTable<>.

commit 2388688c3e24cb54fc978d6c8efd1ddead979d8a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 31 14:29:13 2012 +0200

    Added VMGDebugGridJob that just prints given sampled grid as VTK grid.
    
    - this is to allow inspecting the potential on the various summed levels.
    - added to FragmentationAutomationAction::performCall().

commit 4aee30a5e04ca02651e262da12049cf46466d8d3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 30 17:32:41 2012 +0200

    Timings of MPQCJob are now gathered for total and for the gathering process.
    
    - the gathering process e.g. includes sampling of electron density.

commit de84efb698bb8f2f44d7a4e036e23a3817d025b4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 29 15:11:50 2012 +0200

    FIX: Poisson problem is now calculated in atomic length units.
    
    - as we calculate in atomic units, we must pass lengths not in angstroem to
      VMG but on bohr radii.

commit 0655742262dfa8dd58ce4c44e738fe5208a3c4f5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 29 15:09:08 2012 +0200

    Added level and near_field_cells as options to FragmentationAutomationAction.
    
    - new options are grid-level and near-field-cells that allow setting the
      precision of the electron charge density sampling (and potentil calculation)
      and the smearing out of nuclei charge density on the command-line.

commit 758e56a80af32184c09fb482a0b9e0072ce4e5a6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 23:35:01 2012 +0200

    printReceivedFullResults() now multiplies long-range potential times charge distribution.

commit 0990e199f85d3f8130636eb3256b7f969a320595
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 23:31:26 2012 +0200

    FIX: MemDebug needs to come after VMG stuff, otherwise we run into trouble with invalid new/deletes.

commit c44322dead4b532287ef5f5ad002e748690ccd77
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Sep 23 12:00:03 2012 +0200

    Using operator<<(SamplingGrid&) to give debug info in MGFragmentController::createLongRangeJobs().

commit ffe0574b028ca944317a09afeafb7d94ea893726
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 13:59:18 2012 +0200

    Added SpecificFragmentController and subclasses that contain functions to add type-specific jobs.

commit e15ffe45688ddef78bcef1bbba8b711c8a07f382
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 19 14:50:45 2012 +0800

    Added HomologyContainer::operator<<().

commit 54a56195d09e9b0c9488358886a6955cc0e399c0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 28 16:10:51 2012 +0200

    Added output operator to HomologyGraph.

commit 77b350d4a59d3e57df0f050138ff3e04048d90f2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 25 19:31:00 2012 +0200

    HomologyGraph may now be created from a given KeySet referring to World's atoms.
    
    - HomologyContainer now contains HomologyGraph as keys in a multimap and it
      stores a (rudimentary) fragment and an energy value.

commit 7b6b21f8725bdab8c2d666fc902d98a54d5ccaba
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 11:12:28 2012 +0100

    Added HomologyGraph that contains combined information on edges and nodes.
    
    - this class represents a specific homologous molecular fragment.
    - added unit test on comparator and assignment.

commit 8387e06f968d381b3fce254b7726ba0d11c5a748
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 30 11:11:58 2012 +0100

    Added FragmentNode and FragmentEdge to contain all information for comparing upcoming HomologyGraphs.
    
    - added unit tests on both contained comparator functions.

commit 4694df82c685e4d9f1a22a75eb0c1355964be59f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Sep 22 16:54:13 2012 +0200

    Added class HomologyContainer and unit test.
    
    - is basically a multimap that takes keys with equal underlying chemical
      structure as same.

commit 3aa8a59c4b8e2d177c403ddd9d9ddb5524e3df0d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 21 18:22:50 2012 +0200

    REFACTOR: AdjacencyList now just contains a single internal map.
    
    - map may either be created from world for a given vector of atomids or parsed
      from file.
    - Moved molecule::StoreAdjacencyFromFile() over to StoreToFile().
    - removed atom_bondedparticle::OutputAdjacency().
    - changed comparison functions into operator<,>,==,!=().
    - adapted FragmentationAction and SaveAdjacencyAction due to new calls, the
      former also needs to check the adjacency file for existence.
    - SaveAdjacencyAction does not split given filename into path and name anymore.
    - TESTFIX: Fragmentation-MaxOrder is working again, removed XFAIL_IF.
    - TESTFIX: Rewrite of AdjacencyListUnitTest due to heavily changed interface of
      AdjacencyList. Also wrongadjacencyfile3 was buggy.
    - TESTFIX: regression test SaveAdjacency replaced tab by space and removed tab
      after last entry in test.adj.

commit 5197e543aadb7e0a5343495b6e246005819cd457
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 21 14:11:23 2012 +0200

    REFACTOR: AdjacencyList's map creations may now create either map.
    
    - this is to allow having either way: Either the info from file as internal
      map or the info from the World's atoms.

commit 0fad93db3291c128f999fcbf427d65f1824b785b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 20 18:31:44 2012 +0200

    Renamed CheckAgainstAdjacencyFile -> AdjacencyList.
    
    - operator() is now CheckAgainstSubset().

commit 91207d4b79b8e46e1a50f522302e766ddeff4fb8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 20 18:09:37 2012 +0200

    AtomMask is now fully used, only marked atoms end up in fragments.
    
    - i.e. now only the selected atoms are fragmented.
    - AdaptivityMap::MarkUpdateCandidates() now marks all false who are already
      below threshold.
    - Fragmentation::CheckOrderAtSite() does not clear AtomMask anymore and does
      not set to true only to false when order has been reached.
    - We reversed direction as the AtomMask is not cleared anymore but just
      subsequently all sites are removed who are below threshold or have reached
      desired order.

commit 2ab6b6fe93bbcbee3b2b87e40ef236d5a2c472c8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 20 16:39:38 2012 +0200

    FIX: Fragmentation::TranslateIndicesToGlobalIDs() now returns truely global ids.
    
    - before we just converted from sons to father's Nr, now its the globally
      valid Id.

commit b4f72c33d00d959ec3b194e7ef824ee9baf108a4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 20 15:44:17 2012 +0200

    ExportGraph_ToFiles now does not require molecule reference anymore.
    
    - SortIndex is now just a dummy (identity) map.
    - FragmentationAction combines all graphs from each Fragmentationm call and
      exports these in one go.

commit dcbb5dac817f661e01dae1a9436a1ec9bb379493
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 20 15:12:32 2012 +0200

    REFACTOR: Replaced SortIndex by a distinct class to allow replacement.

commit ca8bea22ad6c12313c02f7a53946becdc3eff35a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 20 14:37:12 2012 +0200

    ExportGraph_ToFiles performs now the storing of the generated Graph to files.
    
    - FragmentMolecule now fills an internal graph.
    - ExportGraph_ToFiles gets graph in cstor and writes the contained KeySets to
      file on call of operator().

commit de0af277f13a3ac53d2d96963e46ad3c1326ef1f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 8 19:15:44 2012 +0100

    Added some initial files for exporting a fragmented system to someplace else.

commit 33991004f0fd68e26af2be1f2bbdf1baa32bec7c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 19 16:32:32 2012 +0200

    Fragmentation now operates on a single molecule.
    
    - FragmentMolecule() does not continue on Subgraphs.
    - shifted remaining functionality from MoleculeLeafClass to Fragmentation.
    - FragmentList, KeySets, and RootStack are all just instances not arrays
      anymore.

commit b9401edbe17098acc6816309ace63ac082269ef6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 19 16:04:47 2012 +0200

    Removed Correcting bond degree in Fragmentation::FragmentMolecule().

commit 9511c7d4a4f6056dc63228e8a4b73b94759e001c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 19 16:03:25 2012 +0200

    CheckAgainstAdjacencyFile is now instantiated in FragmentationAction not in Fragmentation.
    
    - CheckAgainstAdjacencyFile was changed to have the adjacency structure
      from the file for precisely this purpose.

commit 06f41f3c956f559b0c681f2d22c237c2160d0f8d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 19 15:55:43 2012 +0200

    CheckAgainstAdjacencyFile now works on given vector of atomids.
    
    - added helper function getGlobalIdsFromLocalIds() as we have to translate
      molecule's internal ids to global atomId_t to check against those in file.
    - TESTFIX: Adapted CheckAgainstAdjacencyFileUnitTest to the changes, also
      added another test case to operatorTest().

commit b78dfdecf40858a10780a6f9e58864c03c09da59
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 28 13:30:27 2012 +0100

    Added helper getGlobalIdsFromLocalIds.
    
    - for CheckAgainstAdjacencyFile we need global ids but Fragmentation gets only
      local ones but also the molecule. Hence, we may translate them.

commit bf42a0fbcc056cc1fb1cc17080df678caba35b24
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 28 13:29:16 2012 +0100

    FIX: Renamed double inclusion preventer of fragmentation_helpers.
    
    - collided with one from Fragmentation/helpers.

commit 3501d220b42c41a509f1636a333c1770e161d572
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 19 12:11:12 2012 +0200

    REFACTOR: CheckAgainstAdjacencyFile now gets File in cstor.
    
    - we cannot have multiple files, but we may have multiple fragmentations.
      Hence, CheckAgainstAdjacencyFile should get and parse the File in its cstor
      and get a set of atoms in its operator() to check against.

commit 2a0eb0bc95d9c1abbb0bac5df2ab2b1531f888e6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 19 11:47:16 2012 +0200

    FragmentationAction now works on selected atoms, split into molecules.
    
    - i.e. we still call Fragmentation on a specific molecule but
      fragmentMolecule() receives a vector of ids to use in its AtomMask. This is
      however not yet implemented.
    - TESTFIX: added --select-molecules-atoms to all fragmentation calls.

commit 34e74fda34e6b1a1242d6d24f88fd932c75726f1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 12:49:23 2012 +0200

    FIX: Fragmentation::GuesstimateFragmentCount() now uses saturation in estimate.
    
    - when not saturation the count is a lot higher ...

commit e554d0cb4265472eca336884d7b64c3671f1a025
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 12:46:01 2012 +0200

    Removed SortIndex as (unused) parameter in OutputConfigForListOfFragments().

commit d4d7a1bd17bebcb9a0627ca68125673382918cbe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 12:39:43 2012 +0200

    SortIndex is now a map.
    
    - SortIndex is used for giving forces in correct order.
    - we must -1 if atom is not present in map.

commit 34340193276773ab7abaeb6bbee9133e14de0dfb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 18:00:03 2012 +0200

    longrangeData nows needs its own MatrixNrLookup, since job ids are different.

commit 3dd32f25e60ad8bec93457ff6b96836c8d924c54
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 17:24:37 2012 +0200

    MatrixNrLookup ist now used const throughout templated functors.
    
    - createMatrixNrLookup() returns it to allow for creating const variable
      directly.

commit c9f9bbb2d96080528233d702e81243480b34033d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 13:51:09 2012 +0200

    Combining FragmentResult's id and ...Data in FragmentationAutomationAction's helpers.
    
    - all ...Data are always placed into map, hence associated to fragment job id.
    - necessitated changes to all ..Summators, ..SumUpPerLevel, and DataConverter.

commit 995e2f630769a5f3b1bfaa3010c8e6eb0e1f0a9e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 14:12:59 2012 +0200

    createMatrixNrLookup() now just needs vector<JobId_t>.
    
    - sumUpChargeDensity(), putResultsintoMatrices(), and printReceivedMPQCResults()
      likewise.

commit 0398bd3f86573bb724b71c8e05ebaeadda50c7c7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 14:31:31 2012 +0200

    Moved ConvertDataTo and ..SumUpPerLevel into distinct header files.

commit 3023451f9bb244c1ffafbac7f100be34a2430f1f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 18:17:28 2012 +0200

    FIX: (Orthogonal)Summator would not create correct indices for present super set.
    
    - when the super set is contained as a normal set, i.e. we obtain a value from
      the calculations for it, then we only treated this correctly for a single
      index sets.

commit 7f85250f2873734c9d5ffecf9d9db2e664aa3334
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 15:36:27 2012 +0200

    Changed overall debug levels in output of FragmentationAutomationAction.

commit 1f76f3c0db8419b5c96fd12a77fcf7d63f64c657
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 15:05:51 2012 +0200

    Fullsolution in printReceivedFullResults() has to be given extra.

commit c5feefc3ad7c91074ee36557b80175e313f0d3b4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 13:56:27 2012 +0200

    Added energy_potential to fusion keys in VMGDataFused and summing up energy_potential.

commit 06865e9af8ba15417cf8a83c602dca55d5af6373
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 18:37:46 2012 +0200

    FragmentationAutomationAction now also treats the case correctly with sets including superset.
    
    - we don't need any extra... stuff, we just need to treate the last result extra.

commit 358ddb37ffa1a42ccb292d081c67a06b75b91005
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 18:56:24 2012 +0200

    FragmentationAutomationAction now also sums up potential and obtain long-range energy.
    
    - this does not yet seem to be fully working but all the pieces are in place
      and the failure might also be connected to various issues (e.g. bohr radii)
      of mpqc.

commit a0f8d32c46a65add52f2d4294ddba66aa2b50eac
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 18:54:37 2012 +0200

    Generalized template functions Convert(MPQC)DataTo and ConvertFragmentDataTo().
    
    - may now deal also with VMGData.

commit f3bc5f070b9f68b25bb74138308ce7c41d1e935f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 10:21:49 2012 +0200

    Added extensive unit tests and some more functions to Fragment.

commit 1849434d9b5e8747f19c49b9bd8147e201503b9c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 15:36:24 2012 +0200

    Added Fragment to MPQCData fusion maps and is used in FragmentationAutomationAction.
    
    - new helpers Fragment::getPositions() and ::getCharges().
    - SumUpChargeDensity() now also sums up a full Fragment.
    - the Fragment is used by createLongRangeJobs to extract required posittions
      and charges from.

commit c74fdb7d4752180ef951320937f2e2c2c36abd7f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 15:22:56 2012 +0200

    Added new SetValue Fragment for summing up nuclei positions and charges.
    
    - this is required only temporarily until we eventually combine the creation of
      the fragments and their automated calculation.

commit 849cd8e107c07fa8b744cd0f691da136460b27f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 15:17:44 2012 +0200

    Created new function sumUpChargeDensity() that just sums up the grid.
    
    - this is mostly just taken from printReceivedMPQCResults().

commit 94d530feefb1ab3f22599705d28b424606dab346
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 14:35:31 2012 +0200

    Added template function SumUpPerLevel() that does now all the summation on one function.

commit 635645a8ca973ea73ffcce9696511ddda99591fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 14:17:40 2012 +0200

    Translated convertMPQCDatato...() into specialized template functions convertMPQCDataTo().

commit c4ee0808e13827946db48dc3d32793d3fd932f0e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 13:33:59 2012 +0200

    Extracted several functions out of printReceivedMPQCResults().

commit a22e05063f3dfbe6ca51f2a7a65d67f2503c902c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 20 14:00:14 2012 +0100

    Set version to 1.3.5.
    
    - Codename "Tongue" (Radical 135 of Kangxi script has this meaning).

commit 36bb2d7a076ed791ede05f0dc93c94e2ad78995d
Merge: cebac0b a1436b3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 20 12:04:12 2012 +0100

    Merge branch 'VMGJob_SamplingNucleiCharges' into Candidate_v1.3.5

commit cebac0bc1365c484c97d232fa920080fc7c902e2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 19 11:28:40 2012 +0100

    Set version to 1.3.4.
    
    - Codename "Cymdeithas Rheilffordd Eryri" (No.134 is the designation of a
      locomotive of the Welsh Highland Railway Society under restoration).

commit d5307bd74e46ad30ea58a9ee1f4368f5bdad3997
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 19 14:48:06 2012 +0100

    DISTFIX: new logo files were not in EXTRA_DIST.
    
    - renamed logos.qrc -> icons.qrc to match with icon file prefix.
    - renamed liblogo.a libicons.a.
    - adapted QtMainWindow::QtMainWindow.
    - qrc_icons.cpp needs to be in CLEANFILES.

commit d61161337b5ad56815ad99afc6755e5991c31abd
Merge: 286a967 3153514
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 19 11:27:51 2012 +0100

    Merge branch 'michi-list-query-validator' into stable

commit 3153514f596b31a77566f32f0a3cdd9fdb08cb65
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Nov 16 14:56:17 2012 +0100

    Refactoring: nicer map construction for shape names

commit 30421d4c9515c8215cc765e018219d205a802a06
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Nov 16 14:45:55 2012 +0100

    Refactoring: replace if/else with switch

commit a1436b30558f015098c13d123357549c76c5af31
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 10:24:09 2012 +0200

    Printing now four grids for debugging in InterfaceVMG.
    
    - also shifted message about grid size to beginning.

commit 17fcbe7a4a60ff1616ecb9b7e16b3917a0c70c1e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 13:05:24 2012 +0200

    FIX: Correcting normalization in InterfaceVMGJob among others.
    
    - with lots of help from Julian Iseringhausen.

commit 08cc62d7672570b6c105a349a3d88e33a3f37871
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 6 19:19:45 2012 +0200

    DEBUG: Modified printing of summed grid charge and grid potential.
    
    - now we use comm::GlobalSumRoot().

commit 16b4fe503e2385385f9ca2fc8019a738f4913fbe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 6 19:18:06 2012 +0200

    DEBUG: Added writing grids as VTK files to InterfaceVMGJob.
    
    - writing both initial right-hand side and potential.

commit 03d422a0fbeb428160b5e5c4c6f173c62afd7bdf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 6 19:16:34 2012 +0200

    Added a normalization to interpolation of charges onto particle_grid in InterfaceVMGJob::ImportRightHandSide().

commit 4adef72d2906cbf71e5806a79c74cdbf57f43d69
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 6 19:14:43 2012 +0200

    Added some debugging output to FragmentationAutomationAction.

commit 2bc560b6277c26c9ab7b1ca0ddea3ce629bda009
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 6 19:14:07 2012 +0200

    Added VMGData as container for data returned from VMGJob::Work().

commit fb881a1f80f17f42fdbdb40fbf1901b56fe07b5d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 6 11:10:32 2012 +0200

    Energy- and Timetable are given without eigenvalues and flops, respectively.
    
    - we use boost::mpl::remove to create sequences without these for writeTable.

commit 27afbfb8dd654781c2da98607fb879fd28cd8d5a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 12:09:29 2012 +0200

    FragmentationAutomationAction now prints table of results for energy, force, and times.
    
    - added template functor writeTable that does what was present before as code
      in printReceivedMPQCResults().

commit c42a433c75c0f0aecd907cbc3120544ffdfecda3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 11:51:07 2012 +0200

    Added ValuePrinter with templated operator() for mpl::for_each to print row-wise values for tables.
    
    - this is preparatory to write the summed up results to file.

commit 20b3dff8d133c4a69026d9bd0c31acd3c455a06c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 11:32:19 2012 +0200

    Added HeaderPrinter with templated operator() for mpl::for_each to print header for tables.
    
    - this is preparatory to write the summed up results to file.

commit beb16e5d247b507955235e440b1e7f8e0b097418
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 10:54:58 2012 +0200

    Added template function ZeroInstance to have zero value in OrthogonalSummation::Sum() initially.
    
    - the problem is that e.g. double's default cstor does not initialize to 0
      as the underlying representation is not a bunch of 0 bits as given by the OS.

commit 310201030048c0e346d50c39f08bcb7a69c0d92c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 18:45:15 2012 +0200

    Getter (Orthogonal)Summation::getSetVales() added.
    
    - this is actually access some specific contributions such as the one from the
      super set.

commit ff9963d2848d88341ab23ab176ec1c3871acc1c5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 11:15:42 2012 +0200

    (Orthogonal)Summation now goes level-wise.
    
    - print(Orthogonal)Sum go through all levels and call on (Orthogonal)Summator
      to get value which is stored in vector of result of MapType.
    - (Orthogonal)Summator hands on level to (Orthogonal)Summation
    - (Orthogonal)Summation::operator() and Sum() now require level as parameter.
    - NOTE: We cannot set the value to zero (this depends on the default cstor).
      If level==0, then we return an uninitialized value.
    - Renamed print(Orthogonal)Sum -> AllLevel(Orthogonal)Summator.

commit 8a0e78b785b9ae5193eb4768b53b5c7fbb222d7d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 10:57:10 2012 +0200

    Added IndexSetContainer::countSetsTillLevel() to count sets up to size.
    
    - we require this function in SummationUnitTest.
    - also added unit test function.

commit a96b02be2381aa330df86c1a1c114213944e1657
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 10:13:46 2012 +0200

    (Orthogonal)Summator now have internal instance Summation.
    
    - added createValues() and getSubsets() that are called in cstor to create
      the necessary variables for (Orthogonal)Summator's cstor.

commit d199cc8649eee7e4b74fe6a4fc9da9737f7e5c82
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 29 15:12:36 2012 +0200

    Added new function SubsetMap::getMaximumSetLevel().
    
    - just gives the size of the super set.

commit db11d49b153cd63db8037e831d66468ef0acf659
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 09:54:39 2012 +0200

    Added SubsetMap::getMaximumSubsetLevel() to know up to which level to sum.
    
    - also added unit test function.

commit a3a3828acd79a61dbfa8cb49dbf30534f750cbaf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 3 09:32:00 2012 +0200

    FragmentationAutomationAction creates instance of print(Orthogonal)Sum.
    
    - this is preparatory for summing up to a certain level.

commit a67a041130640966bf105d1d86850cc600a3e6b8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 2 21:42:36 2012 +0200

    IndexedVector's cstor ignores -1 as indices.
    
    - this is to allow for ignoring the saturated hydrogens whose index is -1 in
      Force-Factors.dat and also to mark certain vectors as to drop.
    - -1 has been enumerated as DropIndex.
    - FragmentationAutomationAction now correctly parses forces also for the
      contained hydrogens due to specifically created IndexedVectors with
      index sets that also incorporate hydrogens.

commit 8b58ac216014d5bef5ecc26c850653adf4ddd5aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 16 15:01:22 2012 +0100

    KeySetsContainer::ParseKeySets() may now parse arbitrary files.
    
    - ParseKeySets() can now be given filename to parse, also ACounter is no
      longer required.
    - changed joiner, analyzer, FragmentationAutomationAction and
      controller_MPQCCommandJob due to changed signature.
    - FIX: KeySetsContainer would not correctly parse keys but often one too many.

commit 5b991af4e784dced8ffa5e1d31bdb3b7242e87b4
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Nov 14 16:06:00 2012 +0100

    compile icons into the executable

commit e59e8e8b9ce5bb893627d993f70c76bb4b236309
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Nov 2 16:43:14 2012 +0100

    ParserTypeValidator + And_Validator: values readable by QtQueryList

commit 713a4346de9abe1861f54c9fac819c08579edffb
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Nov 2 15:57:04 2012 +0100

    QtQueryList can use STLVectorValidator's ElementwiseValidator

commit 66f7121a451c210f2d973fe0bddc5d5ee9fbbfaa
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 30 13:48:51 2012 +0100

    FIX: Cylinder_impl::getNormal()/isOnSurface() now respect points on top and bottom

commit b3b228ed2f97b3423a7ee4a52e00ed16e454e906
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Oct 26 15:42:49 2012 +0200

    GLMoleculeObject_shape: dirty transparency effect

commit 85c36d18bc07088784b26e3f1c1031fd38b98dfb
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Oct 26 14:58:05 2012 +0200

    cached shapes in GLWorldScene + cleaner ShapeRegistry notifications

commit 7de208124fa7b2ea9b4a226181df09f8fda8bc24
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Oct 25 16:36:55 2012 +0200

    FIX: Cuboid_impl::getNormal used wrong coordinates

commit bf83184dc2965f6ba10d71f263bcadf6814994fb
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Oct 25 16:34:16 2012 +0200

    Cuboid_impl::getHomogeneousPointsOnSurface (cruedly) implemented

commit 70e9eb61d4629017938dd5719f7e63a90e269e8b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Oct 25 14:54:07 2012 +0200

    FIX: segfault when removing shapes
    
    * "delete" button called wrong action
    * shapes were still selected after removing them from shapeRegistry

commit ec53b5cd7038d8ad55a910117928b9198464ab84
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Oct 25 14:34:08 2012 +0200

    QtShapeController: label + button icons + plumbing clean up

commit 301bc2b71fcf7385f9abf1ed3bed5d9502caef48
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Oct 25 14:15:14 2012 +0200

    QtShapeController added (buttons for shapeList)

commit 9765fde1e805cda1de4707929f7fcb51488a1ba5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 23 16:03:12 2012 +0200

    icon for stereo view added

commit 25e08accb780cc7af7c398763d3bfcaff7eed567
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 23 15:51:29 2012 +0200

    new icons for atom/molecule selection

commit e8c5421d7b65e6276569546ce109335795d863d7
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 23 14:47:16 2012 +0200

    Refactoring: RandomNumberValidators as DiscreteValidator

commit 751d6b712005ed58371cb95f6d3cb6df3c6585e1
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 23 14:46:46 2012 +0200

    Refactoring: BoundaryConditionValidator as DiscreteValidator

commit dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 23 14:00:22 2012 +0200

    StringQtQuery: ComboBox for discrete values

commit dc438cb07c848923bd7cabf6e2ae91e1cdaa9150
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 23 13:20:01 2012 +0200

    Refactoring: ShapeTypeValidator as DiscreteValidator.
    
    - added ShapeTypeValidator clone() and operator==().

commit 284551b1c81c6adb8f9ba10a7028099c14e3bd7c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 2 16:04:47 2012 +0200

    GLWorldView shows the selected shapes from ShapeRegistry

commit f754917924b80919f8e64d1677b63a945f3b35f9
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Aug 6 15:20:38 2012 +0200

    GLWorldScene: addShape() added

commit afd3d207a2a22630f13ebba4403b69ab2d1653ba
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Aug 6 15:18:14 2012 +0200

    GLMoleculeObject_shape added

commit 615eee75a1f9bbadd8d833f5246fdea36cc726d6
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Aug 6 15:15:55 2012 +0200

    GLMoleculeObject: prepare for deriving shape class

commit f20da52f1db9ff211bd8cc8dd78121b43459ef0d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 2 15:04:38 2012 +0200

    RemoveShapeAction added

commit d893672e01f0e26c4741145555239bb97390622a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Oct 2 15:04:18 2012 +0200

    CreateShapeAction: redo() implemented

commit 842aac61c6439ac82216b2a76ac58cea36787afe
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 16:05:07 2012 +0200

    Refactoring: FillSurfaceAction uses ShapeRegistry

commit 060c7da2493bdd92f7464a136b182c7edb14498d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 15:59:16 2012 +0200

    Refactoring: NotAllAtomsInsideVolumeAction uses ShapeRegistry

commit ff9e5aa00cb3a198f58315ad4dda3952ed5b34eb
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 15:55:58 2012 +0200

    Refactoring: AllAtomsInsideVolumeAction uses ShapeRegistry
    
    - ShapeFactory and ShapeRegistry are now purged in cleanUp.

commit d475a6a0999cac8aeb6aff8e333ae87daa0a514d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 15:37:40 2012 +0200

    CombineShapesAction added

commit 25f8f7a9dcad7ab130b29e6561fdda708928b06c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 15:37:02 2012 +0200

    Fix: ShapeOpValidator forgot public

commit cf373bc7fefa3c336bbef0d87b575ee49566d670
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 14:25:44 2012 +0200

    ShapeOpValidator added

commit a0d5ef742c48094468d71a7cbd8d4a0c094b74b9
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 14:08:29 2012 +0200

    QtShapeList: selection in GUI calls selection actions

commit 2c004d1f6531a9331f798a31d3e7c652d4079a37
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 13:51:57 2012 +0200

    SelectionNotShapeByNameAction added

commit a27dcb591e92b38dd000e1357e027eaa75b123f2
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Oct 1 13:26:16 2012 +0200

    SelectionNotAllShapesAction added

commit 663606f9fc7a2df3110487b780c25c07738d5ecd
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 17:04:07 2012 +0200

    SelectionShapeByNameAction added

commit 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 17:03:07 2012 +0200

    ShapeName/TypeValidator implemented and renamed

commit 70bce952fe074f8df663ea61ed19170aefbb6afd
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 16:13:16 2012 +0200

    AllShapesAction added

commit 43c79a35f2709709e8cc7d2bc7fee569ae9bff5b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 16:12:37 2012 +0200

    QtShapeList can now show which shapes are selected (not interactive yet!)

commit 8f12de70abbc748dfb3f3ce791b30c7615cf0cb8
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 15:51:26 2012 +0200

    Shapes now selectable in ShapeRegistry

commit 4458b09d5581fddd238a05956231b1e22bba1f56
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 15:17:00 2012 +0200

    QtShapeList added

commit 6131d8ffa9a5b6169c706021db0bd650ef76d377
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 14:32:34 2012 +0200

    CreateShapeAction added

commit 1c95882265b58588cd99b3ea7195b86467099a6b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 14 14:31:31 2012 +0200

    Refactoring: ShapeFactory now uses global ShapeType

commit 8f6a27114a45faed529524ec253583f7c4a78a20
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Sep 13 14:40:54 2012 +0200

    made ShapeRegistry an Observable

commit d8421f967e624f5adb8d53bc22fa61e7e9bfad40
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Sep 13 14:24:13 2012 +0200

    ShapeRegistryUnitTest added

commit 14549870ead800ed0ce73e795e339010dca476a7
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Sep 13 14:23:57 2012 +0200

    ShapeRegistry added

commit d0cd6d67b84acc94d9f54617384f672de8b7573d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Sep 13 14:22:50 2012 +0200

    Shape: added name property for use in ShapeRegistry

commit eff53659045871fd5068f260387e8147a43c861f
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 7 15:55:53 2012 +0200

    AllAtomsInsideCuboid/SphereAction > AllAtomsInsideVolumeAction (using ShapeFactory)

commit 09eaac759eb27466e27c56d0a6d29cceab152181
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Sep 7 15:31:23 2012 +0200

    FillSphericalSurfaceAction > FillSurfaceAction (using shape factory)

commit 98d03bd3ced77f80f72da1e84e0d04c750719b66
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Sep 6 17:27:29 2012 +0200

    ShapeNameValidator added

commit 4dc30911b17eed762fa2312657a6cead1ac5593d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Sep 6 16:54:42 2012 +0200

    SetShapeAction added

commit a367b81f9d73ebe6fddef7c4b5acf176cbc0f459
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Sep 5 17:38:31 2012 +0200

    ShapeFactoryUnitTest added

commit 4477b74eac8ea168e6f9f5200430b9b2b41b7bf4
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Sep 5 16:36:21 2012 +0200

    ShapeFactory: produce() implemented

commit 4f041a4b395b1ac0ec939e2084c63540de6b096a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Sep 5 16:11:12 2012 +0200

    ShapeFactory: factory state

commit 6e5d3505f24b8a20ca76bfd8af8acb635bc5b7a6
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Sep 5 15:59:58 2012 +0200

    ShapeFactory: name/type maps added

commit fb69e991ceb98f78bdb604d5dd15bfe1438c640e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 2 19:55:26 2012 +0200

    Added conversion constructor from KeySetsContainer to IndexSetContainer.
    
    - conversion is outsourced from FragmentationAutomationAction.
    - FIX: super set would actually get added twice before in above conversion.

commit cd77fcf679a54de7deec8445ce3cd9cccd538da9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 12:17:56 2012 +0200

    Positions and charges of nuclei are also contained in MPQCData and used by VMGJob and InterfaceVMGJob, respectively.
    
    - this is a temporary solution until we finally create the fragments and send
      prepare the MPQCJobs in one go. I.e. for now mpqc has to fill in the vacant
      MPQCData entries of positions and charges to be used by the VMGJob created
      from this information.
    - Using CommSerial/MPI in ImportRightHandSide() to getParticleGrid().

commit 092be05641d86ffa7806dfa77f2c1245d91a22c7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 11:08:57 2012 +0200

    FragmentationAutomationAction now sums up times in non-orthogonal manner.

commit c40e15d6697957957c2cc47a2cd1f72c7a539eae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 11:08:44 2012 +0200

    Added Summation, Summator, and printSum for non-orthogonal Summation.
    
    - this is needed for adding up times in FragmentationAutomationAction.

commit c6ca23fe871942ffe00849bb181ca2fe88d7bc94
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 11:05:53 2012 +0200

    Renamed Summator and printSum to OrthogonalSummator and printOrthogonalSum.
    
    - this is preparatory for introducing a non-orthogonal summator.
    - sadly, I don't have a quick answer how to generalize the above to an
      arbitrary templated (Orthogonal)Summation.

commit e72c61273d7fd87405519a8e0373d653e9c2d1a6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 30 17:34:36 2012 +0200

    Added Sampling::integral(SamplingGrid&) that allows for a (charge) weighted integral.

commit a1fcc6d39c0ec8619ef1b8f189304b7c5f64b6c0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 27 23:30:07 2012 +0200

    Added SamplingGrid::operator*=() for multiplying potential with charge distribution.

commit c37c2055044428a2512b96af7bd6cd3272550813
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 10:57:33 2012 +0200

    Added SamplingGrid summation to FragmentationAutomationAction.
    
    - added sampled_grid as key to boost::fusion::map.

commit 80959a16d0dd23c8ec827b49c6ae45434d2ecddc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Sep 23 11:59:50 2012 +0200

    operator<<(SamplingGrid&) now gives info on size and level.

commit cb33635e76780eb90a121b583f30834ba1ccb07c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 8 18:44:48 2012 +0200

    Added SamplingGrid::integral().
    
    - this is also used for output streamer.

commit c889b7d07d4553e5cc902de0cd0de8fd90e0c533
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 10:12:02 2012 +0200

    Extended SamplingGrid to be usable as SetValue.
    
    - added operator+=() and operator-=().
    - added unit tests for SamplingGrid and SamplingGridProperties.

commit bebafd04e8cadea91a33bd0b5f59af91f63b7452
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Sep 5 15:25:05 2012 +0200

    (empty) ShapeFactory added

commit 4adfba4c02b009fde445dcd95a19e5bd02447985
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 10:11:15 2012 +0200

    LibMolecuilderJobsGrid is now a distinct convenience library, however included in libMolecuilderJobs.

commit 442ceedac1f17008644f48fc45034d4d28604b23
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 10:46:43 2012 +0200

    Added potential_grid as output SamplingGrid to VMGJob and InterfaceVMGJob.

commit 28c025c7f16461a5e282e398e0048ebf27c7deec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 10:45:44 2012 +0200

    Added SamplingGrid and SamplingGridProperties to contain information about sampled 3D function.
    
    - MPQCData, MPQCJob, and VMGJob now contain instances of SamplingGrid
      (Properties).

commit d12d62174ff6d2796691d3074a5db03af886ecb4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 25 20:26:01 2012 +0200

    VMGJob, MPQCJob, and MPQCData now contain information how to sample the density.
    
    - begin, size, and level are stored in the classes. Additionally, InterfaceVMG
      stores the level as VMG::Interface::levelMax is private.
    - We obtain begin and size via the domain size of the system, the level is set
      via an arbitrary constant that later has to be adapted to the required
      accuracy.
    - MPQCJob is uses by mpqc to place the infor in resulting MPQCData, wherefrom
      VMGJobs are constructed that now also contain the vector of sample points.

commit 2764e08a4c838a97a1a5416a338b1c476a1e6dcd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 25 20:24:27 2012 +0200

    Added ConvertFragmentResultToMPQCData to FragmentationAutomationAction.
    
    - also printReceivedMPQCResults now gets a vector of MPQCData that is converted
      beforehand.

commit 815f60023acd8faa70610ea84199dc881930c681
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 25 13:28:35 2012 +0200

    Added density to MPQCData.

commit 88c2c131b8435156a37fc7a7dab579092f57b2f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Jul 15 15:46:26 2012 +0200

    DEBUG: Added output of grid intervals and extent.

commit 69c73300e331c0e82ee133aff558328a4ce1705a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Jul 15 14:54:01 2012 +0200

    Added second part to FragmentationAutomationAction that calculates long-range part.
    
    - we create VMGJobs, as of now with a lot of 0 as sampled_grid.
    - added HAVE_VMG to compile on VMGJob only if vmg is available.
    - new option DoLongrange to FragmentationAutomationAction to deactivate
      long-range calculations by default.

commit 8a8c8c804fad49bc435d83757fd9744a46a45bee
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 15:05:40 2012 +0200

    Using CommMPI in VMGJob now.
    
    - this is used instead of CommSerial as CommMPI is better maintained right now.
    - using lx_find_mpi from Libra project to detect mpi compiler and linker flags.

commit e9cfc4c0be4434abf2dfa7dfd45fef57caf91dbd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Jul 15 13:22:16 2012 +0200

    Added rudimentarily complete structure of interface to VMG and VMGJob that uses VMG.
    
    - interface is adapted from interface_particles.cpp.
    - VMGJob is adapted from interface_fcs.cpp.
    - this is a test whether we may compile solidly against VMG component.
    - so far, the grid is initialized to zero, the MG solver is called and the
      potential should return as zero.

commit d2a0f6d2e6fc25cd0d246a3f6942fb00bd93273c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 13 16:16:26 2012 +0200

    VMGJob can now be conditionally compiled in via --with-vmg.
    
    - requires vmg library from scafacos project which is can be brought in via
      a modified .pc file.
    - AC_ARG_ENABLE checks for vmg, PKG_CHECK_MODULE for VMG.
    - added AM_CONDITIONAL CONDVMG for this purpose.

commit 286a967c05f3483fdec8a81de5365aebc67c1410
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 12 17:05:47 2012 +0100

    Set version to 1.3.3.
    
    - Codename "Last Discovery" (STS-133 is the mission designation of the last
      flight of space shuttle discovery)

commit e13990bfa81063bc4e2dd8eec99ef2d0b440077c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 10:10:24 2012 +0200

    FragmentationAutomationAction now also sums up the forces from each fragment.

commit 7d92f13f3b892a09752e7243b50f0efcd8b79b60
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 10:08:44 2012 +0200

    Added another SetValues named IndexedVectors for a bunch of (force) vectors associated to an index.
    
    - this is required to sum up forces obtained from fragments.

commit e06820e17d5c8fbdc7dae1b736bcbd4e798d3a1b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 10:04:54 2012 +0200

    Renamed Fragmentation/Histogram/ -> Fragmentation/SetValues/
    
    - also moved subfolder unittests.
    - changed includes and Makefile.am's.

commit dde8ec590497d06486d2c7c6e1c9cacda42115c6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Jul 29 19:53:39 2012 +0200

    Histograms are now summed up, too.
    
    - added Histogram cstor that just takes vector<double>.
    - extracted Histogram::getMinMaxFromSamples().
    - aded energy_eigenvalues key to MPQCDataEnergyVector_t.

commit 1f66c7447fe08a8eda304683cb7fc7e77ce95ba5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 10:54:19 2012 +0200

    Renamed and extracted namespace FusionKeyNames -> printKeyNames.
    
    - also renamed related file MPQCData_printName -> MPQCData_printKeyNames.

commit 286e3649c8528fe76cb64a3db5b19b18282fe9e2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Jul 29 14:22:38 2012 +0200

    Placed template functor printSum into own module.

commit adccaed9f6ccb7c231630a4ea73dd689da24dfc5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 1 18:13:44 2012 +0200

    Split MPQCData::energy_electron_repulsion into _coulomb and _exchange.
    
    - we may obtain it this way from mpqc.

commit 8cae4c222d38d45129885e5a2edc6e31879577de
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 31 16:30:24 2012 +0200

    FragmentationAutomationAction now may sum up almost everything.
    
    - split MPQCDataMap_t into Energy, Force, and TimeMap as boost::fusion::map may
      only consist of up to 9 template types.
    - added boost::mpl::list enumerations of the map keys.
    - using boost::mpl::for_each to go through each map key that is used a
      specialization type to a printSum() function that calls OrthogonalSummation,
      sums up, and prints the result.
    - TODO: Missing Histogram cstor for vector<double>, missing class for forces
      with the four required operators, times need just to be summed up, not
      orthogonalized.

commit 56df379c672f095aa9b6ac364949cfa8c0ba57d5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jul 28 11:06:15 2012 +0200

    Added general-purpose Summator that is basis for OrthogonalSummation on an arbitrary struct of types.
    
    - Eventually, we need to sum up each variable in struct MPQCData. For this we
      need to place the initialisation and executing of OrthogonalSummation into
      a list and we need to enumerate the types in MPQCData in a unique fashion,
      i.e. to associate the name of the member variable and its type with a
      specific unique key. This is achieved via boost::fusion.
    - this is exemplarily used for energy.total.
    - later we add boost::fusion for_each to let the summation automatically go
      through each type by its own.
    - note that summing up a single IndexSet's must be specially treated as the
      single set corresponds to the full set also.

commit b420a526130d8e1f74f5cc4ee61bbe826334df8b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Nov 10 16:25:28 2012 +0100

    FIX: testsuite-jobmarket-molecuilderrun did not kill server, worker on failure.
    
    - if molecuilder fails to compile, the testsuite will stop dead at this test.

commit 05402511c3f95c6bfae95f164a91283dc92b2190
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Sep 3 16:38:32 2012 +0200

    Fix: (UnsignedIntQtQuery) overwrite QSpinBox default maximum of 99

commit 619a0ec09f12676ecd235da29b989c8d5b7ec369
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 30 15:03:35 2012 +0200

    Added checks for boost::fusion and boost::mpl.
    
    - wrote simple header-only checks for boost.m4.

commit 965e2fdeb4a01f3b569d70307746f102a48494ab
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 17:51:36 2012 +0200

    Added OrthogonalSummation of eigenvalues as Histogram to FragmentationAutomationAction.
    
    - this requires four operator implementations from the class to sum and we have
      noted down these requirements in OrthogonalSummation class info.

commit e561ffd2a049fba5697db2ff97902964a1377b30
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 17:50:59 2012 +0200

    Added assignment operator to Histogram class.
    
    - TODO: We need a unit test function on this, especially self-assignment check.

commit 9fd8896b808bd00218bf6455d84d89e1bfeb780d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 17:50:21 2012 +0200

    Added Histogram::addSamples() to add samples lateron.
    
    - TODO: We need to add a unit test function on this.

commit 6bed1fe65ef0bdadc2c6372942a37e354d44bce8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 17:49:06 2012 +0200

    Changed Histogram's cstor to take offset and binwidth instead of CountBins.
    
    - CountBins was nonsense anyway, could have been taken from samples.size() as
      well.
    - with these two values, we may also add the samples lateron.

commit cf18c56dc21a7e19c3ae8878df1eff00fe51bd99
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 17:47:04 2012 +0200

    Added output operator<<() for Histogram.

commit e11e233c07a12e1326fe0bf88e4139bf7a48d20e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 16:20:24 2012 +0200

    Commented-out most of the debug messages in Histogram functions.

commit e4048f07b3e15ce14739e8b7d10d15926761e91a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 16:11:48 2012 +0200

    Added Histogram::extendMissingBins() to generalize superpositions.
    
    - extended unit tests on Histogram::operator..=() to also test superposition of
      both larger and smaller histograms.
    - unit test function superposeOtherHistogram_Test() now checks whether the
      correct amount of bins have been added instead of thrown AssertFailure.
    - removed asserts in superposeOtherHistogram().

commit 1dd4198ca162ca1bc63d2d9fdf9d5736eb3e7e70
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 15:35:38 2012 +0200

    Added Histogram::getLowerEnd().
    
    - this function helps where to add new bins in superpositions.

commit 22c4f5731d6c6dc832d7e06a1815fe17d0e1ad46
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 14:37:16 2012 +0200

    Added superposeOtherHistogram and implemented thereby operator+=() and operator-=().
    
    - the logic so far is that the other histogram must not extend beyond the
      present one.

commit 45f4f96ff7e9477af0058a9389d13649b876c2e8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 14:35:40 2012 +0200

    FIX: Bins are initialized as normalized from samples.
    
    - Bins are now initialized as normalized from samples.
    - the addition to the histogram by one sample always equals a surface area
      of one, i.e. we add 1 / binwidth.
    - only then may we sensibly add and subtract different histograms with
      different binwidths.
    - also added Histogram::area() function and unit test.

commit bb68c067393663e69ab9660392a5d505c90d4e01
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 14:33:41 2012 +0200

    FIX: Histogram::binwidth is now const member variable.
    
    - this is safer as binwidth must not change over the presence of the instance.

commit e5dbd54d1f8172f45025cb5f61f1a63bb8f720eb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 27 15:08:28 2012 +0200

    Add printBin() function to Histogram.

commit 3f6bbb555bab877158bb09d8beddda31547a35aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 31 15:09:06 2012 +0200

    Added operator<<() to for single bin of type Histogram::Bin_t.

commit 1c365e251287e70f63ed373deb7abb09abced5ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 31 15:08:48 2012 +0200

    Split getBin into getLowerEndBin() and getHigherEndBin().
    
    - this functionality is required within the operator+=() and operator-=().

commit c4fd03029d3c59c8aa32a73a4e4e4afd60d9e7d4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 20:08:38 2012 +0200

    Added rudimentary Histogram class.
    
    - we still lack operator+=() and operator-=().
    - this is supposed to take up the range of eigenvalues and allow to get a
      sampled represenation of the density of states via the OrthogonalSummation.
    - added unit test.

commit a2215d21a6fe3ea3e23a6ba1d7e070e6f5a4ac62
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 15:22:21 2012 +0200

    FIX: OrthogonalSummation must cover also the full set for which no value is obtained.
    
    - however, the full set is required as a super set of the IndexSetContainer.

commit e9200616195d7017da20bb03e2b418d9a6f8cfde
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 14:28:22 2012 +0200

    libMolecuilderFagmentationSummation is now just a normal convenience library.
    
    - We might keep it as a shared as it is independent of others. However, as
      libtool is buggy with pulling in shared library dependencies, we would have
      to add them also to the executables LDADD.
    - also we removed the extra compilation SUBDIRS.
    - adapted all paths in Makefile.am and unittests/Makefile.am.

commit 40698b19cf010762adad30fcf5d7bc64f80397e8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 14:27:14 2012 +0200

    FIX: Include paths for unit tests lacked "Fragmentation/Summation/"-prefix.

commit 6ca578398c0a55a029ee81d176ca5bb849301f60
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 26 13:29:18 2012 +0200

    Simple use of OrthogonalSummation in FragmentationAutomationAction.
    
    - so far, we just make use of the already parsed in keysets, translate it to
      IndexSets and sum up the energy.total found in MPQCData.
    - note that internal MPQCJob just creates empty MPQCData regardless of the
      actual job.
    - TESTFIX: regression tests tests/JobMarket/molecuilderrun does not check for
      the resulting energy and forces as we only get empty results.
    - libMolecuilderUI now requires libMolecuilderFragmentationSummation.

commit 188639b405c8485adb0bbb575d15d94b769a1b99
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 24 21:10:48 2012 +0200

    Added vector of eigenvalues to MPQCData.

commit c5324f5fef866d52eb12447aaca117dcf2dba87d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Jul 15 13:26:51 2012 +0200

    Refactored FragmentationAutomationAction, pulling out bracketed function parts into distinct functions.

commit 1e7dd43451cc813dbdf63921c91127e6add87249
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 4 16:12:07 2012 +0200

    Added OrthogonalSummation and unit test.

commit 0a387eb05bb064023a609198c7502635736f7fc8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 5 15:45:04 2012 +0200

    SetValueMap's internal Lookup now is const iterable.
    
    - added unit test function.

commit c508fea16569df9af0aa7ba2b7489419e3bb3698
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 4 16:36:50 2012 +0200

    Added SetValueMap that contains association from IndexSet to SetValue.

commit 30abdc71b9be0d957e3a2cbc4ed79217640753bb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 4 17:31:42 2012 +0200

    SetValue now has a contribution along with its value.
    
    - contribution is Cacheable and new function calcSum() which is called when
      contribution is accessed.
    - operator+=/-=() are now OBSERVEd, too.
    - adapted unit test to check whether contribution is working.
    - added two mocks for SubsetMap and SetValueMap.

commit 7bed4e2d4e3289fec489381350b2bda1df73f24e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 4 16:08:48 2012 +0200

    SetValue is now an Observable.

commit d699deb0842e7f1db520bb6cbef3956df3ea6202
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 27 18:31:59 2012 +0200

    Added templated SetValue with unit test.
    
    - set containment is checked in operators.

commit 2df58073c4555585bcb4fd140b1cdabe8e1aae79
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 4 11:47:53 2012 +0200

    Added SubsetMap which is a container to a lookup map from IndexSet to all contained sets.
    
    - also added unit test.
    - added shared_ptr typedef ptr.

commit 063fab36c8b0361e5f0a8e75f076b674379ba00f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 3 18:32:53 2012 +0200

    Added SortedVector and use in IndexSetContainer.
    
    - the SortedVector is meant if access is frequent and insert is seldom, i.e.
      basically the set is given to the cstor and little change is made afterwards.
    - SortedVector<T>::Comparator is specific internal functor; this way the
      functor can be used outside in SubsetMap for its internal map with
      IndexSet_ptr as keys.
    - IndexSetContainer has member typedef ptr to shared_ptr.
    - added unit test.

commit 146c26d1db374118e51291a5034fccfd78aaee7d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 25 17:32:57 2012 +0200

    Added class IndexSet and unit test.
    
    - IndexSet contains the set of indices identifying the subspace.
    - has member typedef ptr to shared_ptr.

commit 4bc75d97ed72e9069dfe436ea18f8e2fbc540afd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 13 12:45:14 2012 +0200

    Renamed files MPQCCommandJob_MPQCData -> MPQCData.

commit a9558f08725aef6a869b5db8e1f8f566b591db1b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 12 12:40:29 2012 +0200

    Restructured MPQCData, added times, and nuclear repulsion energy.
    
    - constructors for MPQCData's energy_t and times_t, setting all to zero.

commit 28e8944862c75fbea6c16bc66cb0ae88753f4e00
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 11 16:52:28 2012 +0200

    FragmentationAutomationAction now creates MPQCJobs.
    
    - MPQCJobs are simply MPQCCommandJobs without the command, i.e. they do not
      inherit SystemCommandJob but derived directly from mpqc and receive the
      inputfile via JobMarket's FragmentJob and also transmit the results directly
      encapsulated in MPQCData in a FragmentResult.

commit ed9da42cb5c88968f446c0eb8417821e6c6a5c71
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 12:22:35 2012 +0200

    Replaced OrderArray and MaxArray arrays in Fragmentation::ParseOrderAtSiteFromFile().
    
    - OrderArray is now a map, MaxArray uses AtomMask_t

commit f7307f517e3e49d24af719c519057c7db7f5be4f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 12:16:11 2012 +0200

    Using ListOfLocalAtoms_t now also as SonList.

commit f968742be974e94db1c9b45ea28719c21790e2c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 11:14:32 2012 +0200

    AtomMask is now a set, inherited into own class.
    
    - this is preparatory for multiple molecules fragmentation. Otherwise AtomMask
      would always have size of total system.
    - introduced template Mask class and added MoleculeMask for masking molecules.

commit 6d551c63a46260c606910ef3f9b4e0bccf1a3cac
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 7 10:47:35 2012 +0200

    ListOfLocalAtoms is now a map, inherited into a distinct class.
    
    - this is preparatory for allowing arbitrary fragmentation of atoms not only of
      a single molecule.

commit dbe3b9615dc60b343ad89e6cc61e91866b5f136d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 23 17:25:11 2012 +0200

    Set version to 1.3.2.
    
    - Molecuilder library is now 10:2:0.
    - Codename "Amtsanmassung" (Paragraph 132 of the german Strafgesetzbuch is
      about assumption of authority)

commit 7edb2c7f89aa38bee9b9e1ecab671803f2e9a575
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 23 17:14:19 2012 +0200

    RandomNumbers and Shapes are now (installed) shared not convenience libraries.

commit be6b3add8aee3b2ef543ddbdee0f35f83c01e16c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 21 15:19:14 2012 +0200

    Selection(Not)AtomById now always return valid state object.
    
    - we must not mix Action::success with a true state object as then the cast
      goes wrong.
    - this fixes ticket #215.

commit f7c7cf132d69c7077ffd2cc11e7348c672217c01
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 21 15:07:26 2012 +0200

    Selection(Not)AtomById now works on multiple ids.
    
    - this closed ticket #189.

commit 3a51bd61d13a71ec61cf8dd25196d15612bdfe3e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 26 14:42:27 2012 +0200

    Added new StretchBondAction to stretch the bond within a molecule.
    
    - also added regression test with undo and redo on this.

commit 15621cdd451f1ac4c9a1158436e23c54fc23fb4c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 26 14:40:41 2012 +0200

    Added Plane::SignedDistance() function.
    
    - function used on Plane::onSameSide() and in Plane::distance().
    - this function can be used for deciding on which side plane a Vector lies.

commit 1795c9e402bb7db99033e9d30d61568860e22b32
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 21 16:22:16 2012 +0200

    FIX: Fixed typo in ProgramHeader().

commit b8f64f300d1073f2b7751a8b022011371f69e655
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 18 20:17:35 2012 +0200

    FIX: Fixed printing of AtomMask.

commit a8fc703da70b9e75a3be6679fb8b560fd699b281
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 11 16:48:30 2012 +0200

    FIX: Added disable to stereo-viewing options.
    
    - setting eye separation to zero is handbook way of disabling it and was
      already implemented. We added the Action to the pop-down menu.

commit 6253ed4bcfa0dd23c33719d286276be9760ec373
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 11 10:48:06 2012 +0200

    FIX: Added license disclaimer to every testfile .at of the testsuite as well.
    
    - so far, there was no disclaimer on the copyright of the code.

commit 94d5ac60852caf3933c959f8314ca0be3d3a7c51
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 11 10:26:02 2012 +0200

    FIX: As we use GSL internally, we are as of now required to use GPL v2 license.
    
    - GNU Scientific Library is used at every place in the code, especially the
      sub-package LinearAlgebra is based on it which in turn is used really
      everywhere in the remainder of MoleCuilder. Hence, we have to use the
      GPL license for the whole of MoleCuilder. In effect, GPL's COPYING was
      present all along and stated the terms of the GPL v2 license.
    - Hence, I added the default GPL v2 disclaimer to every source file and removed
      the note about a (actually missing) LICENSE file.
    - also, I added a help-redistribute action which again gives the disclaimer of
      the GPL v2.
    - also, I changed in the disclaimer that is printed at every program start in
      builder_init.cpp.
    - TEST: Added check on GPL statement present in every module to test CodeChecks
      project-disclaimer.

commit eb0d77f90a866276e4c00426ad66892f4ab7583f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 13 10:57:55 2012 +0200

    FIX: Shared library libMolecuilderJobs needs to be given explicitly where brought in dependently.
    
    - in my eyes, this is a libtool bug (see #1002565 on ubuntu's launchpad) as
      libtool should pull in shared libraries that are list as dependencies in
      given shared libraries (and also known to libtool according to the .la
      file). However, libtool.m4 has a switch find_all_dep_libs which is set
      to no for linux systems. Activating it causes the correct linking behavior
      but faults later because shared libraries are not found (i.e. some rpath
      problem).
    - Hence, libMolecuilderJobs.la is given as dependency everywhere where also
      libMolecuilderUI is listed (also for all unit tests).

commit b1b413633e908b4e5b1fa1836c215523caad9217
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Sep 23 14:36:16 2012 +0200

    FIX: Removed AC_PROG_CC from configure.ac
    
    - we don't need C bindings.

commit a98122699817c2e3349a1c766d31f056d089567e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 6 16:08:25 2012 +0200

    FIX: AtomicLengthToAnstroem was not consistent with CODATA1986.

commit 856d050c260e8ca4094eca45ccee6f8340751eae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 5 16:10:32 2012 +0200

    MEMFIX: Added WorldTime and ObserverLog ::purgeInstance() calls.
    
    - added several memory fixes:
     - XmlParser has VectorContent in static instance
     - ObserverLog must always be purged in case of --enable-debug.
     - WorldTime  was not purged.
     - mpqc does not had BOOST_CPPFLAGS although CodePatterns includes.
     - we now require CodePatterns 1.2.3 to fix two ill-reported static instances.
     - fixing ax_jobmarket to include boost dependency and we now require JobMarket
       1.1.1.
    - added ObserverLog include to GLMoleculeObject_bond, _molecule, and
      GLWorldView.
    - TESTFIX: due to changes with new JobMarket, we need to give jobids in
      regression test mpqc-jobs.

commit c3ecdebf811a656da8def9b1e9f18fa45d93252a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 29 15:06:39 2012 +0200

    FIX: KeyValueValidator did not understand more than one keyvalue pair.
    
    - now we also check for separating semi-colon and check each found pair
      separately.

commit 66dc3644d4a14b344d220eb4bfce21ddd5626b49
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 15:28:06 2012 +0200

    FIX: Written fragments are not centered on edge and stored.
    
    - this would prevent the sampled electron densities from matching up.

commit 52cac098cd034f39e8355616dd66465d1f16be00
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 6 16:11:24 2012 +0200

    FIX: MpqcParser now writes atom coordinates with precision of 10.

commit e9dc19b605415117678f62dff3e617c823d2068c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 6 19:20:15 2012 +0200

    FIX: MpqcParser now does not center the written set of atoms anymore.
    
    - This allows placing the molecule within the grid of the simulation domain.
    - TESTFIX: adapted ParserMpqcUnitTest due to changed coordinates.
    - TESTFIX: regression tests Parser/Mpqc and Atoms/Add due to changed
      coordinates.

commit 43f2278a1c4041a07215b76387c05449d12eb3e7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 2 19:14:06 2012 +0200

    FIX: removed src/Actions/test.sh and src/ReMapDBondFileFromXYZ.py.
    
    - this was used to incorporate paramvalids automatically in the Action's .def
      files.
    - the other is far even more ancient and out-dated.

commit 158c3d92dc1c236289eeedbee6d4d027c96acc2c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 1 12:36:06 2012 +0200

    FIX: Removed out-dated libmenu.a in src/Makefile.am.

commit e6e4a08379fd0455f9fb873ca41da3ba311d7297
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jul 13 11:36:24 2012 +0200

    FIX: TremoloParser did not treat key F properly in saveLine() and readAtomDataLine().
    
    - did not write/load all three components.
    - TESTFIX: ParserTremoloUnitTest due to key F changes.
    - TESTFIX: regression tests Atoms/Add and Parser/Tremolo and Tremolo-Potentials
      neded their .data files adapted (F was so far stored with just one component
      and not three).

commit 5d4179ffa47a551e7e4e3ad8cda9197d161d936d
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Wed Jul 4 15:18:15 2012 +0200

    Fixed minimal radius, so r will never be 0.

commit f4a8632ac2be7ef9ac27dae9e13d2e676b3c0569
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Fri Jun 22 17:41:24 2012 +0200

    Implemented getLineIntersections.
    
    Needs testing!

commit 9e2737fa5ce1d7cc3d3106d30a8d08a71b9e4bd9
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Fri Jun 22 16:46:24 2012 +0200

    Implemented getHomogenousPointsInVolume.
    
    Incoming N is rounded to the next possible value to generate evenly
    spaced points in z- and r- direction. Since the ring-size changes for
    every r-segment, points in zXr-direction are NOT evenly spaced.
    
    Corrected getHomogenousPointsOnSurface and changed nomenclature for dnz,
    because it is misleading in this context.

commit 6f0507e019406f2c89021c77fc22b149063fca25
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Fri Jun 22 16:30:21 2012 +0200

    Implemented getHomogenousPointsOnSurface.
    
    Incoming N is rounded to the next possible value to create evently
    spaced points.

commit 0eb8f45f1e1939cbfd3df7516d7961efabb4b05a
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Mon Jun 18 16:43:14 2012 +0200

    Cylinder implementation.
    
    Taken from somehow broken branch, so rebase was not possible,
    unfortunately.
    
    The cylinder shape is centered on (0 0 0) and its height (z-Axis)
    ranges from -1 to 1. Different scalings can be applied with the special
    constructor.

commit 52575c82d0127ae0f5a1d9fa134d452d2069a4d3
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 31 18:16:24 2012 +0200

    QtInfoBox: save current tab page when switching atoms

commit 0b2be148c3293964646488c3d12d1375dd352635
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 31 18:02:31 2012 +0200

    nicer QtInfoBox (bigger lists)

commit 6cab5359fa1ebfa57a00816a14bff88825c7223d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 31 16:16:03 2012 +0200

    Fix: don't execute SelectionMoleculeByIdAction during QtMoleculeList.refill()

commit d6203ad15085d32365cde94f765e26f53ec177f0
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Aug 29 16:02:16 2012 +0200

    Refactoring: GLMoleculeObject_molecule.updateBoundingBox() added

commit 12584104d42ac2cc27fdf050a70dd8c1a2141b7e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Aug 27 15:12:27 2012 +0200

    Made Sphere_impl::getHomogeneousPointsOnSurface() more accurate
    
    - TESTFIX: BaseShapesUnitTest now may check whether the desired number of
      points actually also resulted.
    - TESTFIX: Fixing regression test Spherical surface due to changed number of
      points.

commit 7e6a1b770d14e19d98f2df7fda5d952e46da0441
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 17 16:23:10 2012 +0200

    Fix: list queries called wrong update function

commit 852ea33df94f60a47eea4e44cd3faa3d166f5ebe
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Aug 16 17:38:10 2012 +0200

    further query merging (QtQuery added, handle() won't use param.set())

commit 1c55b87bd6df0fd793f6ec74d286a02d9a0de67c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Aug 14 16:52:25 2012 +0200

    combined Query super classes into template

commit a55e6f407eec642fe6ff7723a0966f78c9483eaa
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 10 15:26:28 2012 +0200

    really remove ValueStorage

commit 5ca6b5f0669fee6abb940c6b02f384ca2f8a16c7
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 10 15:15:34 2012 +0200

    drop deprecated references to ValueStorage

commit b2a7ccecbc8b860afe8c429fe125f88d088de1a3
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 10 14:46:03 2012 +0200

    drop unused references to ValueStorage

commit 1887bbc5b2069c9a1d8a81ac07736aa4322f5f0c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 10 14:34:13 2012 +0200

    drop compatibility for old boost version (filesystem)

commit d0f3ba56533333c78a8145f2227a4b9e0b1214e0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 08:56:05 2012 +0200

    Set version to 1.3.1.
    
    - Molecuilder library is now 10:1:0.
    - Codename "Ayers Rock" (Uluru in Northern Territory of Australia is at
      longitude of 131)

commit 5e7ebea0b2ee9c0187847da054cf691a6bd4f387
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 17:55:37 2012 +0200

    DISTCHECKFIX: AllActionHeaders.hpp must not appear as nobase_ and nodist_.
    
    - AllActionHeaders.hpp is created by Makefile.am and depends on config.h, hence
      only nodist_.
    - This is faulty since we use JobMarket for FragmentationAutomationAction.

commit 59739ebad0016b4f71b25a7031eca38927b5dd34
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 10 08:39:21 2012 +0200

    DISTCHECKFIX: QtQuery.hpp appeared twice in Makefile.am.
    
    - this would cause installing it doubly at the same place.

commit 22d01e4959b19ad6db178586f85d6d19d29a7221
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Aug 8 15:14:50 2012 +0200

    Qt: ask whether to save on quit

commit 5bcbc7a2d1bba7860aa82160dbbd451f2711cb3b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Aug 8 14:12:35 2012 +0200

    OutputAction added

commit 59ec0470cac074f0f96e159fb8ccaa40cb25405e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Aug 8 14:11:41 2012 +0200

    FormatParserStorage::isAbleToSave() added

commit 072f0e15a96284ee34557de1f64c61821fd49aeb
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Aug 7 17:16:28 2012 +0200

    Refactoring: renamed OutputAction -> OutputAsAction

commit 05a05e96293627c455f3d1c247d9b5901390fee7
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Aug 7 16:40:46 2012 +0200

    only saveAll() on exit when using CommandLineUI

commit 462201496f98b28d548d57bcc4efdd6d942174b3
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Aug 7 16:34:11 2012 +0200

    UIFactory::getUIName() added

commit 5125f6b01a8afdc77a111b33e9247b76ca91a831
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Aug 7 15:17:10 2012 +0200

    added handler QtMainWindow::closeEvent()

commit fa437c43a969290eaa1699b87fa10b7a7f979ea1
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Aug 7 15:09:39 2012 +0200

    made ChangeTracker::hasChanged() public

commit 22d99fe17d0e815c3d95d45fb214512ba69956a1
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Aug 3 14:14:19 2012 +0200

    Fix: ElementQtQuery: pre selected hydrogen was not really selected

commit 72a4c1dda0b76cb7b68789163463b8e8a1582f81
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Jul 27 16:29:50 2012 +0200

    GL: using multiple levels of detail for the meshes

commit b7b7529e093f7e052cf8a0bfdc71df38ce36f36d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jul 26 14:10:53 2012 +0200

    don't undo/redo when there's nothing to undo/redo

commit 65d7cac649012e931f932ad85e9286b008fec5f6
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Jul 25 16:05:16 2012 +0200

    Fix: World::registerAtom() did not notify observers

commit cbe40bc78ef9b9568d59ada64c778140e27562e7
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Jul 25 14:02:52 2012 +0200

    FillSphericalSurfaceAction use VectorNotZeroValidator for axis

commit 08e137890d5c20882d801a94cb62c4be5820ae33
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 17:10:51 2012 +0200

    all xxxQtQueryPipe removed

commit 1ae8203bd04bcd66a13ba3721df275deccdd729b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 16:50:05 2012 +0200

    QtQueryList applied to MoleculesQtQuery

commit 2f4e81b6a8d1f91cd35eed3b964ceea32494cf93
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 16:46:07 2012 +0200

    QtQueryList applied to AtomsQtQuery

commit 7e8e79465ba50a4dc28069a4a0bea94cd8308702
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 16:42:01 2012 +0200

    QtQueryList applied to DoublesQtQuery

commit 26ac2d88f08c03184d258443d1ada622c4124e4d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 16:37:47 2012 +0200

    QtQueryList applied to IntsQtQuery

commit 32440327d877417b93614a8af32e17fedf6abfde
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 16:15:55 2012 +0200

    QtQueryList applied to FilesQtQuery

commit 5727016afa28309442458be03eb48bd768aea788
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 16:08:40 2012 +0200

    QtQueryList applied to ElementsQtQuery

commit f84992c16bf92e5a1b141f5fccae1516c7ab340c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 16:02:58 2012 +0200

    QtQueryList applied to VectorsQtQuery

commit a2aa2f03c84652ba4f2658e682e9e382d1a1b174
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 15:50:04 2012 +0200

    QtQueryList applied to UnsignedIntQtQuery

commit 7b8a8ede0fd727c6c8763a959f82bfa5784d5cda
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 24 15:28:39 2012 +0200

    QtQueryList added (only used in StringsQtQuery yet)

commit 7dfd07ff7c14ac5ea7a5146c49720f246584a67b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Jul 20 11:25:14 2012 +0200

    Refactoring: removed QtPipe usage (list queries unusable at this point!)
    
    - also made QtDialog* into Dialog* in QtQueries

commit 7c99210d342dfb64d6b9787241278d8bfdd2ba58
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jul 19 17:14:14 2012 +0200

    Refactoring: smarter QtQueries won't need pipes
    
    - derived all xxxQtQuery classes from QWidget (multiple
      inheritance officially allowed in this particular case)
    - xxxQtQuery uses its own slots
    
    TODO: ListQueries not rewritten yet!

commit 3c53fab132a654bdaeb1f52475a15042e83357cc
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jul 12 17:59:13 2012 +0200

    Refactoring: renamed QtMoleculeView -> QtInfoBox

commit 0eb7bf3ed92029119a1774bacc1193fcf40eb3a2
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jul 12 17:37:12 2012 +0200

    Refactoring: renamed QtWorldView -> QtMoleculeList

commit f31b344229c97061506fe26561d3e45bcbf7e0f4
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jul 12 17:28:03 2012 +0200

    rearranged toolbar buttons + more sensible icons

commit 8e7dd9d2ba504a61b416ad5b4160fbfac6c228f8
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jul 12 16:41:48 2012 +0200

    GLWorldView: added stereo modes

commit 8d5fde3eb8f5529e67276391a39f6d30d150eee8
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 10 17:43:38 2012 +0200

    exception handling in QtMenuPipe::called() added

commit 70c33d56a595a0739519ded17c64e2b083f857c1
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 10 16:15:00 2012 +0200

    VectorNotZeroValidator: use existing IsZero() test

commit 5b6a4b7525d60fc4bc69875c8701b34f8ed3ae62
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 10 16:12:31 2012 +0200

    molecule: RotateToPrincipalAxisSystem only needs a const Vector for axis

commit 7a1e7d379e64aaa85289af2424e86bb454904aaa
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 10 16:04:18 2012 +0200

    VectorNotZeroValidator added (for actions using rotation axis)

commit b3a54d297c531a6a0c32ca19afe7061e11492b31
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Jul 9 17:04:57 2012 +0200

    QtQuery: use Query::temp instead of param.get()

commit 9d5531fbb47ef59c8eae4c778a79805d99f454f2
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Jul 4 15:49:18 2012 +0200

    VectorQuery: removed obsolete _check parameter

commit 30cd0d25b732f9eb7c703472deb5ff64d4f30d3c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 3 15:34:51 2012 +0200

    GLWorldScene handles IndexChanged message from atoms

commit 4f7f0bff79a3fbdade6309a3b8cf90e4a7556ba9
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jul 3 15:34:13 2012 +0200

    Fix: atom now sends IndexChanged notification

commit 49c965977db74e1c81e9b3d742130dd103646d77
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Jun 29 17:28:17 2012 +0200

    Fix: GLMoleculeObject_bond must not signOff after subjectKilled

commit c736fe19837d559d7ec40b8cb58fcbac0cb3e68a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Jun 29 17:27:43 2012 +0200

    Fix: GLMoleculeObject_atom must not signOff after subjectKilled

commit be374addea820519d3c137811e4dd6eeeff0c489
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Jun 29 17:25:34 2012 +0200

    Fix: QtMoleculeView must not signOff after subjectKilled

commit 7772aa38625bdfda71c1c587bf5e826885493651
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jun 28 15:19:57 2012 +0200

    Fix: (QtMoleculeView) don't show molecule info for atoms without a molecule

commit 4a2f3ed211b4ee1eff64ea5f4a0e9bfc2ef7d352
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jun 19 15:46:00 2012 +0200

    QtMoleculeView using a timer to delay the display after hovering

commit 4f7473143b0331eca779d35fa339619f6cf9d8da
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Jun 18 17:01:14 2012 +0200

    QtMoleculeView: show some data

commit 7b6bcfed168caa6002b849fdf3aae450af884029
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Jun 18 15:35:31 2012 +0200

    QtMoleculeView: pages for hovering atom and molecule (no information yet)

commit 407638e48fac07c5800aec4019fa6c579cee8420
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Jun 18 15:33:33 2012 +0200

    GL: Qt signals rewired
    
    - GLWorldView now tells us, over which atom the mouse is hovering

commit 859a008e875bf15678d5274d66188c486bdf83f6
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Jun 15 17:43:29 2012 +0200

    added selection modes to toolbar

commit 6966b7cf37614cc876825e55ffe4c48ffdd33c3d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Jun 15 17:42:22 2012 +0200

    GLWorldScene: added selection mode (atom/molecule)
    
    - this controls whether atoms or molecules will get selected
      by clicking on an atom

commit 41815a3756a0f2055c9cb51862e52d3fd6674034
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Jun 14 17:40:01 2012 +0200

    QtWorldView: removed usage of MoleculeListClass

commit 99e8ea1022051236b615f4a635d18f9ab621baa5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Jun 13 16:47:58 2012 +0200

    Fix: QtWorldView suffered segfault when changing the bond graph
    
    - QTreeWidget.clear() in some cases (?) sends an itemSelectionChanged
      signal on which QtWorldView iterates over potentially non-existent
      molecules
    - this is solved by setting a flag before clear()ing

commit 2aafe887a08757e3de2db25e0a53a99fa70681ec
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jun 5 14:38:27 2012 +0200

    Fix: StringsQtQuery works
    
    - created StringsQtQueryPipe as its own class
      so moc can operate without template'ized classes

commit c7e00098eb3914905e6b2e108df27d9fe997aa93
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Jun 5 12:14:59 2012 +0200

    GL: saving color settings (domainBox, dreinBein)

commit b821011a76f662862e258a9f5800fbd44c952960
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Jun 4 16:21:57 2012 +0200

    saving window geometry via QSettings

commit 073a2ff9471076d92a33746ad54ff0aa9734c2eb
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Jun 4 14:46:33 2012 +0200

    GL: enable lighting also for empty world

commit 0a6ff933ec8470fc1471de5c95459c32a9bb46c6
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue May 15 13:55:48 2012 +0200

    GL: culling enabled
    
    - only draws the atoms which are in the camera "frustrum"

commit 02b2d340ed7827b56c7e0a1fbc6d01288f33edfd
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue May 8 15:11:41 2012 +0200

    GL: prettier domain box

commit 26ed254cf6abded5df42cac864100dc9e983e0a8
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue May 8 13:54:37 2012 +0200

    GL: dreibein as a real mesh

commit bca99d279799516b9d6a51e3b2246c6e4bf9de7e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 7 13:31:19 2012 +0200

    GL: shared meshes

commit 585f7821e0083fc68aef094fe9a0497a7f99525e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 7 11:33:55 2012 +0200

    GL: redraw only once during loading
    
    - uses a QTimer with interval 0, so the redraw gets handled
      as soon as the program idles

commit e8c6367e0bd5ab83baeb0e807b9f373d951c8565
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri May 4 16:24:06 2012 +0200

    REFACTORING: moved drawDomainBox()/drawDreiBein() from GLWorldScene to GLWorldView

commit d1196d767fdb8e404486f7fd4a094d0b5467c06c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 3 13:22:43 2012 +0200

    GL: added a 3-bein to the origin of rotation

commit 45ea59f954dcb14af4649cea99031f65ff93a335
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 3 12:59:20 2012 +0200

    GL: added drawDomainBox()

commit 8880c9d1561f505dfd5bf39570302d762bbd9c60
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 3 12:46:33 2012 +0200

    GLWorldView: implemented own camera
    
    - rotation/translation mode is controlled via toolbar actions
    - shift key temporarily toggles mode

commit 3f48c29a769773dd0523747beefa22b12f026693
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 3 12:33:10 2012 +0200

    implemented GLWorldView::fitCameraToDomain()

commit 0e5d149b9832f322f7c9ee3752ae950482fd6e0b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 3 12:29:08 2012 +0200

    added toolbar actions for camera modes

commit e13b3431f3a1efd960bcfb9a151e9d93e73ea8e7
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 3 12:09:36 2012 +0200

    GLWorldView: add (dummy) cameraControlMode

commit 7641d4e1b3ea4b5b8ead0b28ccfc5977f0589e4e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 3 11:47:12 2012 +0200

    added a toolbar

commit 511645e9b697691c5ed31f3c31d97987d4216953
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 11 15:02:27 2012 +0200

    Set version to 1.3.0.
    
    - Molecuilder library is now 10:0:0.
    - Codename "Banana oil" (Common name for Isoamyl acetate which has a molar mass
      of 130g/mol).

commit b5c39c6721de3e95ff56bba6f7ca18d80b7f86c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jul 12 12:33:19 2012 +0200

    DISTFIX: removed JobMarket/ prefix in install path for headers of MolecuilderJobs.

commit 8a4b88626f69e80cb6fd4391cb051f4a17d8a519
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 11 16:32:13 2012 +0200

    DISTFIX: Bracketed libMolecuilderJobs in CONDJOBMARKET for libMolecuilderUI.

commit bd81f9550d144dc810bf910fa44f3c8249361651
Merge: 0174b62 5ffa055
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jul 11 12:53:51 2012 +0200

    Merge branch 'Candidate_v1.3.0' into stable
    
    Conflicts:
    	src/Actions/unittests/stubs/DummyUI.hpp
    	src/UIElements/CommandLineUI/CommandLineDialog.cpp
    	src/UIElements/CommandLineUI/CommandLineDialog.hpp
    	src/UIElements/Dialog.cpp
    	src/UIElements/Dialog.hpp
    	src/UIElements/Makefile.am
    	src/UIElements/Qt4/QtDialog.cpp
    	src/UIElements/Qt4/QtDialog.hpp
    	src/UIElements/TextUI/TextDialog.cpp
    	src/UIElements/TextUI/TextDialog.hpp
    
    - File_s_Query was not yet adapted to the new Parameter and Validator structure
      introduced in v1.2.5.
    - new Action FragmentationAutomationAction lacked paramvalids.
    - adapted FilesQuery for all UIs, especially FilesTextQuery.

commit 5ffa055f55bf0295a673454bf1b27424d423489e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 10 18:45:11 2012 +0200

    DISTFIX: Now all package.m4 are created in build directory and shipped from there.

commit 004d5c87ea6293a9829cd1f88041c885baa3bb18
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jul 9 17:04:43 2012 +0200

    Removed JobMarket as it is now in its own repository.
    
    - added ax_jobmarket.m4.
    - added check to configure.ac
    - Removed libraries libJobMarket... in Makefile.am's, replaced by
      JobMarket_..._LIBS.
    - changed some includes that now required JobMarket/ prefix.
    
    Larger change to get JobMarket including its tests out of MoleCuilder:
    - configure has new enable-switch for JobMarket. Only then, we tests for its
      presence and usability (and also for boost::asio).
    - I do not know how to check for AM_CONDITIONAL or config.h values properly in
      a shell. Hence, I moved all regression tests dealing with the JobMarket into
      their own folder tests/JobMarket with depends on CONDJOBMARKET whether its
      included or not, similar to tests/Python.
    - TESTFIX: regression tests moved to tests/JobMarket have their paths changed.
    - FragmentationAutomationAction is now conditionally compiled in as well.
    - some Makefile.am's changed because we now have JobMarket_CFLAGS and _LIBS
      similar CodePatterns.
    - We use boost::preprocessor to add it dependently on HAVE_JOBMARKET to
      src/Actions/GlobalListOfActions.
    - TESTFIX: The former required a small change to CodeChecks test
      testsuite-globallistofactions_hpp as we can check no longer for the action
      name within brackets there.
    - FIX: I removed some unnecessary includes (defs.hpp) from MPQCCommandJob...hpp
      into the .cpp files.

commit c1d78c0d454abca5d830cfc9a9da939bb2452382
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jul 10 14:59:42 2012 +0200

    FIX: Tesselation_BoundaryTriangleUnitTest did not properly removed temporary TesselPoints.
    
    - although we did remove them correctly in teardown(), in intermediate removals
      in functions we did so only via "delete triangle". This kept the TesselPoints
      especially in the static Observable map which causes memory corruption on
      program exit.

commit edecbab733e2e5f7d3ca8b8784d033c00dca3c0d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 18 15:09:36 2012 +0200

    Added Action to use the JobMarket for FragmentationAutomation.
    
    - added regression test Fragmentation/Automation molecuilderrun.
    - note that FragmentationAutomationAction waits 0.5 seconds in between checking
      on done jobs.

commit 103eb8b758b1d67aaeaf2e52f87bfbba00a58174
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 30 15:00:50 2012 +0200

    Removed SystemCommandJob capabilities from src/controller while maintaining MPQCCommandJob.
    
    - SystemCommandJob is now maintained by JobMarket's controller.

commit c8446c9dfb15b3dbd1b31f8f0a8400639f778b16
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 31 09:59:07 2012 +0200

    Moved basic Fragmentation/Automation regression tests over to JobMarket.
    
    - removed scripts that were moved over to JobMarket in tests/regression.

commit 7da5cd8f40af510421808552471affe096db4402
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 4 11:19:42 2012 +0200

    Moved all Controller.., ..Options, and .._main() files over to JobMarket.

commit a10cc029b85f24d56d1c8a1dd7fe5048f9d8f9df
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 18 16:37:17 2012 +0200

    Moved all Fragmentation/Automation into new subpackage JobMarket.
    
    - adapted most files (which have been copied from sub-package LinearAlgebra).
    - adapted all Makefile.ams to splitting.
    - unit tests are ok.
    - there is one very strange issue: Whereas for LinearAlgebra in its header
      files a prefix of "LinearAlgebra/" is _not_ required (and even has been
      removed when LinearAlgebra was placed in its own folder), the same does
      not hold for "JobMarket/". Here, we have to use both includes, one with
      the prefix and one without.
    - NOTE: We force libJobMarket to be linked with c++ linker via dummy.cxx file.
    - Removed all reference to FRAGMENT... in JobMarket's Makefile.am.

commit 7546b0b65f515aa9912563671305e96bb443e945
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 4 09:41:05 2012 +0200

    Split off main() in controller, poolworker and server into ..._main() to allow placement in library.

commit fd4d5e9f6169e6fb4f1b3ebf883388e3bcf11569
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 4 11:59:33 2012 +0200

    Added convenience libraries for Controller, Server, Pool, and PoolWorker.
    
    - added shared library libFragmentationAutomation.la.
    - Controller, Server, and PoolWorker now also depend on libCodePatterns and
      libboost_programoptions.

commit 014bc488792ee58f26e7bf769da070ed1c146bfc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jun 2 12:51:09 2012 +0200

    Introduced interface controller_AddOn.hpp that encapsulates controller extending functions in struct controller_AddOn.
    
    - allocating function for derived structure controller_AddOn is contained in
      extra module to allow indepent linking, i.e. combine controller.cpp,
      controller_AddOn_SystemCommandJob.cpp and controller_SystemCommandJon.cpp or
      with controller_AddOn_MPQCCommandJob.cpp and controller_MPQCCommandJon.cpp.

commit cbcbbd63e97a2e60704da03bab709f5377d591aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 21:53:13 2012 +0200

    Split off SystemCommandJob-specific stuff in controller into module controller_SystemCommandJob and controller_MPQCCommandJob
    
    - this is preparatory for introducing a generic interface.

commit ee61ce4beaab0d3c2f7cf501fc17d4a09765d3b7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 20:30:13 2012 +0200

    Extracted ControllerCommand and ControllerCommandRegistry from controller and placed into own modules.
    
    - ControllerCommand encapsulates a controller command name and its deque of
      bound functions.
    - ..Registry stores these instances.

commit 865a21813c77962eaecd6f2a35712d565b481ffe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 19:54:41 2012 +0200

    Merged createjobs() and creatingJob() into createJob() in controller.cpp.

commit ad39c2eca1ee630db703cf9b682fee50b18debc2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 19:46:15 2012 +0200

    Server now uses SignalHandler as well (as poolworker does).

commit 2a20bd4a82910d923c263ca2b18663dcd4c6a7c9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 19:42:59 2012 +0200

    Placed all Option parsing in Server into ServerOptions on own module.

commit 4ccc8d2a0e08e449e21a29c7af634aef94536be6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 19:35:01 2012 +0200

    Placed signalhandling into own class SignalHandler from PoolWorker.
    
    - signal() requires pointer to global function as handler, not some bound member
      function.

commit 6c52d21071940cf6fad648f37d1ea0b21900a409
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 18:45:42 2012 +0200

    Refactored option parsing in poolworker into WorkerOptions and SignalOptions in own modules.

commit 5fa1f0d91ec5fcecb8e7f01bba8935242d296f10
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 18:45:25 2012 +0200

    Outsourced DefaultOptions, ControllerOptions, ControllerOptions_SystemCommandJob, and ControllerOptions_MPQCCommandJob, into own modules.

commit 0aaf84342d2a408836cb6f595bc543d391f96af5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 18:23:05 2012 +0200

    Added DefaultOptions, containing help and verbosity from ControllerOptions.
    
    - same options are required for Server and PoolWorker.

commit 685e283ee3f9d16a668510a75aef7352cc2aa59d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 31 11:08:05 2012 +0200

    Removed the lot of switch statements in controller's main(), replaced by deque's of bound functions.
    
    - This will eventually allow the use to simply add another command by
      furnishing it with its own queue of bound functions.

commit 9dcce34bb40a82c811dead7c3f0fad21f1fffb01
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 31 10:33:43 2012 +0200

    Refactored parsing of command line parameters into structure ControllerOptions.
    
    - this structure can be derived from to add other parsing functions and
      options.

commit 311137ba72b2a6d1e9387251b02ad24abd7810de
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon May 21 12:42:12 2012 +0200

    Changed FragmentController::printDoneJob() -> ::getJobStatus() which returns pair of numbers.
    
    - this is to make FragmentController just an intermediate and remove the ouput
      operations from it.

commit cc5db582dad56745fce8f970d96f7197f1842609
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 6 17:40:14 2012 +0200

    Moved all MPQCCommand... to src/Jobs, controller,server,poolworker to src/.
    
    - this is preparatory for moving stuff in Fragmentation/Automation into own
      subpackage JobMarket.
    - first, we need to split off dependencies of Fragmentation/Automation on
      modules in src/Fragmentation (which is MPQC-related stuff).
    - added src/Fragmentation/Automation to INCLUDES for the moment.
    - TESTFIX: changed all executable paths in regression tests Fragmentation/
      Automation.

commit c586d8167c446dff7b1ea58c21d9589f1abb8b54
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jun 6 17:31:40 2012 +0200

    Removed file Worker.cpp.

commit 2c5765fc2598fb70685cc0ead59e118f3df88b1c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon May 21 11:56:07 2012 +0200

    Added Query for File_s_, i.e. vector of boost::filesystem::path.

commit 30438f89e3a449dd812a1126279d816e4403195f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jun 18 14:57:26 2012 +0200

    OperationQueue can be blocked to prevent further operations to be pushed.
    
    - this is used in poolworker after shutdown. E.g. when working on a job and
      we receive shutdown, then sendresultop might be pushed after remove op
      which prevents shutdown as io_service is not done.
    - added unit test function to OperationQueueUnitTest.

commit 7f19f8d965b9500bdd7eb697fe07e841aae90249
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 5 17:13:49 2012 +0200

    Added helpful error message in ControllerListener_t::handle_ReceiveJobs().

commit 469f53b02a87fe6229bfe93496f0e546f5c6bde3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun May 13 21:03:53 2012 +0200

    Regression test FragmentationAutomation enroll-in-pool now also adds a job.
    
    - this is have it both ways: First the job, then the worker as in adding-job.
      And also, first the worker, then the job as now in enroll-in-pool.
    - this is to make sure that the observer mechanism is working on both ways
      correctly.

commit 2ab0b03d874d2e7e06e6d68656d9dff831805e23
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun May 13 20:56:51 2012 +0200

    DOCU: Added extensive documentation on the client/server/controller concept of the Fragmentation Automation framework.

commit 9d7c6a15e3a0cde241838d05c776bc8f4bee3d16
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun May 13 19:53:34 2012 +0200

    PoolWorker now has an OperationQueue and ServerAddress.
    
    - OperationQueue works the same way as for FragmentScheduler. Operations are
      simply handed over to it with callback function in place from cstor.
    - ServerAddress stores server's address to hand to OperationQueue on pushing
      the operation.

commit b08c7ca9d5d6fe815e57e7f4ed568ab03f791cc6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun May 13 19:53:05 2012 +0200

    Renamed PoolWorker::address -> ::MyAddress to differentiate from ServerAddress to come.

commit 122de0e5e729498fdba798da4a3f7a7806557733
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon May 14 15:57:39 2012 +0200

    PoolWorker now shuts down when enrollment is not successful.
    
    - new bound function initiateme contains call to initiateSocket() and is
      called when EnrollInPoolOperation succeeds.

commit bff93d44ade4571ea324e40c71e6fa2cce82cf93
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 11 22:00:28 2012 +0200

    RemoveFromPoolOperation is now async.
    
    - changed PoolWorker such that we close down socket and listener via success
      callback handler of the operartion.
    - FragmentScheduler now sends true/false as status of removal.

commit d57585e6a2a4bac3922a30b0d4538287bd9d1987
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 11 21:42:43 2012 +0200

    Added ExitflagContainer that FragmentController and PoolWorker use.
    
    - all Operations have been stripped of their internal Exitflag.
    - PoolWorker and FragmentController uses callback mechanism to let the
      AsyncOperation set their Exitflag in case of failure.

commit 9db22d3dcf243224ac36894c1c0683c009857077
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 11 20:23:22 2012 +0200

    AsyncOperation and all derived classes changed their cstor and operator() signature for success/failure callback handlers.
    
    - This allows starting certain functions depending on whether an asynchronous
      operation succeeded or not.
    - FragmentController and PoolWorker are adapted to new AsyncOperation's cstor
      and operator() signatures.

commit 17017ba23edbf313cf0a6d860e5d06ea726b2b6a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 11 21:39:08 2012 +0200

    FragmentScheduler sends true or false instead of specific enumeration as acknowledge of enrollment.
    
    - adapted EnrollInPoolOperation accordingly.

commit e48f5c03dc6e0e86bea7cf8f7ad67548413965ed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 24 00:00:32 2012 +0200

    Hostname argument to poolworker is now optional.
    
    - we use gethostname() to obtain the hostname if no argument given.

commit af9b9fff30a59d026e6a6f323b457bfda82ed6df
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 3 14:46:59 2012 +0200

    Controller now also uses boost::program_options to parse command line options.
    
    - also we now cleanly check whether each command has its required arguments
      before making any connections to the server. Hence, nothing can be lost.
    - TESTFIX: Changed regression tests due to changed controller calling
      signature.
    - TESTFIX: regression test Fragmenation/Automation mpqc-jobs uses removeall
      instead of giving kill.

commit 267b8daa521f5d13c38827367820abbe54d9da41
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 3 13:14:23 2012 +0200

    Server now also intercepts sigint and shuts down gracefully.
    
    - new FragmentScheduler::shutdown() function is bound and given as signal
      handler.
    - on signal we first remove all workers and only shutdown and close sockets
      when there are no workers.
    - note that we do not release the signalhandler after first received signal
      but after a given number as two ctrl-c are required to shut down server
      having poolworkers.

commit d9373b981317876af100f1e1720cf65c82487219
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 25 14:22:22 2012 +0200

    Server now gives information about number of total and idling workers when new one is added.
    
    - WorkerPool has new convenience functions for the size of each internal queue.

commit 684bc115d868b72f2c94303c9ebeab68f5c4b75e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 23 14:33:01 2012 +0200

    Server now also parses worker and controller port via boost::program_options.
    
    - TESTFIX: Same again, adapted server calls due to changed command option
      signature in regression tests Fragmentation/Automation.

commit 012c98ba863e08e6690bf8a87b6c2f401acaba73
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 23 14:32:36 2012 +0200

    We now set option reuse_address to be more gentle only used ports.

commit 5ac92ec01c987087e2a3329a233da101edaa2998
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 25 12:27:55 2012 +0200

    PoolWorker now parses command line options via boost::program_options.
    
    - all of poolworkers command line arguments are now parsed via
      boost::program_options.
    - As a sideeffect multiple signals may now be specified to catch on the command
      line.
    - TESTFIX: Usage of poolworker has changed, hence adapted regression tests.

commit dc759cf0dae2560ef8d66043ed7c98f2c23561aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 25 12:04:21 2012 +0200

    FIX: All checks on command line arguments are now done in phase one, exit on fail.
    
    - otherwise we lost e.g. results when receivempqc had received them but noticed
      afterwards that the required path is missing.

commit 92b1d39c3763b13224e498d28e23523734f99945
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 18:53:31 2012 +0200

    OperationQueue now has a max_connections and allows only this number of running operations.
    
    - OperationQueue::launchNextOp() is called by update() and push_back().
    - new AddressMap takes endpoint addresses and is used to know which operations
      still have to be executed.

commit 81c96b65f11d727ebf6d8807281c83144e27d2c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 18:26:01 2012 +0200

    FIX: Listener (and PoolWorker) now check whether address to listen on is in use.
    
    - we use acceptor construction as given in boost::asio::basic_socket_acceptor
      to listen on the desired port. Bind gives error code when error occurs.

commit 270364d30b85b57d70fb871eb67806735064e784
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 3 16:20:25 2012 +0200

    Rewrote FragmentScheduler::removeAllWorker() to only give shutdown signal to all idle workers.

commit 668b554b80cc9918a3e3163e572e7c8a4c22b121
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 3 16:20:05 2012 +0200

    FragmentScheduler::shutdown() now returns bool and does not remove workers anymore.

commit b15c4f94be3c79c09159bcc3186d3b4d4f735d7c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 3 16:18:24 2012 +0200

    Added new RemoveAllWorkerOperation and removeall command to FragmentController.
    
    - FragmentScheduler::ControllerListener_t has second bound function to
      removeAllWorker() from FragmentScheduler instance.
    - this is preparatory to split shutdown into first removeal and then closing
      of sockets.

commit befcf8c878bf1f2e44464cc013b9380efa377e48
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 3 15:30:09 2012 +0200

    Rewrote FragmentScheduler::shutdown to make sure idle_queue is truely const.
    
    - WorkerPool has new function to return idle_queue addresses as Vector.
    - We first get all addresses, then shutdown each and also we iterate over this
      as long as OperationQueue has Ops and idle_queue has idlers.

commit ba995dcf6e21a9d90d6b3f43c134c6556ee111de
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 17:34:20 2012 +0200

    ShutdownWorkerOperation is now an asynchronous operation.
    
    - FragmentScheduler places shutdown op into queue as well and waits for
      empty queue in removeAllWorkers().
    - OperationQueue has convenience function empty().

commit a40c85e2a7ef886ef6dc01bfdf7300e9f5816bc5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 16:58:50 2012 +0200

    FragmentScheduler is relieved of observering Operations, is done by OperationQueue.
    
    - i.e. OperationQueue is now an Observer and uses push_back() and remove() to
      sign on and off from the given operations.
    - added unit test function to check this behavior.

commit 9a6b895a55d61fe22e8701297c9f6a31aefa1816
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 16:56:21 2012 +0200

    FIX: FragmentScheduler now has an OperationQueue that monitors its async.ops.
    
    - this fixes the issues with multiple jobs being handed out.

commit f45c08b2b3e2af3a790d950101ca23b93baa49cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 16:36:36 2012 +0200

    Implemented OperationQueue that takes care of AsyncOperations.
    
    - this is preparatory to fixing FragmentScheduler: When more than one job is
      placed in the JobQueue at the same time and multiple workers are idling, then
      also multiple SendJobToWorkerOperations are required. So far there is only a
      single instance, hence it is overwritten and only the last worker gets its
      correct job.
    - also added unit test on functionality of OperationQueue.

commit 2e661a0041b96400c1fd8b0f780a60bb0980bd5e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 16:35:21 2012 +0200

    AsyncOperation is now an Observable.
    
    - it gives update() when the operation has been completed.
    - this is preparatory to placing AsyncOperation inside a queue that
      automatically takes care of their removal.

commit 86a1e83160d08067c1519bccea028fd23f281173
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 24 16:34:35 2012 +0200

    SendJobToWorkerOperation can be given job in its cstor.

commit 3eb035c6f7afcfdb9083b294cefd27ed9b4d24f5
Author: Frederik Heber <heber at everest.wiss-stud>
Date:   Tue Apr 24 12:38:54 2012 +0200

    FIX: Removed channel WorkerRemoved in WorkerPool as it may cause cyclic updates in FragmentScheduler.
    
    - If jobs are already present in the queue and an idle worker arrices,
      then marking a worker busy will cause an update inside the callback
      that is used to send the job to the new idle worker. This will trigger
      the same notification that is not yet removed to be called in
      notifyAll(). This causes a cycle in the updates.

commit d76161ebad259dbe9c91bea5ed52654bda2d48d6
Author: Frederik Heber <heber at everest.wiss-stud>
Date:   Tue Apr 24 12:36:30 2012 +0200

    FIX: Removed channel JobRemoved from FragmentQueue as it may cause cyclic updates in FragmentScheduler.
    
    - An update is triggered, when a job is popped from the queue. If a new job
      has just been pushed and a worker is free to pick it up, the callback
      function is used to do this. If we trigger an update by popping a job,
      even if it's now a JobRemoved, not JobAdded, all notifications will again
      call notifyAll() and the same notification will be triggered twice.

commit bc16259004479a079319350325887ab2b54b8cf5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 23 14:40:15 2012 +0200

    Regression test mpqc-jobs now requires "correct" results from stand-in mpqc program.
    
    - that is, we now extract the results and combine them in controller.

commit 5a851238fd5b97176ec16b5c12a642f5fe31c4d4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 19 20:24:04 2012 +0200

    Completed printMPQCReceivedResults() in controller by using MatrixContainer::AddMatrix().
    
    - result is printed at end of function.
    - Added helper function to controller to parse total number of atoms from
      Adjacency file.
    - NOTE: This function is only temporary. It should lateron be outsourced to
      its own class, maybe as a functor, and then eventually be merged into the
      main molecuilder program to be accessible inside an Action.

commit a98afbcce27393b6d0e5a9d8194861fdc719a427
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 21 12:08:17 2012 +0200

    Added regression test to Fragmentation/Automation whether mpqc jobs work.
    
    - this test uses stand-in mpqc, as true program would require extra dependency.

commit 23d10f2a7f08748470f73c2de10a305adf45f983
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 21 12:07:30 2012 +0200

    Added stand-in mpqc program and regression test on it to Fragmentation/Automation.
    
    - the stand-in mpqc is used to simulate working mpqc in the background, it just
      prints a present mpqc output file.

commit 917be8b2ef9da0d7774581a46ba0ecc45a38e985
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 23 13:43:07 2012 +0200

    MPQCCommandJob now takes command argument to the mpqc executable.
    
    - This allows to use stand-in mpqc instead of true mpqc executable.

commit c4f43eb3719f0423f4be4dba65a1ed0484ca489f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 19 23:06:07 2012 +0200

    GetNextJobIdOperation now may request a vector of ids.
    
    - otherwise we needed multiple phase one calls, ever requesting a single id.
    - now, we state how many ids we want and may eventually get one by one as
      desired.
    - adapted FragmentScheduler::ControllerListener_t and FragmentController
      accordingly as we now have to exchange the desired number of ids, too.
    - requestid() needs now an additional parameter.

commit e1161100bfae430fd5106708fc3936e1fe69a8a8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 19 22:16:26 2012 +0200

    GetNextJobIdOperation now has check whether id is available.

commit a2d65328746fcc8fdc1d9c782d15f30309d8cf50
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 19 20:22:48 2012 +0200

    Added MatrixContainer::AddMatrix() which takes of the functionality of ::ParseMatrix().
    
    - AddMatrix simply adds a received MatrixArray to the internal matrix. Also, we
      restructured the function a bit: check preconditions, allocate, then set.
    - ParseMatrix() creates first such a MatrixArray which it parses from a file.

commit d7bb9b11ce8fe602f9904ab524aa2c53b5026e4a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 18 09:21:43 2012 +0200

    Controller now links to libMolecuilderFragmentation, has extended printReceivedMPQCResults().
    
    - extended printReceivedMPQCResults to use FragmentMatrix and alikes.

commit 3add4f7d91bf09172989b7f9215b4050e70eddc5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 19 16:42:11 2012 +0200

    Placed src/Fragmentation/Automation behind src in main Makefile.am.
    
    - hence, now libMolecuilderFragmentation is compiled before ...Automation
      as required.

commit 4dd16e4bf5f26ec09f04a28ed1029538fce01522
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 18 09:21:28 2012 +0200

    Placed some commodity functions from controller.cpp into FragmentController.

commit e032b43e18141e53eb0ce8b43ac92a8842c57459
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 8 16:15:51 2012 +0100

    FragmentScheduler::recieveNotification() now asserts that we only received desired notifications.

commit d4885d96586c1ba6400b6bf1c77eac3dd46984c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 21:36:27 2012 +0100

    Moved FragmentController from Controller/, removed dir Controller.

commit 6ee809ee4e38907f1540d3e575987840d690326e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 21:34:33 2012 +0100

    Renamed CommandRegistry -> OperationRegistry.

commit 50d0954c9954f199b1e23cb238803411a30172b2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 21:05:05 2012 +0100

    Moved Controller/Commands to Operations/ folder and split into Controllers, Servers, Workers.
    
    - each will eventually go into its own Registry.
    - also changed all include occurences in all files.
    - fixed some includes in the definition where path was used (header always
      resides in same folder as definition).

commit 9d14c39cb7829a84513a9389e0526347eb30c2be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 21:26:06 2012 +0100

    FIX: Renamed SendResultsOperation -> ReceiveResultsOperation in file and class.
    
    - also renamed name sendresults -> receiveresults.
    - also renamed ControllerChoices enum SendResults -> ReceiveResults.

commit 425fc6dc643f9f341f0b236c7ace03fce1c18ce0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 21:11:38 2012 +0100

    FIX: Renamed ReceiveJobsOperation -> SendJobsOperation in file and class.
    
    - also name is receivejobs -> sendjobs.
    - also renamed ControllerChoices enum ReceiveJobs -> SendJobs.
    - The Operations should have been named actively, i.e. from the point of the
      instance who executes it.

commit 6b3a376093d3dcb7eae7953f45036bc650bb4286
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 23:30:57 2012 +0100

    Added begin(),end() for idle_queue of WorkerPool.
    
    - this allows shutting down Workers without marking and then unmarking them as
      busy by FragmentScheduler.
    - also the returned iterators are const and hence allow to see the which
      workers are idle but not to modify them this way.
    - also added WorkerPool::hasBusyWorkers() to allow for waiting server shutdown
      until all workers have returned from work.
    - added some tests for this in WorkerPoolUnitTest.

commit 6ea7f414c093c35de74613685f74126abe31c582
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 5 00:42:50 2012 +0100

    Changed FragmentScheduler::removeAllWorkers() by ShutdownWorkerOperation.
    
    - so far, we have to unmark workers busy after getting them via getNextIdle..()
    - FragmentScheduler does now not remove PoolWorkers after a single job.

commit 8acd85c089b57df8dd5a553f092365d01544f4e7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 5 00:41:43 2012 +0100

    Added PoolWorker::shutdown().
    
    - overloaded shutdown(int) with shutdown() and the former is now just a
      wrapper to shutdown() that additionally calls removeme().
    - PoolWorker branches on id of received job, if it's JobId::NoJob, we shutdown.

commit 1cfd17d5013291e22da33df356e872425cb97e08
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 5 00:40:23 2012 +0100

    Added synchronous ShutdownWorkerOperation.
    
    - ShutdownWorkerOperation sends static NoJob as shutdown signal.

commit 2344a30f31c0fe3d7ef97b7598871abb375747d2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 17:24:25 2012 +0100

    FragmentScheduler is now an Observer of JobsQueue and pool.
    
    - ControllerListener gets a bound function shutdown() to pass on shutdown
      request from controller on to FragmentScheduler itself to shutdown both
      sockets and the io_service.
    - FragmentScheduler is notified of JobAdded and WorkerIdle to send out jobs
      to workers.
    - Now, FragmentScheduler always initiates WorkerListener's socket.
    - removed temporary construct in WorkerListener_t::handle_ReceivedResults
      which launched the next job.
    - TESTFIX: Regression test Fragmenation/Automation completerun now sends
      three jobs (this would have lead to crash with temporary construct above).

commit fb255d4c207a67e82e4b31c2619ccd8b0877cc54
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 29 18:39:33 2012 +0100

    WorkerPool is now observable.
    
    - this is preparatory for allowing FragmentScheduler to contact idle Workers
      and sending them possibly present jobs.
    - added NotificationObserver in unit test.

commit d6b12c1d8227a7a37a477f6fbdc178f95f7caaf3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 29 17:07:33 2012 +0100

    FragmentQueue is now observable.
    
    - this is preparatory for allowing FragmentScheduler to send jobs to worker
      when new ones have arrived.
    - added NotificationObserver to FragmentQueueUnitTest.

commit a06358c06389e0dcc7c1707087422a19b0beb155
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 17:11:54 2012 +0100

    Added regression test Fragmentation/Automation for enrolling in pool.

commit e8f397a97a39bc8a8ad9a4baf1c7c2958cdc74aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 7 11:36:43 2012 +0100

    PoolWorker is now truely listenting.
    
    - does now (re-)initiateSocket() after first contact.
    - FragmentScheduler does not remove after one job.
    - TESTFIX: Changed all regression tests Fragmentation/Automation to use
      listening poolworkers.

commit aec09889c45d83b21d968ee2b57faa2a8c06a6c8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 17:12:28 2012 +0100

    Added signal handling function to poolworker to intercept ctrl-c via PoolWorker::shutdown().
    
    - this is for gracefully shutting down the worker (i.e. letting server know
      that we are off).
    - Added PoolWorker::shutdown() function to gracefully shutdown.
    - We use RemoveFromPoolOperation() to unlist from server's pool.
    - PoolWorker now contains ref to io_Service in order to stop the service on
      shutdown.

commit 9a3f84cbd399e3427447ded42db8f62d11fd2e1d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon May 21 09:14:59 2012 +0200

    FragmentScheduler now uses WorkerChoices for handling connection workers.
    
    - Workers always first send address, then their choice and depending on this
      we branch into various handlers.
    - SubmitResultOperation and EnrollInPoolOperation now correctly give choice
      after sending address.
    - handle_enrolled uses getNextIdleWorker() to mark indirectly as busy. This
      is temporary.
    - we do not resubmit if Max_Attempts is 1.

commit a8f54b69dfbfc0ab76b69519598d610576b3927e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 17:04:37 2012 +0100

    Added RemoveFromPoolOperation.
    
    - is a SyncOperation for the Worker.
    - added file WorkerChoices.hpp.

commit 701bbc41bd25695e7b3b73c64db57c48c3771e36
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 16:59:32 2012 +0100

    Added SyncOperation and common base Operation.
    
    - CommandRegistry stores again Operation which is now the common base class of
      Async- and SyncOperation.
    - ShutdownOperation is now a SyncOperation.

commit 7dd8bca153017cd0e2b65e43da5fb1c8209e754f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 17:05:02 2012 +0100

    Added template functions for sync_read() and sync_write() to Connection.
    
    - also factored our prepare_write from async_write() which is needed in case
      of sync_write() as well.

commit f98c8e7d28a6990e8994ca30458c622fd31c4cf9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 16:55:32 2012 +0100

    Renamed Operation -> AsyncOperation in file and class.
    
    - this is preparatory to also have SyncOperation which both derived from a
      common base Operation.
    - CommandRegistry for the moment stores AsyncOperation instances.

commit fe95b7a95acf0c88e89ca17057d71a53c556f761
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 17:18:32 2012 +0100

    FragmentQueue can now resubmit jobs.
    
    - we keep an internal list of jobs currently being worked on. If the worker
      returns with a failure, they can be resubmit to the queue.
    - there are Max_Attempts (currently set to 1) tries to resubmit.
    - added unit test function on this.
    - added regression test Fragmentation/Automation resubmitjobs.

commit 55938519c676fe8633bfec4246ea3754a88191d6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Mar 4 17:08:09 2012 +0100

    FIX: Replaced calls to Operation::handle_FinishOperation by <class>::handle_ ...
    
    - if Operation::handle_FinishOperation() is protected member function, we call
      only bind to it like this.

commit 38032a2bcd60a9243123e7c23376316197727fc9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 1 18:55:09 2012 +0100

    Renamed SchedulerStates -> ControllerChoices enum.
    
    - extracted from types.hpp as well.

commit 41c1b778849fcd8e13f030bc1e1012ac80cd8881
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 29 09:32:10 2012 +0100

    HUGE: Added PoolWorker, removed (Fragment)Worker, and rewrote parts of FragmentScheduler.
    
    - PoolWorker uses EnrollInPoolOperation and SubmitResultOperation to enroll,
      get the job and submit the result. Enrolling and getting the job is combined
      to have the same workflow for the moment until the pool is fully implemented.
    - WorkerListener_t in FragmentScheduler has a callback instance to access
      sendJobToWorker function for sending jobs when a Worker has connected.
    - FragmentWorker and Worker have been removed, also WokOnJobOperation. They
      are all replaced by PoolWorker and its own Operations.
    
    ToDo:
    - FragmentQueue needs a callback function when new jobs have been added.
    - WorkerPool needs a callback function when a worker is idle.
    - WorkerListener_t then does not need a callback anymore, just access to
      the pool who has then the callback.
    - so far PoolWorker quits after first job (and is also removed by Server).

commit 5d8c0f3e6cd2a623237358cf3c11d644a2aaf86c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 28 16:08:09 2012 +0100

    Added WorkerPool to handle a pool of Workers.
    
    - also added unit test.

commit edbf88b839d69b6e01bba6c317710295d1c45d26
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Feb 26 21:19:19 2012 +0100

    Added WorkerAddress, serializable host+service address.
    
    - also added unit test on comparison operators and serializtion.

commit 8d79174ee7e684f7d49d96da0e0f64d0f820c4e9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Feb 26 21:13:23 2012 +0100

    Restructured convenience libraries for Fragmentation/Automation.
    
    - new convenience library libFragmentationCommands containing all Operation
      derived classes.
    - renamed libFragmentationAutomation -> libFragmentationAutomationHelper.
    - FragmentController and CommandRegistry removed from this library.

commit 95454a7757cb2e73de8ed370a8d7b2ea5103e000
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 22 19:33:19 2012 +0100

    Refactored main part in FragmentWorker into WorkOnJobOperation.
    
    - essentially FragmentWorker just contains this Operation and nothing else.

commit 8036b77b383d40bbb7e818ed0a8809eba5794745
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 22 18:50:06 2012 +0100

    Refactored Listener out of FragmentScheduler.
    
    - this is preparatory for creating PoolWorker class, i.e. Worker that listen
      for jobs sent to them by the server.
    - the connection is just reset() on new initiateSocket().
    - closeSocket() correctly shutdown()s and close()s the socket.
    - Note: As ControllerListener receives new jobs and thus knows when the server
      is required to listen on worker port again, it needs a bound function to
      WorkerListener_t::initiateSocket(). This will be removed when the new Pool
      is in place that handles Worker connections.

commit 95b38499d61ebcaaaadab3c032f11c4cd7cff89c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 22 17:50:32 2012 +0100

    Removed duplicate code in FragmentScheduler with initiating new connections.

commit 98688531d72c70fdcf3a5a081fffe953746b3962
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 22 17:41:15 2012 +0100

    Added specific Command to controller to receive mpqc results and combine them.
    
    - new entry in CommandIndices ReceiveMPQCIndex.
    - is not done. This should be implemented using the already present methods in
      the rest of MoleCuilder. This should go into the function
      printreceivedmpqcresults().

commit 5090147fa17a4d592427ff1a38e14ca10961c6c6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 17 11:34:09 2012 +0100

    Added output stream operator to MPQCData.

commit 554809007e3b5cc0682e8fb20aec965cd247193f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 16 13:40:35 2012 +0100

    createjobs now gets two options: command, argument.

commit d1dbfc5f3d703923f09bc57a4a3e7b6f4f8e6bc8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 16 16:09:52 2012 +0100

    New GetNextJobIdOperation for obtaining next available JobId from server.
    
    - as JobId is required to create the job, we now need two, separate
      communication phases: gathering info (ids) and sending info (jobs).
    - new SchedulderState GetNextJobId along with handlers.
    - new GetNextJobIdOperation that requests another id which is internally
      stored into a list, along with a getter that extracts them one by one.
    - controller's createjobs() and parsejobs() each take an nextid parameter now.

commit 6f2bc74265e4dfd79255657a1db5cc52e9511f44
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 16 12:12:40 2012 +0100

    CheckResultsOperation now receives both scheduled and done jobs.

commit bf56f65db66ae65f402f3f5745039390aa2fe1f6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 16 11:52:47 2012 +0100

    Added getPresentJobs() to FragmentQueue.

commit 545446b038f1a0d9d33bd09fbb7dc838635c4311
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 15 15:17:54 2012 +0100

    Added serialization capability to MPQCCommandJob.
    
    - added unit test and operator==() (including test).

commit ff60cfa6d1a9d5d02c5383a60a027b1843d6e0b6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 15 15:14:19 2012 +0100

    Controller has new function addjobs.
    
    - addjobs parses mpqc input file and creates MPQCCommandJob which is sent to
      send jobs
    - old sendjobs is now createjobs which creates empty SystemCommandJob.
    - added new class GlobalJobId which holds a global JobId such that FragmentJobs
      created by Controller each have a unique id. NOTE: This should probably be
      replaced by IdPool implementation when Fragmentation/Automation is integrated
      into rest of molecuilder.
    - dummyInit() to have MPQCCommandJob instances known to FragmentScheduler.
    - TESTFIX: Adapted regression tests Fragmentation/Automation adding-jobs,
      server-worker, and completerun due to command token change.

commit 306f6062be599f351119d201e27f00dfb9a90c1e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 14 17:01:24 2012 +0100

    Extended MPQCCommandJob's extractString to understand MP2 keywords.

commit cc276ec507f3ccef1a447ef1f76b1f35e8bcd527
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 9 16:27:56 2012 +0100

    Added MPQCCommandJob and result container MPQCData.
    
    - MPQCData contains data to be serialized into FragmentResult.
    - MPQCCommandJob implements mpqc-specific result extractor.
    - added unit test for MPQCCommandJob.
    - added unit test for MPQCData.

commit d920b9e35d1332c01a14e561aa60b85bbe881b3b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 10:57:56 2012 +0100

    Abstracted FragmentJob and introduced SystemCommandJob which has its former functionality.
    
    - FragmentJob now has just virtual function Work(), not implemented.
    - former command and outputfile is taken over by SystemCommandJob.
    - a FragmentJob or derived class is default cstor'ed always with
      JobId::IllegalJob.
    - so far SystemCommandJob captures command's stdout and parses it back from
      file. We use mkstemps() for creating a random file and popen() to pipe stdout
      directly. For this we require boost::iostreams and ::filesystem.
    - SystemCommandJob has virtual method extractString() to be adaptable to the
      output of various system commands.
    - changes almost everywhere due to SystemCommandJob taking place of
      FragmentJob and FragmentJob::ptr and FragmentResult::ptr requirements.
    - added FragmentWorker::dummyInit() to enforce binding of the executable to
      all possible derived FragmentJob's.
    - added unit test for SystemCommandJob.
    - added FragmentJobStub that implements a no-brainer job for testing.
    - NOTE: boost::iostreams is incompatible with MemDebug due to placement new.

commit 7670865494307829aa075e60d6056fe423885484
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 10:43:38 2012 +0100

    Moved FragmentResult to subfolder Results.
    
    - changed includes and Makefile.am's.

commit 35f58778fb07584ad131cbf43ab743b1e5ab0c58
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 10:33:27 2012 +0100

    FragmentResult is now also encapsulated in boost::shared_ptr.
    
    - this allows in the same way to have different implementations of an abstract
      FragmentResult class.

commit f0834d01293eb49b5445dc39c6e56c78abbdb7ff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 09:58:48 2012 +0100

    Moved FragmentJob to subfolder Jobs.
    
    - changed all includes and Makefile.am's.
    - changed order of Jobs in Makefile.am.

commit 78ad7d0534dc558c9de4b6b9d54bcc8e4dea409f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 09:43:07 2012 +0100

    FragmentJob is now passed inside boost::shared_ptr.
    
    - FragmentJob is to become just an abstract interface to a variety of jobs and
      we cannot instantiate this interface. We can only pass it around via ptrs.
      Therefore, we need this switch to shared_ptrs.
    - We now require CodePatterns 1.2.2 due to boost/archive/iserializer.hpp fix.

commit 142ff51c118d30eab5f5726ee90599beb92383ba
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 17 20:10:35 2012 +0100

    FragmentJob now executes a specific string as command along with an outputfile to work on.
    
    - stdout is parsed in as FragmentResult::result, return from std::system is
      placed into FragmentResult::exitflag.
    - createjobs() in controller.cpp uses cat and "Nothing" to mimick the same
      behavior as before.
    - removed intermediate deadline_timer usage in ::Work().

commit 246d9733f5b13124e5ed8688dc434564d434afe2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 9 10:47:57 2012 +0100

    FragmentResult has additional variable exitflag.
    
    - this is to store the result flag from a system call.

commit 7ca772e57b80836e2c9d001aebd41bf0608a0b41
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 12 09:32:27 2011 +0100

    Operations are now contained in CommandRegistry in FragmentController.
    
    - this is a tiny bit less nice due to required static_cast<>, however in the
      end we hopefully win due to possible placement inside a Queue.
    - FragmentController:getExitflag() can now just browse through all present
      Operations and return the first fail.
    - TESTFIX: changed regression tests Fragmentation/Automation a bit due to:
     - server-worker,addingjobs: addjobs now always adds two jobs.
     - JobAdder, ResultChecker, ResultGetter, and Shutdowner have been removed
       in favor of Controller and a specific command token.

commit 0174b62c2b2009923e0e2d4acb4c42bf7923414e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 15 13:41:07 2012 +0200

    Set version to 1.2.5
    
    - Molecuilder library is now 9:0:0.
    
    - Codename "Abé" (African language spoken in Côte d'Ivoire).

commit 78521857f121580b27a514988e577dc7d24e66b2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 15 13:32:32 2012 +0200

    FIX: Changed pyMoleCuilder_LDFLAGS and libMolecuilderUI_LDFLAGS.

commit 345883d83bd7eb4a1bdce0143c85cdc3e67f4a9d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jun 14 16:24:48 2012 +0200

    DISTCHECKFIX: Removed old header files in Parameters/unittests that don't exist anymore.
    
    - also added some usual libs to Parser/Parameters/unittests/Makefile.am.

commit ca331ceac7b5334d5556ab0315bbb33b93f58f63
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jun 14 15:24:13 2012 +0200

    Added Undo/Redo capability to SetTremoloAtomdataAction.
    
    - SetTremoloAtomdataAction may either set/append or reset the AtomData line.
    - TremoloParser has new functions getAtomData() and resetAtomData() along with
      setAtomData(), added unit test function on the triple.
    - TEST: Added undo and redo test to Parser/Tremolo-SetAtomData, also new reset
      test.

commit 5b0581944c6a32b73762473862229922ce1b40eb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jun 14 14:44:55 2012 +0200

    FIX: TremoloParser did not make usedFields unique when neighbors=4 and neighbors=2 was given.
    
    - now we have two specific comparators that sort and make unique in the right
      way.
    - added regression test Parser/Tremolo save-unique_usedfields on this.

commit 27cfdeacce55974976b6b373d8be5469cb571627
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jun 7 17:21:36 2012 +0200

    FIX: TremoloParser::makeUsedFieldsUnique() did not use given parameter.

commit 5a667d65ddd9600eacfe9936617b6df8681e339d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 13:54:32 2012 +0200

    AtomDataValidator implemented, uses static FormatParser<tremolo>::testParseAtomDataKeysLine().
    
    - added static ::testParseAtomDataKeysLine() as it does not need or change
      any parser internal information it may as well be static and can then be
      used outside the FormatParserStorage. Works with or without leading ATOMDATA.
    - knownKeys is now static member of FormatParser<tremolo>, initialised by
      boost::assign's map_list_of().

commit 2169e0ab7f139ec7ca71e976f42b6fbc0f912501
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 13:34:46 2012 +0200

    RandomNumberEngineNameValidator implemented

commit 8ccd447c858a4e9526f1b320cbd0872143c894a0
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 13:30:11 2012 +0200

    RandomNumberDistributionNameValidator implemented

commit 4d177ec4d8c63bc65a43448bfbe3f00be0088f2d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 13:12:48 2012 +0200

    FormulaValidator implemented

commit 897fdde3358ff839f74d0f2036689207d3d8d8b0
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 13:06:05 2012 +0200

    ParserTypeValidator implemented

commit 44b62659ab559646eda3daf8149e8ff48ed9ad05
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 12:50:14 2012 +0200

    ParserFileValidator implemented
    
    - note that ParserFileValidator also needs to compare a dotted_suffix.

commit ae1fd1611cf59dc52ff7c58db743a85c92ba3484
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 12:33:57 2012 +0200

    MoleculeIdValidator implemented

commit 770ec6003099f24173720a698cd2f3619fd73d1a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 12:27:02 2012 +0200

    KeyValueValidator implemented.
    
    - SetParserParameters now receives vector<string> and they are
      translated to colon-separated values within Action's performCall().
    - TESTFIX: changed regression tests Parser/SetParameters/Mpqc.
    - added new regression tests that checks that --parser-parameters contains
      at least one argument.

commit 4475b2ded342e7235968f2eba5567ad7d91a19d4
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 12:11:52 2012 +0200

    FileSuffixValidator implemented.
    
    - note that boost::filesystem3:extension() is with "." while suffix is
      specified without.

commit 0d0b4de37f8cb6a5e624c3c510626bd9f4c4b14a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 11:58:13 2012 +0200

    AtomIdValidator implemented

commit 9e6a3913ee610ca9fc326dba72f22c0c51b9f25e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 11:48:21 2012 +0200

    AtomDataValidator partially implemented

commit 2aad5a6a9c5fbad8ec54865887a27ac361d6ba2a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 5 18:30:40 2012 +0200

    FIX: ActionRegistry now sets flag completely_instantiated when after fillRegistry() has completed.
    
    - ActionNameValidator checks on this flag and returns false if not set to true.

commit 6ba9ba23b3e342adcb94de069426dcdba8359702
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jun 5 16:59:10 2012 +0200

    Default values are properly set by the Action into their (Action)Parameters.
    
    - we changed the boost::preprocessor magic to accomplish this.
    - NODEFAULT -> NOPARAM_DEFAULT to be safe.
    - it has been a hell of a lot of work to make it possible to add a construct
      such as ", default" to the call of a function, either the comma or the
      default is easy but both could only be accomplished via a list contained
      in the sequence of default values. Because the list has an explicit NIL
      element which is taken as NOPARAM_DEFAULT.
    - PARAM_DEFAULT is a macro to wrap the default value into a list.

commit ab2ebe1421dd395490c1c5ca22b31a48db632d96
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon May 14 11:40:47 2012 +0200

    ActionNameValidator implemented
    
    - FIX: HelpAction's ActionNameValidator caused infinite loop of
      ActionRegistry::fillRegistry(). Default value must be checked by a
      DiscreteValidator which comes before ActionNameValidator!
    - HelpAction::performCall() given string type explicitly.
    - TESTFIX: Created ActionNameValidatorStub used in ActionRegistryUnitTest and
      ActionSequenceUnitTest.

commit c31fbd0febffa9999491bdd19255e928ffff9276
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 18:27:55 2012 +0200

    ElementValidator implemented

commit 4d4777c677260b02060c85e4d7bfae363b1c4352
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 18:22:30 2012 +0200

    TimeStepPresentValidator implemented (using trajectories)
    
    - TESTFIX: Created TimeStepPresentValidatorStub used in ActionRegistryUnitTest
      and ActionSequenceUnitTest.

commit de20319c1dbee9fe5f9cd648d81c2c18dc6ab197
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 18:19:13 2012 +0200

    BoundaryConditionValidator implemented

commit b194055a6bbf94d42d1c7be0fec2245b2b2bbf62
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 17:46:56 2012 +0200

    RealSpaceMatrixSymmetricValidator implemented

commit 5510746c06adb4e45b84d9886ebd8dfbd4823799
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 17:41:48 2012 +0200

    RealSpaceMatrixInvertibleValidator implemented

commit 180421c503d19832caa6bf57c04cf9757228a703
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 17:30:21 2012 +0200

    VectorZeroOneComponentsValidator implemented

commit b2e31a7cbc67a86641e17257ca50cbe1b20ecc48
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 17:20:14 2012 +0200

    VectorPositiveComponentsValidator implemented

commit 36180514a334d00dcbeae5152940059eb26e906c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 17:06:04 2012 +0200

    BoxVectorValidator implemented
    
    - TESTFIX: Created BoxVectorValidatorStub used in ActionRegistryUnitTest
      and ActionSequenceUnitTest.

commit 23958dd80ccf15c9c0392965d2c6f255f8f82917
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 15:24:59 2012 +0200

    HUGE: All .def files now contain a useful paramvalids line.
    
    - many specific Validators have been added but have only DummyValidator
      funcitonality so far.
    - also some more generic (i.e. templated) validators have been added.
    - TESTFIXES: Some regression tests had to be changed because they either
      had initial faults or now fail due to stricter validators.
     - parser-tremolo-potentials-save: lacked .potentials file in testdir (thx
       validator!)
     - selection-.*.at: all stored to a targetfile more than once which is not
       allowed by FilePresentValidator.

commit 8453b3ae6d0c496d19f44e98134c48a38e3c79da
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 9 18:44:04 2012 +0200

    Exemplarily modified PairCorrelationAction.def to have specific validators.
    
    - this commit showcases how to use the new validators in the .def files.
    - specific validators are placed in Parameters/Validators/Specifics.
    - added BoxLengthValidator, ElementValidator.
    - added STLVectorValidator for vector of arbitrary type and validators on size
      of vector and each element.
    - added convenience library for Parameters
    - TESTFIX: Created BoxLengthValidatorStub for later use, e.g.
      ActionRegistryUnitTest.

commit 649aaa496b3f8694fe796e2971b1bb1fd7464e61
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 9 18:17:57 2012 +0200

    All Actions' .def files now have a paramvalids that is used to for validators of their Parameters.
    
    - the structure ActionParameters contains Parameter<> instances per required
      parameter of the Action.
    - these Parameter<> contain a validation functionality if given a Validator.
    - right now via boost::preprocessor magic (new defines valid_print and
      validcopy_print) we create the cstor of the derived ActionParameters class
      and create a DummyValidator of the correct type for each parameter.
    - TODO: We have to go through each .def file and replace DummyValidator by the
      correct Validator.
    - added src/Actions/test.sh which is the shell script to make these changes.

commit 301723ee3699e2aed794325ea0ece0fb5b8c016c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 12:33:28 2012 +0200

    FIX: SetWorldTimeAction requires _unsigned_ int for parameter newtime and state oldtime.

commit e1f414fde2f0df0c1558a2520784b558bea73472
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 12:21:40 2012 +0200

    FIX: RepeatBoxAction requires std::vector< unsigned int > for parameter Repeater.

commit cc32d0747ead49a34d484a73f034d122c1cf8222
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 12:13:22 2012 +0200

    FIX: (Not)MoleculeByIdAction requires moleculeId_t for parameter molindex.

commit e2ff7e580cddf84949a9e22e9b4811a1aa7d9cc7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:40:17 2012 +0200

    FIX: SaveSelectedAtomsAsExtTypesAction requires _unsigned_ int for parameter id.

commit eced82750b08684e216451cb9f7c05cde8e5fc42
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:35:14 2012 +0200

    FIX: VerletIntegrationAction requires _unsigned_ int parameter for MDSteps.

commit f221e3b76ea0d3beb100da5b86d1bb1c448fb7fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:32:05 2012 +0200

    FIX: molecule::RotateToPrincipalAxisSystem() now always normalizes Axis vector.

commit 06ccb1b6c8c539f2e0c606a8635b5c5b9e641b61
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:28:03 2012 +0200

    FIX: LinearInterpolationofTrajectoriesAction requires _unsigned_ ints for parameters start-step, interpolation-steps, and end-step.

commit 1c99d1bec970176e4e8adff206496b81a86fcfc9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:10:57 2012 +0200

    FIX: BondFileAction requires _unsigned_ ints for parameter skiplines and offset.

commit 8ac11f5ee7d341dc1ab59f639f7c474e285eed0b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:08:35 2012 +0200

    FIX: FragmentationAction requires _unsigned_ int for Order parameter.

commit 688fb67ce870859d11c77cb993d5fb6d887502df
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:04:54 2012 +0200

    FIX: VerboseAction requires _unsigned_ int as verbose parameter.

commit 8d9b414620874a98d74b9a5b9eec2bf9684c5e2a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:02:43 2012 +0200

    FIX: FillSphericalSurfaceAction requires _unsigned_ int for count (number of instances).

commit d496fd779438588c03d7f49cf25828367937b060
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:01:12 2012 +0200

    FIX: SurfaceInserter now always normalizes alignedAxis in cstor.

commit 7d9416031da0a31907f5d8804559bc704c7c7c3c
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu May 10 17:00:12 2012 +0200

    Turned query<Box> into query<RealSpaceMatrix>
    
    - CenterInBox and ChangeBox require RealSpaceMatrix instead of Box now for
      parameter cell_size.
    - changed all query instances for Box, now query for RealSpaceMatrix.
    - renamed BoxValue to RealSpaceMatrixValue (no other changes required). This is
      needed by the CommandLineUI only.

commit a483e4e2bea6c72cb2715059a1e35ee18731c342
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:57:34 2012 +0200

    SetRandomNumbersDistributionAction does not request complex RandomNumbersDistribution_Parameters but simple std::string.
    
    - strangely, SetRandomNumbersEngineAction does this already ... :)
    - this means that RandomNumberDistribution_Parameters...Query are obsolete.
      They should be refactored into a simple KeyValueQuery and the above
      parameters of Actions that require a parameter string converted to this type.

commit 97f9b9e5c1ffbd088e5670bf7283216e16f68b02
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 12:31:17 2012 +0200

    SetBoundaryConditionsAction requires vector<string> instead of string for parameter newconditions.
    
    - we also added new setters to Box and Box_BoundaryConditions to enable it.
    - TESTFIX: Boundary conditions now have to be supplied as e.g. Wrap Wrap Wrap
      and not "Wrap,Wrap,Wrap" on the command line.
    - stream operator for Box_BoundaryConditions now also splits by "," and by " ",
      enhanced unit test function inputTest() on this.

commit 8ea3e7e2a013eab7a8936c65a52870438ee1859b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 11:22:07 2012 +0200

    CopyMolecule can now copy all currently selected molecules.
    
    - this is both removal of molecule as parameter and enhancing the Action.
    - also we added new UndoRedoHelper RemoveMoleculesWithAtomsByIds.
    - CopyMoleculeAction::performRedo() simply calls performCall() which is now
      possible due to new parameter structure.
    - TESTFIX: as we no longer specify the molecule to copy as argument of
      copy-molecule, regression test Molecules/Copy has been changed to prior
      select-molecule-by-id.

commit 2382d72bc0cc499741c93764b5eb9ecfa0eff0e4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 10:57:41 2012 +0200

    FillRegularGrid now uses std::vector<unsigned int> instead of Vector.
    
    - with the new validators it possible to constrain number of entries to 3
      easily.
    - added unimplemented StreamOperator for vectopr<unsigned int>.
    - TESTFIX: option mesh-size needs its arguments now as 5 5 11, not "5,5,11",
      hence changed regression tests in Filling/RegularGrid.

commit 7951b9d3df66de816abcb21f059cd10414a9d20a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 10:38:35 2012 +0200

    Rewrote SurfaceCorrelationAction such that selected atoms are used in replacement of parameter surfacemol.
    
    - We must not request atoms or molecules inside action parameters. These must be
      obtained via prior selections.

commit e45c1db4f33537aab8e2a1b4716c0deefcc700ec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 9 20:40:56 2012 +0200

    Added ParameterExceptions, is caught by Dialog::checkAll() for the moment.
    
    - AssertExceptions are useless eventually when invalid value is set. now, we
      throw ParameterException's: ParameterValueException and
      ParameterValidatorException.
    - ContinuousValue, though unused, now inherits from Value, and just implements
      necessary functions.
    - Parameter catches Value<T>'s set, get, setAsString, getAsString functions
      and adds the parameter name as additional information.
    - Validators may throw ParameterValidatorException, too.
    - changed some of the test functions in ContinuousValueTest and
      DiscreteValueTest such that they always expect Parameter...Exception.
    - changed MpqcParser_Parameters and Psi3_Parameters as they implement specific
      getAsString for bool type.

commit e5d797031b47650a0880c95144d185e1085b0fd7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 9 18:21:53 2012 +0200

    RangeValidator cstor now can be given start and end of interval directly.
    
    - also, we removed src/Actions/test.sh again.

commit bf72ecc6f3a089e63a34535b49e47ad0628bea0b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 10 15:27:59 2012 +0200

    FIX: Specialized ConvertTo for std::vector<T> templates.
    
    - this should later be placed in CodePatterns/toString.hpp.

commit 16876ca6994e6cfaa920af04bed6a9c17e390f42
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 31 15:24:04 2012 +0200

    Implemented all stream operator >> functions in StreamOperators.hpp.
    
    - also added operators for const atom* and vector<const atom *>.

commit 7b1a19958addd1d541b206cfb12e53e5af25165e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jun 1 17:37:01 2012 +0200

    FIX: Removed unneeded ranges in PairCorrelationAction::performCall().

commit 33d0afb28a622c243f2d109a7b9e6c210afd7512
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed May 9 16:15:45 2012 +0200

    Ops_Validators: new operators (&&, ||, !)
    
    - created a unittest for the new Validator operators

commit d555b8de3042f993d9e6e78429e75cfdf58fd94a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 25 15:22:06 2012 +0200

    Atom/RotateAroundOriginByAngleAction: recalculating radians
    
    - doesn't overwrite angle Parameter
    - untill default values are used, QtQueries show values from
      the last call of the same action, so we shouldn't change them

commit c70fb48d54b880a98318e4b93346a5810fff549e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 25 15:16:12 2012 +0200

    QtQueries use initial Parameter values

commit 95f96563b88b0ef53e63013a4ba72bcc762e1825
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 25 15:05:29 2012 +0200

    QtQueries only set default values if not already set
    
    - added Value.isSet() function

commit f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 24 15:55:16 2012 +0200

    disastrously big and ugly commit
    
    - using new Parameter<T> classes:
      - Actions
      - Queries (all UIs)
    
    - TODO:
      - actions crash cause Value is unset
      - no query<BoxVector>

commit b9c69dac29d2f587c32996f89b8996a340d919e3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu May 24 14:21:27 2012 +0200

    TESTFIX: Wrong usage of --output-types vector<string> argument in regression tests Fragmentation/Fragmenting.
    
    - we need to specify a vector of strings as "a" "b" "c", NOT "a b c" which is
      just a single string.

commit 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 18 14:56:29 2012 +0200

    ParameterStorage now uses ParameterAsString class

commit 6c05d817fc0f2e2fa58400ee20244edbcaeea3f0
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 18 16:02:14 2012 +0200

    FIX: Value<string>, empty validators
    
    - conversion string -> string only returned the part up to the first blank
    - replaced NULL validators with DummyValidator
    - unit tests corrected (because Parameter.clone() now works with unset values)

commit 7dc60a2f1f029f5551e4bc7c25ab8af103019ecf
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 18 14:02:13 2012 +0200

    added ParameterAsString class for Parsers

commit 7d98e740862b81f3600adc1e4cb1cb90c2126c93
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 17 16:25:41 2012 +0200

    istream>>Vector: added assertion

commit 0b84b9486df4dbb31f498b9239fc74baf9788d4b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 17 16:12:33 2012 +0200

    renamed old Parser/Parameter classes
    
    - Parameter -> ParserParameter
    - ValueInterface -> ParserValueInterface
    - renamed header macros
      SOMEFILE_HPP_ -> PARSERSOMEFILE_HPP_

commit 3c5ef5bb765011de2d2ec540988045f312368c01
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 16 14:56:12 2012 +0200

    DiscreteValueTest uses new Value class

commit 9b5eb03b7cad5e1f2494b404dc68e986b56b0718
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 16 14:46:45 2012 +0200

    added DiscreteValidator.findIndexOfValue
    
    - created xxx_impl.hpp

commit 047cad4ca87588045ffa9ab6a34544fb3d8b567f
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 16 14:30:32 2012 +0200

    added string functions to ValueInterface
    
    - ContinuousParameter and DiscreteParameter deprecated

commit 30ebdd7108a07d220eb86063fca2f5acc94af8ad
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 16 13:44:31 2012 +0200

    DiscreteParameterTest: using new Parameter class

commit adcfc6d7420c9cfd8c6d75e8eebbf82f22a4a9aa
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 16 13:39:54 2012 +0200

    added Parameter<T> class
    
    - ContinuousParameterTest works
    - fixed macro in ParameterInterface.hpp

commit fc32ade39e7cbae7c4fce48e5330b97f6a5c37a5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 17:39:05 2012 +0200

    added VectorRangeValidator

commit ad691744e67503c7b1acfdcb7160c37bbb1116c2
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 17:28:53 2012 +0200

    appendValidValue for DiscreteValidator

commit 8f130c553ba094607874dcbff96bc28196e50495
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 17:20:56 2012 +0200

    made Validators comparable

commit 4892c3a75ac834100d71aa805116f271177d67d5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 16:56:32 2012 +0200

    added ValueTest (unit test)
    
    - fixed many minor problems in Value<T> and Validator<T>...

commit a9a8f9563644dc24effa1f7395a0d00d26ff58fa
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 15:48:42 2012 +0200

    Value implementation
    
    - Validator made cloneable

commit d851269277ed540e2f1d63b8873cac5d0c03f6fa
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 15:06:51 2012 +0200

    FIX: missing #include

commit a696f954e940fe89f7d674465bc359bb6d856bb5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 15:04:47 2012 +0200

    added RangeValidator

commit 916a2d090c622bd5d76dba00f2febb29142ceef0
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 15:04:28 2012 +0200

    added DiscreteValidator

commit 20fdc58d4f7284cec73edbdd645857259827ea14
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 15:04:02 2012 +0200

    DummyValidator: added constructor

commit 0ba371859a07ec7dfbb020bb0c64e1574941102a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 14:50:40 2012 +0200

    added Validator (Interface)
    
    - also added DummyValidator

commit 9cd0d0b95aa93749d28973e5bf6802127c241fb4
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Apr 13 14:39:07 2012 +0200

    refactoring: rename Paramater -> ParameterInterface

commit c5e73131f8ffc006b7956e816253e54677adbb78
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 11 15:25:19 2012 +0200

    operator Parameter<T> = T

commit 7d1b6a327479949780b8727cdc38154708663bf5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 10 16:29:59 2012 +0200

    created some ContinuousValue<Vector> tests

commit 85d89b9a61c8e0abafadf1dd80be697dab94f94b
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 10 15:31:05 2012 +0200

    range<Vector> as template specialization

commit 992bd50e770e3f20e92968f6d2acf6f6df7ec879
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 10 14:53:06 2012 +0200

    fixed some typoes in comments

commit c513b750a654f152c83f67cda4335e426c639908
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 10 14:20:03 2012 +0200

    removed Converter from Parameters

commit 50f4184e01c29a43b8df7405617024a05b8b2f9e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 18:43:13 2011 +0100

    Removed all those tiny relay functions in FragmentController.
    
    - we now use the getter/setters in the derived Operations directly.

commit 3a1346d7b0395f88ff1b64df86af48435aa993bd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 18:31:37 2011 +0100

    Operation now requires an internal name to be placable in a Registry.
    
    - derived class give specific name in their cstor.

commit 25b30aa890962348fd6d25334f39f8ee621c9843
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 18:15:53 2011 +0100

    FIX: Added disconnect() call to end of Operation::handle_FinishOperation().
    
    - this should close the socket after the communication has completed as each
      derived class uses handle_FinishOperation() as last callback function.

commit 96c83b29e7b5914533eaf44412eef03d069a20be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 18:14:24 2011 +0100

    Neither FragmentController not Operation need host or service as params to Cstor anymore.
    
    - due to the last change these are given directly to Operation::operator(),
      hence we have removed them from FragmentController's and Operation's cstor.
    - removed Operation::getEndpointIterator().
    - all small controller executables have been adapted accordingly.

commit 9948a765b2debfa507c64194b464a960ac1a7c34
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 17:59:08 2011 +0100

    Operation::operator() now contains everything to get the endpoint and connect.
    
    - getting the endpoint is placed in operator() which needs host and service as
      parameters.
    - derived classes just implement handle_connect whose virtual function pointer
      is boost::bind in Operation::operator().
    - this all makes it very easy to implement new commands for the Controller.
    - all handle_connect_... of course are now the above implementation.
    - all connect_... are now contained in Operation::operator(), hence have been
      removed.

commit d6fe761176eef8308b81d1ceb788fe4bf80e3d8d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 17:44:18 2011 +0100

    Added a "testfunction" to each ...Operation along with handle_connect.
    
    - this is to test whether we can place the initial connect into the class
      Operation and have only specific functions required lateron in the derived
      classes.

commit 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 17:20:52 2011 +0100

    Extracted all other derived Operation's too and placed into folder Controller/Commands.
    
    - TESTFIX: Changed regression tests Fragmentation/Automation with respect to
      the exit code from controller.

commit 73d6fce636ade8bb851250adf52ad79adf5225a2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 17:00:42 2011 +0100

    Shifted all Controller stuff into own subfolder, extract class Operation.
    
    - extracted class Operation from FragmentController and place into subfolder
      Controller/Commands.
    - all files containing main() functions are also moved to Controller.

commit 1dc209b83f84861106021c6a70d51182a306d7fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 11 16:24:20 2011 +0100

    Enhanced libMolecuilderFragmentationAutomation in Fragmentation/Automation/Makefile.am.
    
    - libMolecuilderFragmentationAutomation needs to occur after (above)
      libMolecuilderFragmentJobs.
    - FragmentController sources now contained in ...Automation.

commit 5adb84984c3a69ab1022d16497045fd243ee9087
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 10 16:17:06 2011 +0100

    Factored out Operation and derived all operations from it.
    
    - a number of subclass of FragmentController that encapsulate each operation.
    - Operation contains getEndpointIterator(), handle_FinishOperation() and
      disconnect().
    - Operation now also contains Exitflag that was formerly in FragmentController.
    - new derived Operations: ReceiveJobsOperation(), CheckResultsOperation(),
      SendResultsOperation(), ShutdownOperation() that each contain the
      connect_..., handle_... functions.
    - functions to initiate operation have been placed into these Operation-
      derived classes as implemented virtual operator().
    - most of the required member variables have also been associated with the
      class that needs them. Getters and Setters have been relayed for the moment.
    - each Operation as of now needs ref to connection, host and service. This
      should be changed and the stuff around getEndpointIterator() refactored
      along with it.

commit fb2324b496d0bc0e217e446455628f8e1d0b0aa5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 22:02:14 2011 +0100

    Added regression test Fragmentation/Automation with a complete run of Server, Worker, and controllers.
    
    - TESTFIX: Shortened length of regression test Fragmentation/Automation
      server-worker as most is extensively tested in complete-run.

commit c837ad09370c4c1c8890297774ef426315ec3856
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 22:00:50 2011 +0100

    Added regression test Fragmentation/Automation on getting results.

commit db34f216525f470ee4838943ab8d5ae0f4c62dd8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 21:55:34 2011 +0100

    Added regression test Fragmentation/Automation on checking state.

commit 6772ebf1a929237c6928cb6bd9c7f998b7f733e4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 21:48:48 2011 +0100

    Added regression test Fragmentation/Automation on adding jobs to Server.

commit 03195ad759d9d0369860828cc4436a5ce6afbd8b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 21:39:12 2011 +0100

    Added regression test Fragmentation/Automation on Server shutdown capability.
    
    - NOTE: each regression test in Fragmentation/Automation needs its own set of
      ports such that they may run in parallel as well. Currently, we start at
      port 1025 and use an offset of 5 in between tests.

commit dba6d162581bd1026fa90391ce4c3c62bdde0d38
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 21:33:43 2011 +0100

    Added FragmentController::getPresentJobs().

commit 0196c62295fdde1b6850b1f16abcdfffe6d46877
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 21:11:50 2011 +0100

    Added Shutdown as choice to ControllerChoices.
    
    - new helper app Shutdowner that shuts down Server.
    - TESTFIX: Changed regression test Fragmentation/Automation where now
      Shutdowner is uses instead of Jobadder with 0 jobs to power down controller
      socket.

commit e70b9dc00a22a0801131763acf7c71937581ac4d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 20:17:35 2011 +0100

    Renamed regression test Fragmentation/Automation.
    
    - there are more to come and this just tests server/worker combination.

commit 778abb8ccf156d1308e41e6fad137c7987dc7c8f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 19:18:14 2011 +0100

    Added ResultGetter and capabilities to receive calculated results to FragmentController.
    
    - Added enum (and file) ControllerChoices that defines the state of
      FragmentScheduler.
    - depending on what is desired the Scheduler switches between these states and
      either receives or sends information. Requires new member variable choice
      because receival is of course asynchronous (see note in previous commit).
    - FragmentController has additional functions connect_get() and
      handle_connect_get() to receive results.
    - connect_calc() and connect_check() now just the choice whereas the actual
      sending and receiving is done in handle_... functions.
    - handle_FinishOperation() is the common final callback function for all three
      of these functions.
    - FragmentScheduler contains an internal list of delivered results.
    - FragmentScheduler only initiates worker socket when jobs are present.
    - FIX: FragmentScheduler does only send results that are done and only once.
    - TESTFIX: Removed third Worker that receives NoJob as socket is powered down
      before because queue has run empty and we haven't add new jobs.

commit b9c48666be399d007fd031b2d636eba8227f227d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 16 17:14:38 2012 +0100

    Added getAllResults() to FragmentQueue.
    
    - added convenience function ::IsPresentResult().
    - this is to replace FragmentSchedulder::getResults() which relies on jobs
      being filled still.
    - added unit test on getAllResults().

commit 402bde72b40b66cbc74451c852e07802a12af199
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 21:10:53 2011 +0100

    Placed initiating sockets from Cstor of FragmentScheduler into helper functions.

commit 3c4a5ec6700394439a96a697b6964a634d5ec97f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 9 18:11:55 2011 +0100

    Added ResultChecker and capability to check on computed jobs.
    
    - added handle_connect_check() to FragmentController.
    - FragmentScheduler::handle_AcceptController() switches between _ReceiveJobs or
      _CheckResultState depending on present jobs and done jobs. We use
      FragmentQueue::getDoneJobs() to store number of jobs handling connect.
    - TESTFIX: Enhanced regression test Fragmentation/Automation to use
      ResultChecker as well.

commit db03d94db34e97b2e16df2332a1953abdf66be98
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 28 00:20:43 2011 +0100

    Added possibility to add jobs via a FragmentController.
    
    - Server listens on another port for a controller to connect, also now has an
      Exitflag.
    - Controller can add a bunch of jobs.
    - JobAdder can successfully add a number jobs to Server, if 0 are sent, the
      socket shuts down.
    - TESTFIX: extended regression Fragmentation/Automation test to use Jobadder as
      by default Server starts with no jobs in the queue.

commit 8ee5ac067548a00b728f1a0f0c9f085fbb85cd93
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 28 00:02:30 2011 +0100

    Added function getDoneJobs() to FragmentQueue.
    
    - this allows to check on the state of calculations.

commit cde0fedccbba0b6cd10bc0012657ac36bee2f2a9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 27 23:57:39 2011 +0100

    Placed FragmentJob, ..Queue, and ..Result into convenience library, atexit into another.
    
    - this speeds up compilation as we don't have to compile some modules multiple
      times.

commit 9875ccf9a4c2201731b5bab9675d60bc378e1671
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 27 21:52:48 2011 +0100

    Added FragmentQueue::pushJobs() to add a bunch of jobs simultaneously.
    
    - also extended unit test.

commit 2445fbdb67fdcb7bbc91286479bf3636ac96f8b1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 27 21:09:01 2011 +0100

    Added private default cstor to FragmentResult.
    
    - enhanced unit test by a vector<Fragmentresult> test and this made the above
      default cstor necessary.

commit 083490d5d35f5aa2fd1a49ffc80c90fb17f5eff4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 27 20:03:10 2011 +0100

    Renamed default handle_..() functions of FragmentSchedulder and ...Worker.
    
    - new names resemble in what context they appear (i.e. at the end of what
      operation they are called).

commit ef27671d6947ddc9fc6ee4fd2fbb213a4ab7174a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 27 19:38:26 2011 +0100

    Server and Worker now also correctly exchange result.
    
    - Server uses FragmentQueue which also stores the obtained result.
    - Worker calls received FragmentJob::Work() function and returns the
      thereby calculated FragmentResult.
    - Regression test for Server/Worker now checks whether job #1 is listed twice,
      this basically checks whether the result has been exchanged.
    
    There have been some concepts to understand to get this working and these
      shall be briefly recorded here:
     - asynchronous communication can only work on objects that live beyond the
       scope of where they have been called, e.g. therefore FragmentScheduler
       contains a FragmentResult and FragmentWorker a FragmentJob instance. They
       receive this object and need the write access in the scope of the aync.
       comm. and not of the caller's scope. This is probably because the initial
       argument is only used to set up a buffer of correct length. However,
       the received instance is created/deserialized first when the communication
       is completed. And this may well be after the caller's scope has been left.
     - This is different to read operations as probably there the object to send
       is immediately serialized and placed into an internal buffer such that
       later access is only to this buffer and not to the original instance
       which therefore does not need to exist anymore. That's why the above
       Schedulder and Worker do not have the "other" instance as class members
       as well.
     - chaining asynchronous communications, e.g. a write after a read has been
       performed, can only be done by using the callback functions that the
       async_write/read gets as parameters. They are called when the one operation
       has finished and therein the next operation can then be launched. This
       way a successful chain is executed.

commit 630a6e76e8fd0da3d37d517432a74ebda2a494f2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Nov 27 19:35:35 2011 +0100

    Increased Verbosity for Server and Worker.

commit 0bdd51bd1d38a734cb760046b677f4ee890ac7b7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 24 21:34:51 2011 +0100

    Added regression test for Server/Client construct.
    
    - currently we expect the Server to shut down after the queue is discovered empty.
    - added Exitflag and associated enum to FragmentWorker.
    - FragmentScheduler exits gracefully when there are no more jobs in the queue.

commit a1b77dd03c096829276e87f213300eb7c4efcfdf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 24 21:24:07 2011 +0100

    Added call FragmentJob::Work() to FragmentWorker::handle_read().
    
    - FragmentWorker also now contains FragmentResult instance, pendant to
      FragmentJob.
    - added FragmentResult cstor with empty parameters (uses JobId::NoJob).

commit 7b22e9544beb54c2218ef5e47d9851e8603c779d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 24 21:21:20 2011 +0100

    FragmentJob now contains Work() function.
    
    - Work() encapsulates all the work to do to calculate the FragmentResult such
      that FragmentWorker does not need to know anything about it.
    - added WorkTest to unit test along with FragmentResultStub.
    - added FragmentResult.[ch]pp to Worker sources in Makefile.am.
    
    - also unit tests are now linked only against boost libs they really need.

commit c7deca229684c7b65fd3575bfb9ad413b64a2dc4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 24 20:21:52 2011 +0100

    Added static NoJob (id0) to FragmentScheduler to indicate empty queue to client.
    
    - added enum to class JobId with special ids.

commit b0b64c36d561d4b02ddd580dd842d288f95b6141
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 24 20:12:49 2011 +0100

    FragmentScheduler now contains a FragmentQueue and serves single jobs therefrom.
    
    - e.g. currently we only push one job, hence only a single worker is served.
      Others afterwards don't receive a job.
    - we lack a mechanism to give feedback to the client, i.e. a pseudo job such
      that he knows that the queue is empty right now. Later this should then
      indicate a wait (for a specific amount of time).

commit 12d15a837efe9a69ef0528ec526ba2adbf8f7c09
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 23 23:24:18 2011 +0200

    FragmentQueue now allows for removal of jobs.
    
    - new static NoResultQueued states whether job has been popped, but result
      is missing so far.
    - extended FragmentQueueUnitTest.

commit 57876b5bc8ae81d557361f9ed21754f1be23d432
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 23 22:54:34 2011 +0200

    Added serialization unit tests on FragmentJob and FragmentResult.

commit 02f34688f788967fdd4765560ba2cde4ccd5ba81
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 23 22:23:56 2011 +0200

    Extended FragmentQueueUnitTest.
    
    - extended by tests on its job and result queues.

commit af81f809ad4251794e6aad0bbbb5a062ccb10153
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 23 22:22:27 2011 +0200

    FIX: FragmentQueue now obtains id of FragmentResult directly from it.

commit b05673868c5ee97ab3b5a5b15c41567fc0659845
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 23 22:20:19 2011 +0200

    Introduced JobId as an own class that Job and Result inherit.
    
    - FragmentJob and FragmentResult may thus have all other info as public, only
      the id has to be secured from false access.

commit b5ebb569dab339861535e482277051aeb3f8943a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 23 21:07:41 2011 +0200

    Added FragmentQueue, FragmentResult, and scaffold for unit test on FragmentQueue.

commit 4b58cccfcae20f61dca5d2d18f77c1db61bb9a98
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 23 21:01:52 2011 +0200

    JobId is now own type JobId_t.

commit b14f17df0995c6157c06a55a1b9596c3ec9a9d52
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 11:01:38 2011 +0100

    Renamed s11n_example executables to Server and Worker.

commit e3a9c9095467adb37758c5092f95060f1fa98969
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 09:48:32 2011 +0100

    FragmentWorker::handle_connect can deal with multiple endpoint resolution.

commit 00a248e52e820b8b1e298f757c031943126dee7d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 09:34:43 2011 +0100

    Renamed file client.cpp -> Worker.cpp.

commit f7f99510d4b31a8e2923b0af4c9fc96e6ef2fa3f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 09:32:56 2011 +0100

    Renamed file server.cpp -> Server.cpp.

commit cd4a6e84fc65152a21053ba13c6d87bca6e724ae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 09:22:22 2011 +0100

    Renamed file StockServer -> FragmentScheduler.

commit 8c9596e4625116d26a89a0b50b4ed923834abde4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 10:45:52 2011 +0100

    Renamed class StockClient -> FragmentWorker.
    
    - renamed friend declaration in FragmentJob.

commit 926a490eef5be0923876b74bb122c92134f2147a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Renamed class StockServer -> FragmentScheduler.

commit af3aedfa905ac3865913f9a11dba55621206e94e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Introduced Info in several functions, replaced connection.hpp by Connection.hpp.

commit c6bcd0d3471aa10310cb252b40ebb9963d2eb216
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Added MemDebug.hpp to StockServer.

commit 00d4fb757b6bdfe59277afc18c19b31bdab0cd1e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Added MemDebug.hpp to StockClient.

commit f938420ab6a003f14dcfcd95a908c111ecf80599
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Added config.h inclusion to all Stock*.

commit 31ca5f07f01e2d94689a06092d8e5b8d84a2a909
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    StockClient and StockServer now exchange FragmentJob's instead of stock's.
    
    - for the moment StockClient is friend of FragmentJob to access contents.

commit 963c3bb7ef11b28ed00b41281604dbd75f87d0d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Took connection out of namespace.

commit a636f8d76f52b58d724bf2ba92f76d2df9c67fd0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Took StockClient out of namespace s11n_example.

commit 2eff32bc86b5a24a223754e4992ad808b3427255
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Renamed client -> StockClient, split off StockClient into own module.

commit 8b65727b83e15dcfd1ce88625b8a59af32e5baab
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Took stock out of namespace.

commit ed2c5bf77d3337e917dab023057b5246bb07acef
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Took StockServer out of namespace s11n_example.

commit 72eaf7f2ba3489095828d8e575443ea4b1731b0d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 21:29:36 2011 +0100

    Implemented working s11n example from boost::asio and refactoring ...
    
    - removed Worker test example.
    - rename class server -> StockServer.
    - split off StockServer into own module.

commit d0b3acad3e369a36eebdac29b1682a4b45be2baf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 21 18:02:54 2011 +0200

    Added initial setting for creating client/server for automated fragment calculation.
    
    - we check for boost::asio in configure.
    - extra subdir src/Fragmentation/Automation to keep dependencies between new
      client/server architecture and rest of MoleCuilder as small as possible
      (especially compile-time wise).
    - small worker (hello world) program that is linked against boost::asio
      containing first example of asio tutorial (timer.1) to underline
      functionality.

commit dbb533a8e99f70b7509610a615ac25dbf78b5892
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Apr 10 13:52:53 2012 +0200

    updated Parameters' unittests
    
    - renamed "xxxUnitTest" -> "xxxTest" (to evade naming conflicts)
    - removed string operations
    - fixed missing template <T>s

commit c6840955ef22e9d69031736a671ae0837c31572d
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Apr 5 15:58:12 2012 +0200

    copied Parameters and template-ized

commit e44956108f0bb594c7954211e93c2d0afcd3d523
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 12 09:31:26 2012 +0200

    Set version to 1.2.4
    
    - Molecuilder library is now 8:0:1.
    
    - Codename "Mercedes" (the W124 series is one chassis used by Mercedes in its E-class cars)

commit b2c30277e29ff71804fcb5db963189440f56db52
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 16 13:29:01 2012 +0100

    DOCU: Extended documentation on how values from the user are eventually used by Actions.
    
    - updated ValueStorage docu.

commit be21faee0c27bbf2439e848bacfe01d94e55d9e0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 11 18:18:23 2012 +0200

    Moved getParametersfromValueStorage() call from each single Action into base class Action::call().

commit 3e93332edcd1d53ed12f703581f513aa848ed653
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 14:51:10 2012 +0200

    FIX: Corrected includes of GLWorldScene and GLWorldView.

commit 53059ec2dd3238b5576917fc5f3b886c51b6c88d
Merge: c0ed1e7 3927ef3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 13:59:28 2012 +0200

    Merge branch 'michi-track-molecules' into stable
    
    Conflicts:
    	src/World.hpp
    
    - World had removed NotificationType MoleculeChange but added SelectionChanged.
    - FIX: World::AtomPositionChanged is no more, GLWorldView listens to
      AtomObserver instead.

commit 3927ef32aa0c52dd73d5c9a4fe5eccea8715a379
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 4 16:00:53 2012 +0200

    GL: molecule selection boxes
    
    - only instantiated for selected molecules
    - no size/position changes tracked yet!

commit 1ce04ba25c600a48cbc8077e87d4f752d2bdb206
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Wed Apr 4 15:59:53 2012 +0200

    TYPO in comment

commit a3900675b96bc0f90f73a7fecc419561b8effaa9
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 2 14:11:44 2012 +0200

    QtWorldView: only refill on repaint

commit 25b3559dab530b85b3b7f9d2ae6e4fa721bc6c45
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 2 13:50:01 2012 +0200

    QtElementList: only refill on repaint

commit 225cf5bb2323a8449a33e059ca95fcbd61c610f5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 2 12:57:45 2012 +0200

    REFACTOR: GL: made drawSelectionBox its own function

commit 3b229e53114d9aef7a92da804468aee8149f13a5
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Mon Apr 2 12:48:10 2012 +0200

    GL: made hover/selection materials static
    
    - no more getMaterial(_evil_number_) workaround

commit c6751895e249ac3b8b055b048e09886c9e6b6faf
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Mar 30 16:59:47 2012 +0200

    GL: molecules show if they're selected (mostly dummy)
    
    - adden new GLMoleculeObject_molecule class (without mesh)
    - draws a cube if molecule is selected
      (does NOT use correct position/size yet!)

commit 42c6a471ef0ffc7ff153901aa28b1d9be1a5076a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Mar 30 15:46:59 2012 +0200

    REFACTOR: removed duplicate variable in GLMoleculeObject (m_mesh, m_GLMoleculeObject)

commit 5a2a0637855ca870075b64d371bf7a586b59f786
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Mar 30 12:51:02 2012 +0200

    GL: sending more signals to redraw
    
    - atoms send changed() to scene when element or position changed
    - atoms send selectionChanged() to scene when (un)selected
    - bonds send changed() to scene when an atom changes its position

commit d539023abf66f2db5f41891aeba4d6e409d58146
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Fri Mar 30 12:35:47 2012 +0200

    GL: atoms show if they're selected

commit fbb1f1abc80189e7ebceb05b7baec9b319cf4db8
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 29 15:38:37 2012 +0200

    GLMoleculeObject_bond: dynamic bond distance via matrices

commit 343a4b93ad2b4402ac08f73a701b3a94f1f4b462
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 29 14:37:44 2012 +0200

    GL: bond tracks its atoms' position changes

commit 8a77aceca34c6bfc767e485022aadcae50a7ff12
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 29 13:35:47 2012 +0200

    GL: track atoms changing position
    
    - handles World::AtomPositionChanged
    - selectionMaterial

commit 69643ae5440d6dddbf875a782811ee16d2941d85
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 29 13:11:02 2012 +0200

    World: made selection changes observable

commit 6e6b9000d63e415dcd88d625a8bf097ce425b880
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 29 13:09:40 2012 +0200

    VectorQtQuery: allowing negative values

commit 85a23f9feaae1467065551b93789e2310a3b6504
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Mar 20 14:24:49 2012 +0100

    FIX: BoxQtQuery crashed (matrix initialized as 0)

commit 85b1126c465b0555e3fcf90ff8032d9abb86d60f
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Mar 20 14:01:11 2012 +0100

    made BooleanQtQuery a checkbox

commit 51b5d11f6164373b94b7c426c6fc651ad5363705
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Mar 20 13:41:00 2012 +0100

    FIX: missing initializers for QtQueries

commit 4ddcfb56748b600772484d5b11391fec57f3d210
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 15 14:09:56 2012 +0100

    FIX: BooleanQtQuery: missing Layout creation before use

commit a14fe398b40b1b536bb476011b0c210663749bae
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 15 13:43:54 2012 +0100

    VectorQtQuery implemented

commit 1de61e16ec9243406aa643aaa7f68fa60662ed77
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Mar 13 14:24:27 2012 +0100

    QtElementList: selection calls actions

commit b14efe1ed7af1abfc8af894dcaafd29b7d110a4a
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Mar 13 13:58:50 2012 +0100

    QtWorldView: selection in widget calls actions

commit 613f8ce92dbe7aa67f0bcf2b469dc117261e6701
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 22 13:30:17 2012 +0100

    added a selection material to GLMoleculeObject (still unused)

commit 818201ca31afd939c7344a175135fb8dc1f9665f
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 22 13:29:22 2012 +0100

    added a dirty flag to QtElementList (still unused)

commit 79b59b34898604a6632f6ba8004edb82aa1e19ea
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 22 13:27:01 2012 +0100

    made QtWorldView a QTreeWidget

commit 575343869aa527e7b87db59d4b3951735678ab11
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 22 13:22:08 2012 +0100

    added OBSERVE to molecule::SetNameFromFilename

commit 59a28ec90c4e8631aeaf66b49d200d2e6fc3e72e
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 8 13:41:08 2012 +0100

    QtElementList improved
    
    - occurrence added
    - connected to molecule observer

commit f20fa5eaab631780e5e575ac7150352538ba9a14
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Thu Mar 8 11:08:44 2012 +0100

    made QtElementList a QTreeWidget

commit 0e61565a3b23140c13eb4888983a7b3b30175141
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Mar 6 17:48:08 2012 +0100

    new class: QtElementList

commit 244f8167b657eafd126134f5ceff42b58c2c1b05
Author: Michael Ankele <ankele at ins.uni-bonn.de>
Date:   Tue Mar 6 14:09:48 2012 +0100

    QTabWidget for worldDisplay

commit c0ed1e7cacf4dc5df9d33813e1fd71b00795c4d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 13:31:15 2012 +0200

    FIX: WorldTime::setTime only gives update when given time step is different.
    
    - this [closes #183].

commit d0037049d1e673734b6a2457d940c4d0f7c587d2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 13:03:57 2012 +0200

    FIX: Box does not notify (though update) when set conditions or matrix is the same.
    
    - TESTFIX: BoxUnitTest adapted accordingly and added checks for no notify on
      these cases.

commit 760c4c275e5610869534aa6ad1bb5c87db08d9ae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 12:39:22 2012 +0200

    Cleaned observer structure in atom.
    
    - Added new channel BondsRemoved and used in bonds removal functions.
    - FIX: Removed PropertyChanged for setNr and alikes, Nr is molecule's
      responsibility. Made note of this in documentation.

commit 6a3c838abc3c19ed587d178dee4f274fb26b6f8b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 11:57:43 2012 +0200

    Cleaned observer structure in molecule.
    
    - FIX: Several OBSERVE were not needed, as update trigger was already contained
      in sub functions called in these routines.
    - Added NotificationType enumeration of channels: Atom insertion, atom removal,
      atom nr changes, and molecule name changes.
    - OBSERVE and NOTIFY used in the functions only where the direct change occurs.

commit d25bec3da03f889ba40af0111cab8123b30a7b9b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 11:48:08 2012 +0200

    Cleaned the structure of Observers, i.e. what they report.
    
    - The boundaries between who reports on what are somewhat unclear right now, this
      commits fixes it and installs clear responsibilities for each of the major
      observer entities.
    - DOCU: Added section on observer construct on who reports on what.
    - FIX: Removed AtomPositionChanged, AtomChanged, and MoleculeChanged (unused)
      channels in World.

commit 006e1ed7d5cc4416cfbfad21491bcfc0fcdda3ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 13:19:10 2012 +0200

    FIX: ChangeTracker has not been observing AtomObserver so far.
    
    - This is introduced due to cleaning of observer structure.
    - FIX: Cleaned ChangeTracker declaration from false includes.
    - FIX: TextWindow.cpp lacked include World.
    - TESTFIX: All Parser...UnitTest needed to purge AtomObserver instance.

commit 23fd4308ecfb01cade133b122c6e3e4b440e3141
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 12:09:07 2012 +0200

    FIX: TremoloParser now contains usedFields_load and _save to allow for multiple loading.
    
    - refactored several functions out of ::save().
    - parseAtomDataKeysLine() and isUsedField now require usedFields ref.
    - FIX: save() now erases duplicate entries still in usedFields.
    - removed setFieldsForSave(), was duplicate of setAtomData().
    - new function makeUsedFieldsUnique() to preserver order of appearance in
      usedFields.
    - this [closes #141].
    - FIX: made several function parameters constant that were not before.
    - FIX: Removed double readAtomDataLine().

commit 531f27764dc2eabbcb727eb49be1867ac1257e30
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 10:53:23 2012 +0200

    Added SaveSelectedAtomsAsExtTypesAction that creates a tremolo-specific .exttypes file.
    
    - the functionality is implemented in TremoloParser.
    - it is required to perform a save on the atoms before such that ids are
      correct.
    - the actions tells whether ids are valid or not.
    - also added regression test Parser/Tremolo-Exttypes.

commit 80ca2949199193b6a0fde7517836465c5a7a214a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 17:42:12 2012 +0200

    Added regression test Filling/RegularGrid with and without a tesselated surface.
    
    - also repaired FillRegularGridAction such that do/undo/redo works.

commit 72e4c95aeeec393ae183fcfb6ed2cebda6d50771
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 6 12:34:16 2012 +0200

    tempcommit: regression tests Filling/SphericalSurface Undo/Redo were still marked XFAIL. Merge with ...

commit af9be32aa2e588261aae3f3bcec741a12087b34c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 16:09:17 2012 +0200

    Added BondInfo to store bond's state information for later re-instantiation.
    
    - also added StoreBondInformationFromAtoms() and AddBondsFromBondInfo() to
      UndoRedoHelpers.

commit 06070b7a13e23eedd9701b62d229b17677769304
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 14:53:38 2012 +0200

    AtomicInfo now also stores and restores the bond state information for the atom.

commit cc9119798652998bbd0707a1ab96db1b98d7aa9d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 14:51:22 2012 +0200

    Refactored BondedParticle::removeAllBonds() into variant with and without time step.

commit 42b6de7c684d4c908777f116dccaf00a8e479cf2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 11:38:33 2012 +0200

    Filler::operator() has param vector of Cluster's that is filled with inserted ones to allow for undoing.
    
    - FillRegularGrid and FillSphericalSurface have undo and redo functionality
      based on the returned vector of Cluster's and UndoRedoHelpers.

commit 57dd40cda8082273cb21c69bba6a7c8b5a561fca
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 11:37:13 2012 +0200

    Extracted removal and adding of atoms from AtomicInfo to UndoRedoHelpers module.
    
    - this way atoms can be quickly re-created, removed from AtomicInfo state
      information.
    - added ResetAtomPosition().
    - RemoveAction makes use of this.

commit 91be2dbe71d6dc407a0ef58370bc1566d7b01d91
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 11:53:46 2012 +0200

    Added Undo/Redo check to regression test Filling/SphericalSurface.
    
    - both are maked as XFAIL right now.

commit 4187a74c602e4565e9e0fb1929d48384d6792cc5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 4 16:17:22 2012 +0200

    Removed MoleculeAction/CreateMicelleAction, is replaced by FillAction/FillSphericalSurfaceAction.
    
    - TESTFIX: removed regression test Molecule/CreateMicelle.
    - TESTFIX: created Filling/SphericalSurface.

commit cb76762d774e30e4704076d9c68d27765141559d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 4 13:16:14 2012 +0200

    FillSphericalSurface now works on selected molecule and requires an alignment axis.
    
    - the axis is used to perform the rotation assuming the filler molecule is
      oriented on this direction.
    - also, it now uses CopyAtoms_withBonds.

commit 93eae3672fe61ef67bd3ca7888779afb308aa2e0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 4 13:12:18 2012 +0200

    Added new Inserter working on surfaces of Sphere's.
    
    - We also align the given filler Cluster along the surface normal direction.
    - Note: Filler nodes may only reside on the Sphere's surface.

commit 50c35d7a80a86a8cda3eba3bc522fa468ed79feb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 3 15:32:46 2012 +0200

    Added Line::getRotationMatrix() and RealSpaceMatrix::setRotation(Vector,double).
    
    - setRotation() now allows to set a rotation matrix about an arbitrary axis.
    - Line::getRotationMatrix() just forwards to RealSpaceMatrix::setRotation()
      with its direction.
    - added (simple) unit test function for both.

commit 2db05382555a391b8fe4741acd08266bfc330545
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Thu Mar 29 19:18:16 2012 +0200

    Added action to fill selected atoms on sphere surface.

commit f4cfb689eb8b160e2dc0434074efead7fdc8c8e0
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Thu Mar 29 19:16:24 2012 +0200

    Mesh adaptor to reuse sphere-shape for new filler action.

commit 4a4f3d8ce22775957b51c385fd5f8d8a6fb427cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 11:54:12 2012 +0200

    Added regression test Filling/RegularGrid with undo, redo.

commit 6aad6f855826b41c7c32b3b3c9706d5adbcf9acd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 13:29:26 2012 +0200

    FIX: molecule::containsAtom() is now const and has const param, added AtomIdSet::contains().
    
    - AtomIdSet::contains() is predicate to whether id is contained, added unit
      test function.
    - also added molecule::containsAtom() on atomic id only.

commit 57f7434125c2e5fda6c02a28c72e221dd66f64d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 4 15:56:54 2012 +0200

    FIX: AtomIdDescriptor was not using internal_iterator but full ObservedIterator.
    
    - this causes messy update()-cascades because on destruction of the iterator
      during the find, which is e.g. used by AtomIdSet::const_iterator(!), an
      Observer signal was triggered.
    - NOTE: In Descriptors we may _always_ use internal iterators, as this never
      does any harm to the World with respect to insertion/removal of atoms or
      molecules.
    - this [closed #182].

commit b98a32c9973063fcbc69b436a08b1405b9df5ce1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 3 16:31:03 2012 +0200

    FIX: Some fixes to Resize_Impl functions.
    
    - replaced 1/ by 1./.
    - volume and surface area are size to the power of three and two, respectively.

commit c4864173a791cccb5a29c6f251b4e9352b31020f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Apr 3 16:29:31 2012 +0200

    FIX: ShapeOps::getHomogenous...() were not working.
    
    - replaced for_each by transform (the latter actually replaces).
    - also by using ShapeOpsBase_Impl::translateOutPos() we can implement the
      getHomogeneous...() functions more generally inside ShapeOpsBase_Impl
      instead of specifically for each Shape operation.
    - added Implementation of getHomogenousPointsOnSurface unit test function.

commit 5cdd83b4ee7182af3e7f1f1dc01d45d7e02916a2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 11:38:02 2012 +0200

    FIX: AtomicInfo.hpp lacked some inclusions, had only forward declarations.

commit b3d687bc878019a08e899000aa1d38119f390058
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 10:14:13 2012 +0200

    FIX: Filler::operator() did not create a molecule for each cloned cluster.
    
    - so far we assume (in AtomicInfo) that each atoms always belongs to a
      molecule. However, the CopyAtomsInterface copies without creating new
      molecules or associating copied ones with the old molecules.
    - AtomicInfo asserts that atom is associated to a molecule.
    - CopyAtoms_withBonds now associates cloned atoms with molecule of original
      atom.
    - Filler::operator() creates a molecule for each cloned cluster and associates
      all atoms in the cluster with it.
    - This [closes #180].

commit 2598874de68fdc051204a1835045f988d021c922
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 5 09:55:23 2012 +0200

    FIX: XyzParser stumbled over empty comment line.
    
    - FormatParser< xyz >::load() used operator>> and ws but this skips over the
      newline characters if only whitespace follows. Now we use getline.
    - added regression test part on the issue to Parser/Xyz/...load-various.
    - This [closes #181].

commit 2034f3c5f9db8e8024a0f4db0cd3d1231e98ac24
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 27 14:37:05 2012 +0200

    Added AtomInfo::charge along with getter and setter.
    
    - charge is used by both TremoloParser and XmlParser, hence needs to be
      exchanged.
    - Added charge to state info in AtomicInfo.
    - TESTFIX: regression tests Molecules/Copy, Molecules/CreateMicelle, and
      Filling/FillVoidWithMolecule's tensid.data file had to be changed due to
      present Charge info with precision different to the one arising from new
      AtomInfo::Charge.
    - removed ParserXmlUnitTest from XFAIL_TESTS.

commit 3d0892b89b1f6f981cce9898d7abd17bfafd158f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 26 11:59:32 2012 +0200

    Added an additionalAtomInfo container to XmlParser.
    
    - this stores the parser-specific information such as charge, ...

commit d2596bcb8a99e3a32ebcb51e123bd7fed8235a16
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Mar 24 17:39:43 2012 +0100

    Added XmlParser for parsing configurations for ScaFaCoS generic test code.
    
    - XML is parsed via pugixml which is placed in subfolder pugixml in src/Parser.
    - NOTE: pugixml does not import/export double with high enough precision.
      Hence, we always obtain strings and convert them ourselves.
    - also added unit test on the new parser.
    - NOTE: Unit test is failing as charges are not yet written correctly, hence
      marked as XFAIL.

commit 613da6b478df78ec98ab183a9a9bd735adf14586
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Mar 24 17:39:04 2012 +0100

    Added check for boost::property_tree to boost.m4.

commit ed26ae0a32a705778541a63922f7ba79f0840079
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 26 10:06:19 2012 +0200

    Renamed calls to element::getNumber() -> ::getAtomicNumber().
    
    - dropped element::getNumber() as getAtomicNumber has same functionality.

commit 47ed3dbe85194f82787c9dcd9efa83fae922b213
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 26 09:48:22 2012 +0200

    Removed some old output functions in element, Formula, and molecule.
    
    - This is preparatory for refactoring element into a more general concept that
      can contain both chemical and derived elements suitable for empirical
      potential parametrization storage.
    - Removed functions in element: Output(), Checkout().
    - Removed function Formula::checkOut().
    - Removed function molecule::Checkout().
    - functionality added to periodentafel::OutputElement().

commit 03a58974943974bda29e50e38854002e694c2f07
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 26 09:44:19 2012 +0200

    Removed lots of remnant output functions in atom and molecule that are not used anymore.
    
    - Removed functions in atom: OutputMPQCLine(), OutputPsi3Line(),
      OutputXYZLine(), OutputTrajectories(), OutputTrajectoryXYZ()
    - functionality of outputters has been shifted to Psi3Parser and MPQCParser.
    - Removed functions in molecule: OutputTrajectories(),
      OutputTrajectoriesXYZ(), OutputXYZ()
    - Removed in CounBondsUnitTest: OutputTestMolecule().

commit ce7bfd57176b8ad23e9bfcc393a41c4798df77ed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 13 20:35:15 2012 +0100

    VERBOSE: Subsequent change in verbosity levels of many tesselation functions after Info removal.

commit 2a3124b519027c588e363ec4c5a44171b4715777
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 13 18:35:01 2012 +0100

    VERBOSE: Removed lots of Info objects in tesselation classes member functions.

commit e791dcfb33d9e278cc697cebebb3ec5731abcfe9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 13 18:52:00 2012 +0100

    Removed molecule::doCountAtom() and added molecule::doCountNoNonHydrogen().
    
    - since the conversion of molecule to being a container for a set of atomicId_t
      counting atoms is just an unnecessary O(N^2), since we count through all of
      them. With atomIds.size() however the number of atoms is always known.
    - Hence, moleucle::AtomCount is no longer a Cacheable, but NoNoHydrogen is
      now such a one. LazyEvaluation is only sensible when the evaluations are
      few. Due to updates from the GUI however, atomcount is constantly requested.
    - FIX: removed doCountAtom() calls in some functions in analysis_correlation.

commit 1089686f4e347a12c5cb5f631aeaa4c165a9f3c0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 13 18:37:53 2012 +0100

    FIX: Rewrite of BondGraph's CreateAdjacency() and getMaxPossibleBondDistance().
    
    - getMaxPossibleBondDistance() is not templated anymore but expects simply a
      set of atomicNumber_t.
    - new helper function BondGraph::getElementSetFromNumbers() which converts a
      set of atomicNumber_t into a set of elements.
    - createAdjacency now prepares initially the set of atomicNumber_t and from
      it the set of elements such that no further element lookups are necessary
      except once for each atom's element.

commit 08a0f52718bbbbe42fd8618c1e90effd0fc6eabb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 13 18:36:46 2012 +0100

    AtomInfo has new functions getElement() and getElementNo().
    
    - getElement() shall replace getType() which still returns a pointer instead
      of a reference, is marked as deprecated.
    - getElementNo() is a faster way if only the atomicNumber_t of the atom is
      desired as no lookup in the World is necessary.

commit ccb487ddab59ad8050ce40929874510f2d9454f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 15 18:29:54 2012 +0100

    TremoloParser now always writes current domain as "# Box ..." into file.
    
    - This is important, as format tremolo is essentially also a domain preserving
      type (i.e. tremolo reads Box from .data file).
    - TESTFIX: The following regression tests have a "' Box ..." line added to their
      .data files: Domain/RepeatBox, Filling/FillVoidWithMolecule, Molecules/Copy,
      Molecules/CreateMicelle, Parser/Tremolo-SetAtomdata.
    - FIX: Forgot to add testsuite-fill-void-with-tenside-molecule.at to
      Makefile.am

commit a275b3f9d246781dcbb1eae64f444246f68aad00
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 12 16:11:36 2012 +0100

    TremoloParser uses ElementKeys.
    
    - functions parseKnownTypes() and createKnownTypesByIdentity() relay to
      respective functions in ElementKeys.
    - TremoloParser::readAtomDataLine() catches IllegalParserKeyException to
      inform the user of .data with insufficient .potential knowledge.

commit d9005c16a207bbd7364238aaf6dfaa1afe18b7cb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 12 16:08:21 2012 +0100

    Extracted TremoloParser::knownTypes into distinct class ElementKeys, and added ParserExceptions.
    
    - added Exceptions.hpp to folder Parser with currently only exception
      IllegalParserKeyException.
    - ElementKeys contains map that parses contents from file and may set identity
      mapping based on periodentafel's elements.
    - getter and setter throw IllegalParserKeyException.

commit ebc499bb1355679f4fc65d57497f95261d93f328
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 12 18:02:52 2012 +0100

    Added InvertMoleculesAction and InvertAtomsAction.
    
    - World has two new functions invertAtomSelection() and ..MoleculeSelection().
    - these actions are needed to get some of the boolean operations working that
      are possible inside the code but not outside. Concatenated selections are
      on the command-line always combined as OR and never as AND, via an invertion
      operation, we may combine these into an effective AND combination.
    - also added regression tests Selection/Atoms/InvertAtoms and Selection/
      Molecules/InvertMolecules.

commit 61c364e5234bfac462d451e14f2d8a128787f6bb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Mar 23 09:40:39 2012 +0100

    Added AtomOrderDescription along with SelectionAtomByOrder.
    
    - added unit test function AtomOrderTest on new descriptor.
    - added regression tests Selection/Atoms/AtomByOrder.
    - TESTFIX: Enhanced moltest.py and moltest_check.py by catching ValueError,
      when lines in options.dat are faulty.

commit 8de597c3fb205163fbb84791b76d54a43062db72
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 1 14:56:51 2012 +0100

    FIX: FileQtQueryPipe demanded QFileDialog::ExistingFile.
    
    - for InputAction also non-existing files are allowed.

commit 2935fddcbade4d132f34943ad80b643b77283a4b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 2 13:09:47 2012 +0200

    Set version to 1.2.3
    
    - Molecuilder library is now 8:0:0.
    
    - Codename "Serpens Cauda" (yellow dwarf star system 123 light years away,
      containing HD 168443b/c, two extrasolar planets).

commit 510f8114d39633be815ec5bf2eb8bf42f5b30f6a
Merge: 0f44e1b 22425a9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 2 12:35:51 2012 +0200

    Merge branch 'Fix_Tesselation_InsideOutSideUnitTest' into Candidate_v123

commit 22425a9c1deaa6c8fe8844c40fe08d87a46164b9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 2 12:34:03 2012 +0200

    DISTFIX: Tesselation_InsideOutsideUnitTest still wrote temporary file.

commit 0f44e1b5c2cc3d04152871c13aae2b663dd50a45
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 2 10:34:35 2012 +0200

    Added CodeCheck on header files forgotten to put into a Makefile.am

commit 7256a22b879c94a26db88606e94c6dd807033fd5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 2 10:18:10 2012 +0200

    DISTFIX: Forgot to include various header files in Makefile.am's.
    
    - Shapes/ShapeType.hpp was missing in Makefile.am.
    - Forgot to add Filling/ClusterInterface.hpp to Makefile.am.
    - src/LinkedCel/LinkedCell_Model_inline.hpp was not present in Makefile.am.

commit 896f4a7ada6369e3572c881c6619a64461c0de07
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 29 10:21:47 2012 +0200

    FillRegularGridAction now uses RandomInserter to fill in the clusters.
    
    - FillRegularGridAction has three new parameters taken over from
      FillVoidWithMoleculeAction.

commit 48ab414c9528b756853528365f66102bc5b91219
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 29 10:21:35 2012 +0200

    Implemented working RandomInserter.
    
    - we copy&paste most of the routines from boundary.cpp use in the filler
      functions there. This is to eventually remove these from boundary.cpp.

commit 4fbc4eb3e954566cda24e1994d562cd588d3d6df
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 11:13:39 2012 +0100

    FIX: Filler::operator() now shifts filler cluster out of domain before evaluating predicates.
    
    - Note, we only move the atoms outside, not the shape.

commit e32fa633df40b948e4d2e8a829385c51a6f7d34c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 27 15:53:10 2012 +0200

    Modified Filler:operator() such that Inserters only modify position, not clone.

commit 68abe5f58a8e654ce9fa978466f421b7b52a0fa0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 15:27:21 2012 +0100

    Made Inserter::operator(), Filler::operator() return bool, used by FillRegularGridAction.
    
    - true if at least one node is filled.
    - this is preparatory for allowing Inserter to insert and not clone only.

commit f61f610060cf4f27c505a50acd437f8a6b56abf8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 14:55:58 2012 +0100

    Refactored implementation of Inserter into pimpl pattern.
    
    - this is then much more similar to Predicate.

commit 901d8728439c01d409375e1e3f5d042c4d2d7bb6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 14:27:44 2012 +0100

    Refactored insertion of cluster into Inserter class.
    
    - this is to allow for random variations and alike with arbitrary inserters.
    - Filler now requires an Inserter in cstor which is used when placing a cluster
      at a specific node.
    - the Inserter::operator() uses CopyAtomsInterface to pass on to
      Cluster::clone().
    - FillRegularGridAction uses SimpleInserter now.
    - TESTFIX: FillerUnitTest uses SimpleInserter, too, now.

commit dba7b09bd997e1ce6c6342031daa75dfc481bfc0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 11:20:18 2012 +0100

    Extended filling documentation for Inserter.

commit da1e9282f7aecf587880d71ca5531b04c643fa70
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 12:06:59 2012 +0100

    Shape::getVolume() and ::getSurfaceArea() use Approximators if implementation returns -1.
    
    - We use the approximators via tesselation for surface area and via a stupid
      Monte Carlo integration for the volume.
    - implemented stubs to use with Shape unit tests.

commit 4c6e70b2ccc22ff8e07d3429981f902de285f40e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 12:05:27 2012 +0100

    Added functors for calculating surface area and volume of a Shape.
    
    - These are implemented as functors to avoid that Shape and especially its
      library become dependent on Tesselation and other libraries.
    - Added heuristic for point density to ApproximateShapeArea.
    - ApproximateShapeVolume uses RealSpaceMatrix directly and does not
      Box::translateIn().

commit 595cfd9cce8dca421ed34314c2b4e9cb33b6d8ef
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:40:33 2012 +0100

    Added NodeGenerator.

commit c67c65d4e13897fc13b0c5ff2c63be4e582854c9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 09:18:04 2012 +0100

    Added preliminary getVolume() and getSurfaceArea() implementation to all Shapes.
    
    - only BaseShapes are truely usable, the rest is mostly marked as TODO.
    - the problem is that intersections are not so easy to handle. Probably, we
      have to use polygonal intersections there and approximate volume
      calculations.
    - the functions return -1 when not implemented yet. this is preparatory to
      start approximate calculations at the top node of the Shape "graph" if -1.
      is returned from the implementation.

commit 7672551588bebb7aede173ab33a7c92d8ee6bed7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 09:14:10 2012 +0100

    Split off class definition of LinePoint from module Line.cpp
    
    - added documentation section on the lines.
    - some changes due to new include LinePoint.hpp.

commit e9ad4343d882a9eb00d1566d22d9d03580a62a77
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 11:36:49 2012 +0100

    FillRegularGridAction now expects the filler as selected molecule, all selected atoms are tesselated.

commit 345eda8ba424c9dbb13488e397cd25c45027d9bc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 6 16:20:13 2012 +0100

    Enhanced FillRegularGridAction to avoid tesselated surfaces.
    
    - selected molecules (if any) are now tesselated ans !IsInsideSurface is used
      to only fill outside.

commit 5a4cbcba2db951efef5711b10c3f27755464e607
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 1 17:40:31 2012 +0100

    VERBOSITY: Increased verbosity threshold of some outputs connected to FillRegularGridAction.

commit a884522bcc22ba620339ea5c6358f0408ce9007d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 20 02:29:57 2012 +0100

    Added new Action subfolder, menu, and CommandLine options map, and FillRegularGrid Action in it.
    
    - counts, offset and min-distance as parameters that determine the filling.
    - we find bounding sphere for the selected set of atoms.
    - CopyAtoms_withBonds is used in cloning the cluster.
    - libMolecuilderFilling added to libMolecuilderUI.

commit d505a3699ad22730219478f69fe1a8ad8b608c2f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:40:18 2012 +0100

    Added Filler as general method of filling a Shape.
    
    - Filler::operator()() requires CopyAtomsInterface ref as param.
    - added unit test that creates cluster of two atoms and fills a row of nodes.

commit 5d81e514140621e03b61d2bd770397f6d45321d3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 20 02:33:40 2012 +0100

    Added CubeMesh derived from Mesh.
    
    - contains a count and a offset Vector, along with a transformation matrix:
     - the transformation is to scale the internal cube.
     - counts is the axis partitioning, offset changes between 0 and 0.5 and 0.5 and
       1 in a partitioning of 2.

commit dd3f4f0b89cda87be8279908c39849664ab7067a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 18:02:02 2012 +0100

    Added class Mesh for containing a set of Shape-filling Vectors.

commit 8f6e2a881f918244cc0e6fc08507dc72a81dcf74
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 17 22:06:35 2012 +0100

    Added new class Cluster as atomIdset with a Shape.
    
    - inherits ClusterInterface.
    - its clone() requires CopyAtomsInterface ref.
    - implements getShape(), transform(), and translate().
    - added unit test.

commit 9e5a306c82483ea0f88a098c86376beb12c62ffe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 28 10:59:32 2012 +0200

    Added ClusterInterface.
    
    - this is preparatory for using a Cluster as possible atom sets.
    - ClusterInterface has getShape(), transform(), and translate(),
      also its clone() requires CopyAtomsInterface.

commit 7adddc77959cfcd6ae003aa73f30942d2e1c3c35
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:41:30 2012 +0100

    Added IsInsideSurface_FillPredicate
    
    - added unit test.

commit 83fd7d028ca39a4cd002c097850aa966f267121e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:43:13 2012 +0100

    Added Ops_FillPredicate.
    
    - added unit test.

commit baac793b97fbf4371eca521187baa79207499a83
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:41:45 2012 +0100

    Added IsVoidNode_FillPredicate.
    
    - added unit test.
    - added documentation and verbosity to IsVoidNode() and IsVoidNode_FillPredicate().
    - creates a LinkedCell_view that is copied when bound to IsVoidNode().

commit 6499b1ee9307f8ecc39caafba8f8083e036a4bd0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:46:41 2012 +0100

    Added IsInsideDomain_FillPredicate.
    
    - added unit test.

commit 600a5296c7fb2bdb5ffe9f184edc5632d2acb442
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 17:27:42 2012 +0100

    Added IsInDomain_FillPredicate.
    
    - added unit test.

commit b00ab1b88d1ad76942e82e3eece9355ea217a2d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:16:09 2012 +0100

    AnyFillPredicate takes a specific boost::function as predicate.
    
    - this will allow us to pass on specific boolean function that are used via
      boost::bind to serve as predicates, embodied in this class.

commit 9c2cb38007f3f87ae0e49da9d30c337eac0660af
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 16:40:58 2012 +0100

    FillPredicate is working base class, where FillPredicateBase.hpp is the underlying interface.
    
    - FillPredicate is alike to Shape in design, containing a implementation
      pointer which has all the functionality and we just point to it.

commit 0d57cbe09325913fcef9dcef6d7f542ede6e61b5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 18 01:21:07 2012 +0100

    Added Node and NodeSet for a position and a vector of Positions.

commit b380ed238b7e9f275cf94f77da35860808083f3b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 17 15:57:37 2012 +0100

    DOCU: Added concept for new construct Filling.

commit 9e1d01415f93be121370a5079d969cb2451872f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 10:34:00 2012 +0100

    Added CopyAtoms structure.
    
    - this creates a copy of a vector of atoms with as much depth as desired by
      the user.
    - this is a hierarchy of functors that each add additional functionality such
      as also re-creating the bonds, ...

commit c67ff9c421296109fd402e1c2e1890d090d2777f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 12:56:06 2012 +0100

    Added molecule::getBoundingShape() and unit test MoleculeUnitTest on it.
    
    - We now simply have a function to get a sphere as a suitable bounding shape
      which allows easy construction of a new cluster.

commit 8e1f9015fa26331d074f80396b4d0f473847dc93
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 12:41:02 2012 +0100

    molecule uses AtomIdSet now, rename getAtoms -> getAtomIds().
    
    - molecule now relies on AtomIdSet functions, only insert() and erase() have
      own functionality to set the molecule internal id and the atom name.
    - FIX: removed MoleculeDescriptor include, added to Fragmentation and
      DepthFirstSearchAnalysis.

commit 5e65342e2c81c65880890589b38aca41fb13097c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 16:45:02 2012 +0100

    Refactored transform_iterator out of class molecule as AtomIdSet.
    
    - also added unit test.

commit d927abb3d77a2859e44f0802e7b32cf4c5385ec6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 22 18:39:02 2012 +0100

    Renamed AtomByShape -> AtomsByShape and speedup due to LinkedCell usage.
    
    - since each Shape implements Shape::getRadius() and ::getCenter(), we may use
      the LinkedCell construct to obtain a smaller neighborhood faster.

commit 3e1b7b6bbc335f8797e72e3edc99ef7639f3b319
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 27 15:27:22 2012 +0200

    Added regression test on select-atoms-inside-sphere with a small radius.
    
    - this is to test a subsequent implementation using LinkedCell and whther it
      is faster.

commit 5a8d6181d9ecac92ad0fd935c5788630721f55b0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 19 01:55:04 2012 +0100

    Added new function to all Shape: getHomogeneousPointsInVolume().
    
    - basically it is not implemented except for ShapeOps, yet.
    - there is an initial unit test Shape_HomogeneousPointsUnitTest.

commit 6acc2f3a1b46ec7dee426fa502fd350592a2d3b5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 18 21:17:24 2012 +0100

    Added getCenter() and getRadius to all Shapes.
    
    - also extended unit test.
    - Added test functions to ShapeOpsUnitTest.

commit 84721b64723f4546ae9f3f1785703ef9fc47d7ed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 18 21:47:29 2012 +0100

    Added new unit test ShapeOpsUnitTest, testing all ShapeOps.
    
    - BUGFIX: Stretch_impl() cstor had 1/... not 1./... for reciFactors.

commit 571d048445007f27e1ef0c620af6a034eacacef7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 18 21:25:30 2012 +0100

    Renamed ShapeUnitTest -> BaseShapesUnitTest.

commit 735940a1f921b67951e76dc118fcdac077fea6ab
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 18 21:15:48 2012 +0100

    FIX: Made practically all Shape... member functions const.
    
    - Shape: isInside(), isOnSurface(), getNormal(), getLineIntersections()
    - ShapeOps: translateIn(), translateOut(), translateOutNormal(), isInside().

commit b92e4abd2c9d2269cf58be33cf7cd809f3e304bd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 18 01:21:51 2012 +0100

    Shape identify themselves via an enumerated Type.
    
    - this is required lateron for preparing Mesh class out of a given Shape.

commit 6a7fcbb3e0bb0faf7b7f53598e63aac469a4434d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 15 14:16:21 2012 +0100

    FIX: Rewrote BoundaryTriangleSet::GetClosestPointInsideTriangle().
    
    - was broken before, see failing unit test, as it returned points not inside
      the triangle (however on the plane). Now, we rely on getClosestPoint of
      Space and derived classes.
    - TESTFIX: Removed Tesselation_BoundaryTriangleUnitTest from XFAIL.

commit c27ce78e851407f0f868250263487f54ca132cde
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 15 14:10:31 2012 +0100

    BUG: Added another specific case to Tesselation_BoundaryTriangleUnitTest.
    
    - test case is again from larger filling example.
    - Note that this fails with current implementation of ::GetClosestPointInsideTriangle().
    - TESTFIX: Marked test as XFAIL.

commit 6dc3fe8a7a2543b61c47087c39d807556f435119
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 14 21:36:47 2012 +0100

    Enhanced Tesselation_BoundaryTriangleUnitTest by check on ::GetClosestPointInsideTriangle().
    
    - checking on rotated triangle as well.

commit 70a0bab4c416abe9213d25fb8105b8fec94a70e9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 15 14:50:00 2012 +0100

    FIX: LINALG_MYEPSILON is too high for certain tesselation operations such as in triangleinsectionlist.
    
    - LINALG_MYEPSILON ist now numeric_limits<double>*1.e+4.
    - TESTFIX: This fixes failing test in Tesselation_BoundaryTriangleUnitTest.

commit 03a713a76a3c824e6837e1d3899ef50841b38fbe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 15 14:49:06 2012 +0100

    BUG: Added failing test case to Tesselation_BoundaryTriangleUnitTest.
    
    - test case is from larger filling example.

commit 471dece7cc1b45cf20a25bfe33c2a44ddf8b481f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 14 21:22:42 2012 +0100

    Added BoundaryTriangleSet::IsInsideTriangle().
    
    - this is preparatory for finding a bug in GetClosestPointInsideTriangle().
    - refactored in-test triangle creation into distinct function.
    - added extensive unit test on this function.

commit 368207d37f01a6b6632259661bf2b1af61b2c0e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 14 18:53:59 2012 +0100

    FIX: Incorporated special case affecting TriangleIntersectionList::IsInside().
    
    - If the closest points happens to be a TesselPoint of the boundary, all of its
      triangle's SKPs with the intersection-point vector have to be checked. As the
      point is only inside, if all of them are negative.
    - TriangleIntersectionList DistannceList is now a multimap, to allow for
      multiple triangles at the same distance.
    - Now TriangleIntersectionList::GetIteratortoSmallestDistance() goes through
      all entries at the same smallest distance and returns the first whose SKP is
      positive, otherwise the first.
    - TESTFIX: This fixes failing Tesselation_InsideOutsideUnitTest, hence removed
      it from XFAIL_TESTs.

commit 53bc04e0e0eb7869d30d001ac78ff41913c780fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 14 15:16:40 2012 +0100

    BUG: Added spherical and non-convex test cases to Tesselation_InsideOutsideUnitTest.
    
    - we now test not only on cube, but also on sphere and a non-convex shape.
    - creation is generalized to allow for different shapes, also we use extension
      of VectorSet to allow for transformations.
    - TESTFIX: Added Tesselation_InOutsideUnitTestto XFAILs. Merge with enhancement
      of the test.

commit f6ad4dcceb2ec138a73ad4dea9d2a998a5e21a06
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 14 17:14:03 2012 +0100

    Added copy cstor from Set to VectorSet and VectorSet::transform().
    
    - VectorSet::transform() required that Vector.hpp did not contain using
      namespace anymore.
    - Copy cstor allows to create from e.g. a std::vector<Vector> a VectorSet and
      then use the functions contained.
    - added unit tests on both.

commit 418b5e0fc8fe4887a7a0b6cf5a74cd0a7c5e80d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 14 17:18:30 2012 +0100

    Added verbosity to some tesselation functions.
    
    - added exception catch to Tesselation::FindStartingTriangle().
    - also added verbosity to TriangleIntersectionList::IsInside().

commit cc21cdf3ae7333553452e11b90d3c2b214c166ea
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 12:09:06 2012 +0100

    Added Tesselation::operator() that performs a tesselation on a given IPointCloud.
    
    - also changed unit tests TesselationUnitTest and
      Tesselation_InsideOutSideUnitTest to use the new function in setUp().

commit bdf6c8a7439f52e0c190c2ba42725d8be969436a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 12:08:46 2012 +0100

    Added getter for surface area to class Tesselation.

commit ee0032c6a09dfcf7548908b02426be6ecf812b72
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 10:33:06 2012 +0100

    Extracted VolumeOfConvexEnvelope() from boundary and placed into class Tesselation.
    
    - parameter config replaced by boolean IsAngstroem.

commit 64b197aba26bbb0356392272af6cee97e1086726
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 10:28:21 2012 +0100

    Added getArea() function to BoundaryTriangleSet.
    
    - this is taken from boundary.cpp's VolumeOfConvexEnvelope().

commit 12c4cb0ce0eba7e7215be478cf3ddd00eae6f263
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 22 18:37:28 2012 +0100

    FIX: MoleculeOrderDescriptor was not working correctly.
    
    - added MoleculeOrderTest and MoleculeNameTest to MoleculeDescriptorUnitTest.

commit 4824045e8862d592732cdd29e95d5a0630c1e4b9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 22 18:37:03 2012 +0100

    FIX: forward declaration of World is unnecessary in AtomDescriptor.

commit 05a8856950a70f7c6632778b990c57698560ee72
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 10:31:25 2012 +0100

    FIX: BondedParticle::addBond returns * const not const *.
    
    - return a non-const ref such that we may modify it but prevent the use from
      deleting the instance.

commit 46c832a58fdb69c0a30cc872cc301d1fb049c935
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 21 10:28:51 2012 +0100

    FIX: PairCorrelation calculated max_distance in Box wrongly.
    
    - mistook Minv for M in AnalysisPairCorrelationAction::performCall().

commit 4d2b33da0f46516edd4b645ae0897eeb664c36fe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 19 17:42:39 2012 +0100

    FIX: molecule does not need a periodentafel.
    
    - removed periodentafel param from cstor.
    - removed member variable elemente
    - removed AddXyzFile which was sole user of elemente.
    - removed depending functions in MoleculeListClass which were all remnants from
      old menu interface.

commit 955b91eef584d31f8d9958b67d1ea39b84eb1fb7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 14 19:08:24 2012 +0100

    FIX: Removed using namespace std in Vector.hpp.
    
    - this caused some follow-up problems in other LinearAlgebra modules,
      mostly stuff from iostream not having std:: prefix then.
    - this also caused more of them in MoleCuilder modules, mostly due to string,
      stringstream, and numeric_limits with std:: prefix.

commit 912c40f894bf2d9d9a56e65c27810c7464564255
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 15 18:00:53 2012 +0100

    FIX: AddEmptyBoundaryAction just returns Action::failure if there are no atoms.

commit b49de6734c55dcbdb4d72bbde0e06445e8b5b0cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 13 18:33:20 2012 +0100

    FIX: DepthFirstSearchAction still expected parameter for maximum neighbor search distance.

commit ea0c8b2d99a7cd34a14e10739d5e97ad769403ed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 17:15:27 2012 +0100

    FIX: ParticleInfo did use ptr instead of const ref in copy cstor.
    
    - is only used for atom's copy cstor.

commit c742fed20df187f0ba5075443daf8db02480de2c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 17:12:03 2012 +0100

    FIX: atom's copy cstor does not use Observer mechanism on the newly created.
    
    - we used setType() and setFixedIon() instead of AtomInfo copy cstor.

commit fb4086c66a92259dff57dce2194b352aef6d0b4f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 20:01:42 2012 +0100

    Set version to 1.2.2
    
    - Molecuilder library is now 7:0:1.
    
    - Codename "Hadrian's Wall" (Erection began in 122 AD).

commit a292f69b449c6c5bb67ebe28b692aa692bf02458
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 20:19:30 2012 +0100

    DISTCHECKFIX: Forgot to add IdPool_policy.hpp to Makefile.am.

commit e674c96fcf5679a4296d28d3c68f14356581b782
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 11:23:05 2012 +0100

    FIX: Copy&paste error in tests/CodeChecks memdebug for variable ok.
    
    - we had all the files from MoleCuilder in here, which are not needed.

commit a965b256ab0caa17547ae518bcde87e673b9c103
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 11:21:29 2012 +0100

    Added check on present copyright disclaimer to LinearAlgebra as well.
    
    - fixed missing disclaimers in BoxVector.cpp, LineSegment.cpp,
      LineSegmentSet.cpp, and MatrixContent.cpp.

commit 6d608dd5c311453412d113310ff79086151fd29b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 21 11:11:49 2012 +0100

    COPYRIGHT: Updated all LinearAlgebra files to have copyright till 2012.

commit 7e3065a1f91331217ec68bfc0a269a60c938a261
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 09:15:07 2012 +0100

    FIX: Updated copyright in mainpage documentation of LinearAlgebra.

commit 2a0271161126f3b47c3cd19c934d5f9e68593ecf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 18 19:13:52 2012 +0100

    New function Box::isValid() to be discerned from ::isInside().
    
    - isValid checks with and isInside without boundary conditions.
    - added Box::isValid() check to LinkedCell_Model::getIndexToVector().
    - TESTFIX: regression test Atoms/Add needed Ignore BCs.

commit c96423eec2163f37cc351c88bfd115e0a0446366
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 30 09:21:23 2012 +0100

    BUGFIX: LinkedCell_Model should use ceil, not floor for calculating array size.
    
    - we stumbled over it because floor(20./2.) = 9 where it should come out as 10.
    - along the way: Converted some ASSERTs in LinkedCell_ModelUnitTest to
      ASSERT_EQUALs.

commit b49c5dc478bfe5d7475926f8bad84675ae3cf64b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 13 13:40:06 2012 +0100

    Regression test Analysis/PairCorrelation sets BC explicitly to Wrap.
    
    - also added check whether the bins have the right number of values.
    - Note: we checked that old PairCorrelation test was based on periodic BCs as
      well: H8 - O73 are 9.963629 apart, under Ignore BCs correct would be
      10.07144. This is due to a wrap around on the z axis, 5.292 to 15.346.

commit c1a9d605954042d9c86d2369f412f1ba332fb3f8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 13 13:39:04 2012 +0100

    Rewrote PairCorrelation() to make use of new LinkedCell construct.
    
    - removed PeriodicPairCorrelation() as this case is now contained.
    - TESTFIX: Modified regression test Analysis/PairCorrelation-RangeTest because
      with new LinkedCell the given range can now actually be heeded.

commit 8fc1a63df8815c14148badf93b4c8d6674909443
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 18:49:07 2012 +0100

    FIX: getDipole() was broken under periodic boundary conditions.
    
    - getDipole() now uses Box::periodicDistanceVector() to get the distance vector
      corrected for periodic boundary conditions.

commit a19b4f9e6ce8ff976b11d2cdf26e72073492ef5c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 9 19:14:30 2012 +0100

    Removed parameter periodic from DipoleAngularCorrelationAction.
    
    - is obsolete as handled directly through Box' boundary conditions.

commit a8ae6d754f74e46c5174e011c8f6af0cfe94f719
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 9 18:49:21 2012 +0100

    TESTFIX: Separated regression test Analysis/DipoleAngularCorrelation.
    
    - now parts explicitly tests whether periodic boundaries are working correctly
      while the other has molecules entirely within its domain and boundary
      conditions are of no importance.

commit 153985073c9f7b358d1a5707d4a4a5d1254d01e1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 10:34:58 2012 +0100

    Rewrote CountHydrogenBridgeBonds() to use new LinkedCell construct.
    
    - enhanced verbosity of CheckHydrogenBridgeBondAngle() and changed parameters
      to be refs not pointers.
    - CountHydrogenBridgeBonds() uses LinkedCell to not go through O(N^2) molecules
      but through all molecules and then through all molecules in the neighborhood
      that have oxygen atoms close enough.

commit 826e8c4cef286b7e87fd674f1ec0a8776fa20f0f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 18:46:56 2012 +0100

    Introduced new LinkedCell into BondGraph.
    
    - new convenience functions BondGraph::getDomain(), ::getLinkedCell(),
      ::getTime() to have World dependency not in header file (circular include).
    - new function BondGraph::getMaxPossibleBondDistance() where one element is
      given.
    - dropped BondGraph::CreateAdjacency(LC_deprecated) as functionality is
      better placed directly into templated version directly.
    - rewrote templated BondGraph::CreateAdjacency that now makes use of
      LinkedCell_View::getAllNeighbours().
    - FIX: BondGraph::CreateAdjacency() created bonds for atom's fathers, not for
      atoms.
    - TESTFIX: New LinkedCell construct in BondGraph::CreateAdjacency changes order
      of ids in adjacency file:
     - ids are now in order (unlike to before), hence we simply use the new file in
       the regression test.
     - this is actually a fault of the test, not of the code as order of ids is not
       guaranteed in the file anyway.
    - TESTFIX: Removed XFAILs from regression test Graph/SubgraphDissection-
      BoundaryCondition.
    - TESTFIX: CountBondsUnitTest use two molecules that are on top of each other:
      This causes mess with changed LinkedCell BondGraph recognition, and we even
      actually need just one molecule for the testing.

commit cbcda6ea79e2f05666c81d9534d4cd710a3125e8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 18:51:30 2012 +0100

    BUGFIX: LinkedCell_View::getPointsInsideSphere() did not adhere to boundary conditions.
    
    - new function LinkedCell_Model::getDomain() such that view may use the same
      domain and use it when checking distances.

commit 5d41b3feb054c87926fecd711b44959b8a632ccd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 18:44:02 2012 +0100

    FIX: LinkedCell_Model::getStep() uses Box::WrapPeriodically() on given position.
    
    - this is to "ensure" -- given correct BCs -- that index is inside domain.
    - we still assert the index lateron (in case of Ignore BCs).

commit ce81e7643f69b7e32a3ea7b3aea0503833075ba1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 19:30:28 2012 +0100

    LinkedCell_Controller now signs on to Channel WorldTime::TimeChanged.
    
    - we need to know when WorldTime changes because then all atomic positions
      change. we might use some more elaborate method here but for the moment we
      just use the method which is also employed in case of Box::MatrixChanged.
    - renamed LinkedCell_Controller::updateModelsForNewBoxMatrix() ->
      ::updateModels().

commit 5e2864ecffe7aea73c3db2304360ea66fcf192a5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 19:27:59 2012 +0100

    FIX: LinkedCell_Controller now signs on to Channel Box::MatrixChanged.
    
    - before we just had this in the test but not in _Controller's cstor.

commit 429069f15983a452a937921c8d7a1db8e0fda0fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 10:43:05 2012 +0100

    FIX: Forgot that LinkedCell_Controller::updateModels() should also erase Models not viewed currently.
    
    - these models are erased after new ones are created to enforce different
      memory addresses upon which unit test check is based.

commit 040a5c4933743745a8fee76949b4470d6e94a33a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 19:26:00 2012 +0100

    WorldTime is now Observable.
    
    - this is required for the LinkedCell_Controller. It has to know when its
      models have to be re-initialized because all atoms changed positions.
    - WorldTime::setTime() is no more static and his caused changes in all classes
      that are friend and may use this private function.

commit 38c5d1ddf8e15d850c38f402b8751d3f9e227692
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 17:51:58 2012 +0100

    Documentation update on how to use the new linked cell construct.

commit 712886d5dd98ceec6ac7c744cfb1e679619b80cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 13 13:27:46 2012 +0100

    Renamed Box::WrapPeriodically -> ::enforceBoundaryConditions.

commit 7b9fe02f188ea36f9ddfa24ea27ca27e3b422059
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 18:48:18 2012 +0100

    New function Box::periodicDistanceVector(), using VectorSet::minDistance().

commit c52e08e21874bd6974839eb406e14ffef59a6a4f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 3 12:22:24 2012 +0100

    Added new action SetBoundaryConditionsAction.
    
    - Added new getConditionNames and setConditions(string) to Box to ensure that
      Observer mechanism is called when conditions are changed.
    - added two regression tests:
     - Domain/SetBoundaryConditions tests the action itself.
     - Graph/SubgraphDissection-BoundaryConditions tests whether the boundary
       conditions are used in the subgraph dissection.
       Set to XFAIL for now as BondGraph does not yet use BCs.

commit d66cb7b6eecf9fdb226257ff28ed46a6eeec9270
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 2 20:04:42 2012 +0100

    Replaced Conditions_t by BoundaryConditions::BCContainer in class Box.

commit dd067a91bd5ce81d3092ebda02eb4e1f20978a8f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 2 19:49:32 2012 +0100

    Add new namespace BoundaryConditions with class BCContainer.
    
    - BCContainer is a convenience wrapper for the enumeration of the boundary
      conditions that allows easy setting/getting via strings.

commit e230757d8b8f73c8889eb565c9aa5a20052cff43
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 14:57:51 2012 +0100

    Added new VectorSetUnitTest.

commit 537dc4be54b76cb25e5cefbf22cab5f1cd58bf6e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 15:13:20 2012 +0100

    Added operator<(Vector&,Vector&) to allow for comparison based on their length.
    
    - this is to be used in a lambda expression in VectorSet::minDistance().

commit 8c6d18960b1a413406b9d76e087298e7737bb7f3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 15:32:29 2012 +0100

    Added VectorSet::minDistance() to return minimum distance under (periodic) boundary conditions.

commit 44f53e999bbb8a07d6654248774d7a3bb802ecaa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 17:37:05 2012 +0100

    Made various verbosities a lot less annoying.
    
    - LinkedCell_Model does not notify about all updates on default.
    - PdbParser notes currently parsed time step.
    - WorldTime tells about new time step set.
    - MatrixContainer gives its details at level 3 not 0 or 1.
    - BondGraph does not tell about each look at its bond length table.
    - getDipole() does not shout out each dipole vector.

commit 98c4284495a104d0620d285c47bc7aa2162c3b04
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 12 15:23:39 2012 +0100

    FormatParserStorage has now two convenience functions ::load().
    
    - this way one doesn't have to find out the suffix anymore.

commit 3dfd9c9df000029ac47c31db715faaada2d853c9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 12 09:22:20 2012 +0100

    BUGFIX: PdbParser stumbles over CONECT because it reads space-separated token, not substring.
    
    - FormatParser< pdb >::getToken has to work on substr(0,6) only to read the
      type of entry field-wise.
    - added test to Parser/PdbParser load-various.
    - Small fix to ::load(), prints now only parsed atoms, not all.
    - This fixes ticket #160.

commit ea7a509ec47cbadf7eaf2c826d1b74447ab8b25d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 18:53:45 2012 +0100

    Rewrote some of the descriptors such that they access World's AtomSet and MoleculeSet directly.
    
    - this is the way they are intended. They are friends of the World and may
      use the sets directly without causing update()s although they return non-
      const references. This is because here we need not be careful as no atoms
      are destroyed or added.
    - In most cases we had implemented both predicate() and new find() and findAll()
      that were not necessary (default find..() would do the job better).
    - This concerned: AtomOfMoleculeSelectionDescriptor, MoleculeNameDescriptor,
      MoleculeOfAtomSelectionDescriptor, MoleculeOrderDescriptor, and
      MoleculePtrDescriptor.
    - We left the specific implementation for AtomIdDescriptor and
      MoleculeIdDescriptor as they directly access World's Atom- and MoleculeSet
      and may thus find ids significantly faster.
    - NOTE: so far some tests are broken and this needs to be fixed yet.

commit 52ed5bd5d6abfc345449328e6008a4089fc6e46d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 8 18:36:46 2012 +0100

    Ids handed out by molecule now start with 1.
    
    - this required some changes because of the shifted molecular indices,
      especially in:
     - BondedParticle::OutputAdjacency(): removed +1
     - BondedParticle::OutputBonds(): same
     - Fragmentation::StoreFragmentFromKeySet(): increased array size
     - Fragmentation::CreateMappingLabelsToConfigSequence() : same
     - CheckAgainstAdjacencyFile::ParseInExternalMap(): decreased index by one.
       This is actually broken and only working if World's and molecular indices
       coincide.
     - molecule::CreateFatherLookupTable(): increased array size
    - TESTFIX: CheckAgainstAdjacencyFileUnitTest had its internal file strings'
      indices decreased by one.

commit cdaae6b93f20964a102f00677c3a056b910a1054
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 16 14:38:53 2012 +0100

    FIX: BondedParticle::OutputAdjacency() and ::OutputBonds() give uncorrected ids.
    
    - tremolo's Id starts at 1, internal (molecular) ones however start at 0. This
      causes undesired behavior when parsing .dbond files.
    - TESTFIX: changed ids in .dbond and .adj files of regression tests
      Molecules/BondFile, Molecules/SaveAdjacency, and Molecules/SaveBonds.

commit 560bbe654dd2553da2da442b262caa8c19fde130
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 17:49:11 2012 +0100

    AtomicInfo now also (re)stores ParticleInfo::Nr, molecule has own IdPool.
    
    - molecule now also has an internal IdPool to be able to hand out unique ids,
      according to uniqueId policy.
    - new functions: molecule::changeAtomNr(), molecule::setAtomName()
    - molecule::erase() and ::insert() release and set the id (and the name).
    - molecule::setAtomName() uses getNr() with id increased by one.
    - AtomicInfo stores and sets ParticleInfo::Nr.
    - atom::changeNr() is similar to changeId() only for the molecule.
    - molecule::AddAtom() does not set the name anymore, is done by ::insert().
    - simplified molecule::doCountAtoms() a lot, no more naming of atoms.
    - SPEEDUP: This speeds up the GUI already a lot.
    - TESTFIX: changed regression test Tesselation/BigNonConvex due to different
      ordering of node ids (due to above), surface is still the same (checked).

commit ac5c3653eb403b7c1ec8325a5e8c423473bf53fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 17:48:47 2012 +0100

    FIX: Forgot to remove now unused idpool functions, were replaced by IdPool.

commit 7d46e36d95b842d1a320f748f59b074a84e603c0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 8 11:51:11 2012 +0100

    MEMFIX: RandomNumberEngine_Encapsulation<T>::clone() did leak params allocated in getParameterSet().

commit b97a60ab241f2ecfff0d2258ecdd13f84f8a4f98
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 15:37:36 2012 +0100

    Modified IdPool implementation to give either unique or continuous ids.
    
    - added two class uniqueId and continuousId that get the id type via a template
      and contain a getNextId_impl(). Also, contains typedef is is_IdPool_trait:
     - uniqueId always return a greater id.
     - continuousId implements the old way.
    - IdPool is now based on two templates, the second is the template that is
      inherited and its contained function used in getNextId().
    - for atoms the id is the sole identifier for which we can guarantee
      uniqueness. For molecules uniqueness does not make sense.
    - updated World's documentation on its id pools.
    
    - TESTFIX: Filling/FillVoidWithMolecule - both changed because the order of the
      ids has changed. In one case the bonding id flipped, in the other one atom
      changed places in .xyz file. (Actually, it's surprising that this is the
      only glitch occuring due to the changing of the id policy).

commit 3867a77b0b871f3d876032f6535a5d1768b84cd3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 16:38:26 2012 +0100

    AtomicInfo now stores Father by id not ref.
    
    - this migh have caused a crash before with Remove- and UndoActins by:
     - additionalAtomData pointing nowhere because the id might have changed.
     - father is stored as ref and not as id. If it's its own father, the ref
       is wrong.
     - molecule is given as ref and not as id.
    - atom::setMolecule() - NULL ref is allowed.
    - AtomicInfo: stores ids and not refs, first calls changeId then assigns
      father and mol (who both need updated id).

commit 9f8b0194b9ab5a952b72799ceaf29042e6fd1c9c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 7 13:25:24 2012 +0100

    FIX: TremoloParser::processNeighbors() always ran through all neighbors.
    
    - processNeighbors() now receives a vector of atoms whose neighbors to process.

commit 812155f3a4f2a57f31b9d8b82748c71eae962ddd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 6 19:35:40 2012 +0100

    TremoloParser::save() redistributes ids in a continuous manner.
    
    - i.e. we reset the local to global id associations, set them beforehand and
      then save the set of atoms.

commit 8bf9c67e4d413e6c7a6dda4dbcf57aab0311564a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 6 14:11:42 2012 +0100

    All additionalAtomData maps now have const atomId_t as key.

commit 2ad1ec843e429f317a78f5fdd2e2b6a4926d4afb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 17:10:53 2012 +0100

    Rewrite of how GLWorldScene and subsidiaries get notified of changed bonds and atoms.
    
    - we have made the connections from the real atoms and bonds to the nodes
      within GLWorldScene a lot easier. Also this fixes a crash when Subgraph-
      Dissection is called.
    - renamed BondedParticle::BondsChanged -> ::BondsAdded.
    - GLMoleculeObject_bond now observes its associated bond.
    - added documentation on how the mechanism works in qt-gui.dox.

commit 3f7587934b86878ebafb86295528325d0314db80
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 12:55:09 2012 +0100

    Made bond also an Observable.
    
    - for the moment this is not used.

commit 74ec1fa772ca1ade3fa853bdf3476c4f6dc24010
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 12:54:22 2012 +0100

    BUGFIX: Added new channel BondDegreeChanged to AtomObservable, added some BondsChanged notifications.
    
    - this should fix crashing of the GUI when SubgraphDissection is called.

commit bb645ca228f3668686bf3d842e57a8a6d2b85e4d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 17 10:55:58 2012 +0100

    TESTFIX: Removed checking of current year in copyright disclaimer.
    
    - this will only cause trouble in the future, although it helps against
      laziness.

commit d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 28 18:57:12 2011 +0100

    Set version to 1.2.1
    
    - Molecuilder library is now 7:0:0.
    - LinearAlgebra library is now 3:1:0 and its API is 1.0.4.
    
    - Codename "Injection" (it is one-to-one and probably onto :).

commit c0e28c07a3ae4cbff46cf20696b4026104ce4e92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 19:34:22 2012 +0100

    FIX: One could not load another pdb file due to local ids messing up.
    
    - We enhanced FormatParser_common now contains two maps to go from local to
      global and back again. Thi is necessary, as ids in a file only make sense
      within that file. We added the following functions: resetIdAssociations(),
      associateLocaltoGlobalId(), getGlobalId(), getLocalId().
    - adapted TremoloParser and PdbParser because they are the only formats that
      also contain bond information and where the associations are needed to
      translate the local connections into global ones.
    - removed SerialSet entirely from PdbParser, is replaced by new construct,
      in similar manner AtomIdMap for TremoloParser.
    - TEST: Added regression tests for all Parser to check for loading twice the
      same file.

commit fbbcde7f3c99a729f52b053aaf1cbb896e703adb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 3 18:21:33 2012 +0100

    FIX: TestRunner is now compiled based on AM_CONDITIONAL set by HAVE_ECUT.

commit 9fd196a18e0a47b5eb4d5d4d98793332ac09cad9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 2 17:50:03 2012 +0100

    Added bash_completion file.
    
    - use as . utils/Bash/bash_completion, installed in bin folder.
    - moved all python files in utils into subfolder Python therein.
    - We scan molecuilder's help output for the present actions and return in
      COMPREPLY, fully capable of giving option to last action and all available
      actions in any other case.
    - we expand files if no "--" is given.
    - TESTFIX: Python/BoxMaker needs to call boxmaker.py from utils/Python.

commit b40080ff7038dadce974501ba0921c902ea739e0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 5 12:41:14 2012 +0100

    FIX: Forgot to add m4/ax_molecuilder.m4.

commit e65b264429729ac3e8a39b1cff4e0c3da7a1c92a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 12:26:47 2012 +0100

    FIX: LinkedCell_Model::getNeighborhoodBounds() had wrong relative upper corner on Ignore BC.

commit c9c3c991eb4ad65ee03c9f8497e34b705c0a3478
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 11:35:18 2012 +0100

    MEMFIX: Forgot to purge AtomObserver instance.

commit 5972c38660ce8bfe4abe05aadd3b6670d0ca781c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 11:32:35 2012 +0100

    MEMFIX: LinkedCell_Model did not release N (Linked cell array).

commit b6f5bca2a8b01f1be50e7ea743e1abeb08e08178
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 11:31:06 2012 +0100

    FIX: Fixes to idpool implementation that did not initialize all its member variables.

commit 7111d4b38b87e5d3ee3f3bc507eb41c049e56243
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 3 18:22:09 2012 +0100

    FIX: LinkedCell_Model::setPartition() did not assure Dimensions is integer.
    
    - we now assert that LinkedCell_Model::Dimensions is symmetric, diagonal.
    - FIX: its components are integer by slightly enlarging the edge length. This
      is required to correctly placed nodes inside cells.

commit c9cafae3a5f701f6ad7fcb9c37a3ae80bc41ffcf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 10:39:24 2012 +0100

    Some warning fixes.
    
    comparison signed/unsigned:
     - molecule::FillBondStructureFromReference()

commit b75386102c01f78fed1672b79dacce138116fcf9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 3 17:22:59 2012 +0100

    Verbosity fixes to LinkedCell_Model and _View.

commit 57a77028e5559bee9b5052cdd1e9b9a70c695bd2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 4 14:26:47 2012 +0100

    Corrected verbosity levels of GLMoleculeObject..., GLWorldScene, and ..View.
    
    - placede messages from Observer's to observerLog.

commit 0aa122d5f3137de21e283fdaa583b526d33a6540
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 2 14:57:02 2012 +0100

    Updated all source files's copyright note to current year 2012.

commit e215c133f85e17388f702f7bfcad150b1acfb8d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 28 18:05:04 2011 +0100

    DISTCHECKFIX: Forgot to add LinkedCell header files to some targets.
    
    - Forgot to add LinkedCell/types.hpp to target in Makefile.am.
    - Forgot to to add LinkedCell/unittests/defs.hpp to targets in akefile.am.

commit c48a51f43b8d3a851064d11f8090962cd66b3cbc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 28 17:50:10 2011 +0100

    DISTCHECKFIX: Forgot to remove folder Python from tests/regression/Makefile.am.

commit 7c019170530b54da9d757a092296cc5d2bb6efde
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 28 15:57:08 2011 +0100

    We now require CodePatterns 1.2.1.
    
    - this is to incorporate the Chronos clock->seconds conversion fix.
    - Bug report by Jan Hamaekers.

commit 69459d564dbe1fbe4f211888bdb22d63faa755b5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 10:33:28 2011 +0100

    Added unit test on changing box to LinkedCell_ControllerUnitTest.
    
    - Added setM() to ObserverBoxStub, needed for updateBoxTest().

commit 2ced6b357227c511512210e4f9802519b5ff478c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 10:26:45 2011 +0100

    Replaced Molecuilder library dependencies by stubs in LinkedCell_...UnitTests.
    
    - Implemented stubs for World and AtomObserver.
    - Renamed BoxStub to ObserverBoxStub.
    - Enhanced stub for TesselPoint, defines its own class to get around all those
      virtual inheritances.
    - LinkedCell_ControllerUnitTest uses molecuilderLinkedCell lib but no other,
      everything else is stubbed.
    - LinkedCellUnitTest is now the same.

commit b1c5ddb6c2dc1792b43fa42d24a01b1fcdb3fe98
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 11:58:21 2011 +0100

    FIX: Made TesselPoint's dstor virtual.
    
    - this caused undefined reference to typeinfo for TesselPoint errors when
      trying to create a stub for the class.

commit cbdcb10f6cf4dbc5be84a8c1cd660b931affa17f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 09:59:40 2011 +0100

    Added LinkedCell_View_ModelWrapper to safely keep LinkedCell_Model out of _Views' grasp.
    
    - This is the only way to keep _View away from its own pointer without
      declaring it "const" which prevents _Controller from re-instantiating the
      model after the Box has changed.
    - Added logging to LinkedCell_Controller::updateModelsForNewBoxMatrix().
    - Switched order of delete/create in updateModelsForNewBoxMatrix(). This is
      necessary such that newref is not created on top of oldref and hence unit
      test may fail.

commit 4a816966425096ec9bd0a17aa70a3dbfe04c7665
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 21 19:03:15 2011 +0100

    LinkedCell_Controller is now an Observer.
    
    - new function updateModelsForNewBoxMatrix() which updates the models in all
      active views.
    - so far we are hampered by const LinkedCell_Model& ref.

commit 99f4ee808622819ff9de4956da3988021e56d66a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 21 19:02:07 2011 +0100

    Class Box is now also an Observable.
    
    - it has two channels to notify about changes in its Matrix and boundary
      conditions.

commit 9ed706d2228d2edefef36a2b55322f6421480603
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 21 19:00:53 2011 +0100

    Implemented counting of active LinkedCell_View instances in static map.
    
    - this will allow us to exchange the models when the domain changes without the
      user noticing.

commit c29915751600543b3ce3bc771ea4eb5b2b9ab924
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 21 18:59:27 2011 +0100

    LinkedCell_Model cstors are now private but LinkedCell_Controller is friend.
    
    - this way only LinkedCell_Controller can construct new models.

commit 455043c33527649a64f47812a06348673a15ad57
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 21 18:57:51 2011 +0100

    Changed MapEdgelengthModel to contain const ref as value.
    
    - LinkedCell_Controller::insertNewModel() gets const ref as param now.

commit 54f3d11a82854765641343eac08c593e5d58b8ad
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 21 11:35:41 2011 +0100

    Removed short-wiring of updates as they are now passed through LinkedCellArrayCache.
    
    - replaced ..._internal() calls by Changes->addUpdate(..) in LinkedCell_Model.
    - added some verbosity to allow for following the chain of updates.
    - new unit test function lazyUpdatesTest() in LinkedCell_ModelTest.
    - TESTFIX: nodeTest() and insertPointCloudTest() needed a forced update at the
      right places due to the cached nature now as they access internals bypassing
      the automatic updates.

commit 8c318650ec230fdda3b798297d3d0a0d7b7c3776
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 20 15:28:33 2011 +0100

    Added new class LinkedCellArrayCache that performs the lazy updates on a LinkedCellArray.
    
    - basically, we cache all write operations and perform them first when there
      is a read operation that requires an up-to-date structure.
    - we cannot do this via the Cacheable pattern was there we always have a return
      value of the update structure. It is currently unknown how to initialize a
      cached pointer (apart from always checking for this in the update function).

commit e776dc24d230fdf211894710f74ffba42667f5e0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 20 12:50:48 2011 +0100

    Added internal classes Update and changeModel to LinkedCell_Model.
    
    - this are not yet used.
    - Update contains a single update operation associated to a node.
    - changeModel contains a map of all due updates.

commit cf6530fb17aed9982c010170c14317e052722592
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 20 11:40:23 2011 +0100

    Implemented LinkedCell_Model::moveNode_internal().
    
    - updated unit test as well.

commit a5b2b6b0760713e75c784f4ffe6c347e206b2359
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 20 11:39:44 2011 +0100

    Simplified LinkedCell_Model::deleteNode_internal().
    
    - this is possbile due to making argument of update function always const.

commit db89600810e8e7e4f9a3b70c23556f264f49cdb6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 20 11:25:43 2011 +0100

    Shifted functionality of adding, moving, and deleting nodes to internal functions.
    
    - internal functions are so far short-wired to outside.
    - this is preparatory for caching changes (lazy evaluation).

commit bbab877acee03ce45c24d618b44ae969011e5e45
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 22:57:06 2011 +0100

    Added test for new descriptor AtomsWithinDistanceOf to AtomDescriptorUnitTest.
    
    - in AtomDescriptorTest::AtomsWithinDistanceOfTest(): ids must not necessarily
      be in order, added functions that make comparison based on simple N^2 search
      and helper functions.

commit 7afb7733a1431bbb839abcfc5b1dd0d143dba39b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 19:34:15 2011 +0100

    Added AtomsWithinDistanceOf descriptor.
    
    - this is basically just a nice interface to LinkedCell_View which is used
      internally to find the atoms.

commit 4834f4bc1360623d2ad20e7dab653447280b63b3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 18:11:22 2011 +0100

    World now has a LinkedCell_Controller and function getLinkedCell().
    
    - we give World's atoms as param to LinkedCell_Controller::getView(), i.e.
      obtained views from getView() now contains all atoms (and are not empty).

commit 53d894c34a1a8ff0f2e679e04918aa717133bfd4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 22:50:54 2011 +0100

    Changed LinkedCell_Model::getNeighborhoodBounds() and LinkedCell_View::getAllNeighbors().
    
    - NeighborhoodBounds are now index and offset style, not two real bounds
      anymore. This way we were able to get getAllNeighbors() actually working.
    - getNeighborhoodBounds() was overloaded nonsense for Bounce case, it is now
      much simpler: we just crop the interval at the boundary.

commit c806430dd9192196eecf5a8e808273f583a12492
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 22:49:53 2011 +0100

    LinkedCell_Controller::getView() now needs a PointCloud set.
    
    - this will allow the World to initialise new LinkedCell_Model, which at the
      very start first need to know about all presents atoms in the World.

commit 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 22:38:50 2011 +0100

    Refactored typedef tripleIndex into own structure.
    
    - we need the struct to accomodate some helpful operators.

commit c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 22:48:15 2011 +0100

    Small fixes to LinkedCell_ViewUnitTest.

commit b49568059bb63eb10a31cce9ac87e75d9a32c8e6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 19:09:49 2011 +0100

    Added new descriptor AtomOfMolecule.
    
    - also added new unit test function.

commit d7853188762dba95151f1e69c42148748e218394
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 18:02:23 2011 +0100

    Library LinkedCell_refactored is now contained in lib LinkedCell.

commit 6bd7e05ae215210d42ef6cb22768847bee2ce5da
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 17:46:11 2011 +0100

    Renamed old LinkedCell class to LinkedCell_deprecated.
    
    - this is preparatory for a smooth transition to the new implementation.
    - note that class LinkedCell and namespace LinkedCell bite each other so far.

commit f55ae56e4b38350f4245571086191b0a40f6e956
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 17:18:25 2011 +0100

    Implemented LinkedCell_Model::recieveNotification().
    
    - i.e. it now calls addNode(), deleteNode(), and moveNode() on the appropriate
      notification.

commit 02987071e3d38c873d62de7816c0f4d69216d14c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 17:17:02 2011 +0100

    FIX: LinkedCell and LinkedCell_Model now store _const_ TesselPoint ref in their lists and maps.
    
    - this mainly stemmed from changing LinkedCell_Model::addNode() and is required
      as World's lastChanged is a const ref (and we do not need to changed the
      object itself anyway, we are only bookkeeping!).

commit 402f2c95de22204c80eb8263dcae72f384eae68c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 17:00:11 2011 +0100

    LinkedCell_Model now signOn/Off to World and AtomObserver.

commit 97c25501cdca20b601f0fa7b5f1e7524cf194d1e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 15:12:54 2011 +0100

    Added unit test for AtomObserver.
    
    - added position and element channels from AtomObservable to AtomObserver.
    - NOTE: AtomObserver does not relay general update() calls.

commit 5dfabdae3cbf78f772003f96b321468cd321f7eb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 30 17:32:43 2011 +0100

    Added singleton class AtomObserver that acts as relay station to all atom changes.
    
    - uses Relay pattern.
    - is called in World::createAtom() to signOn on time.
    - update() relays the update call on to true observer.

commit 2614e2a00e7cda71401ccb728478c22e406f12a3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 30 14:10:23 2011 +0100

    LinkedCell_Model now inherits Observer.
    
    - implemented facade for the three Observer-required functions, also adapted
      stub.
    - next we need to have the World observe each atom and give Notifications
      about it. Then, we add each model to this channel and implement the update.

commit fe82539bed03ef657b7febd017e0b3a949cda365
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 30 11:26:35 2011 +0100

    Added first reasonable heuristic, and added required implementation for Controller.
    
    - LinkedCell_Controller::getBestModel() nows contains some more advanced
      heuristics.
    - extended unit test on all of the added parts.

commit 9a5649c1cc4ae0e855f0ee7842ecd59dbafeacee
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 29 11:15:32 2011 +0100

    LinkedCell_ControllerUnitTest only depends on stubs now.
    
    - i.e. we do not link against convenience libMolecuilderLinkedCell_Refactored
      anymore.

commit fea945d620239c90af4f79b6ad78cde77e453de4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 16:07:38 2011 +0100

    Added simple implementation for LinkedCell_Controller.
    
    - getBestModel() contains the (non-working) heuristic stub.
    - getView() calls getBestModel() to obtain current best model or creates a new
      one and returns the view of this model.
    - added unit test that does not yet test any functionality.

commit 6b91e6417f39a42bdd14fb1186aea6a23e51aa9a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 29 10:20:04 2011 +0100

    Added convenience library for files of new LinkedCell implementation.
    
    - is used with unit tests only so far.
    - name is temporary to vaid class with present convenience library.
    
    - Temporarily added libMolecuilderLinkedCell_refactored to ALLLIBS for
      TestRunner. This is changed when we swap the now two LinkedCell libraries.

commit c379f9430a4c84b4863188025cd84941b7267e40
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 29 10:17:23 2011 +0100

    Extracted defines for unit tests and placed into extra header file for re-use.

commit 5344e4935985c68c502a7e1e2e936a0ac622ef57
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 09:11:57 2011 +0100

    Added implementation of linked cell view part with high-level functions.
    
    - LinkedCell_View has nearest neighbor functionality.

commit d8296152e374a74c483120eb411121989ba27a98
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 09:50:26 2011 +0100

    Added implementation of linked cell model part using LinkedCell.
    
    - setPartition() sets Partition trafo and defines array bounds Dimensions.
    - addNode() and deleteNode() are working.
    - getStep() returns the number of neighbor shells needed.
    - getSize() returns array size for a given dimension.
    - getIndexToVector() returns index to LinkedCell for a given position.
    - checkArrayBounds() and applyBoundaryConditions() check and apply domain's
      boundary conditions.
    - getNeighborhoodBounds() returns lower and upper bounds to get through all
      LinkedCell's and gather neighbors.
    - each is unit tested.

commit 02ce363b06a8f5ac471e055cfd494a84e197010f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 2 13:57:32 2012 +0100

    We now require CodePatterns 1.2.0.
    
    - this is due to the updated Observer structure and multi_array MemDebug
      bugfix.

commit b3fb31e61f105f4d48d1543c58f2727b4742bf2d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 29 10:25:38 2011 +0100

    Added MAX_LINKEDCELLNODES enum to types.hpp.

commit 71d81a4beedb94e61ac57a62dfd6e640ce50f1ee
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 14:22:33 2011 +0100

    FIX: Box::Box did not initialize Conditions_t with RealSpaceMatrix argument.

commit 95422c13513e471b244d90385e0888e332e5fbde
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 18 09:50:05 2011 +0100

    FIX: LinkedCell/types.hpp now uses NDIM instead of 3.

commit 794bc8a63dc9704a2721bae96fbed047481b255a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 17 13:01:09 2011 +0100

    Added LinkedCell as commodity class around LinkedList.
    
    - LinkedList is the container of all points in the cell.
    - LinkedCell additionally stores the index to the linked cell structure.
    - addPoint() and deletePoint() functions.
    - added unit test.

commit df9cbdd687c3bb66560705c8a9ed2c0930d1c1be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 17 12:53:43 2011 +0100

    Added documentation on how refactored linked cell structure is supposed to work.

commit 6f0841afb57916ffe2e660310f1ff1062d59144a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 15 15:58:11 2011 +0100

    Shifted all modules related to atoms into own subfolder src/Atom/
    
    - also created own convenience library for this. This makes unit testing on
      list containing TesselPoint or atom a lot easier.
    - shifted TesselPoint to src/Atom from src/Tesselation and adapted include's.

commit 91f5923f3b692613cf8dacb735a1502afa9471e8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 15 15:15:25 2011 +0100

    Added own convenience library for LinkedCell construct.

commit aa6c750e6eb1613052133fde2c7fc67bee85b55c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 15 12:31:56 2011 +0100

    Removed some unnecessary LinkedCell.hpp include's.

commit 53c7fc2e5e8198eaf2ef2d962e2e7c72910e48ae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 14 17:29:50 2011 +0100

    Moved linkedcell.[ch]pp and related files to folder src/LinkedCell.
    
    - adapted all #include's.
    - also sorted includes of modified files.

commit 3e4fb6fae7d3dcc8e46ee174d7b9a70a995ac178
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 23 15:48:37 2011 +0100

    Added template class IdPool used by World to manage defragmentable id pool.
    
    - this is stuff from World factored into own class (was doubly present in World
      anyway).
    - added short documentation to constructs/world.

commit 401f9015681e7b504bce7c3914a00d118029c739
Merge: f9b967b adb5cda
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 28 16:27:15 2011 +0100

    Merge branch 'Removing_molecule_atomSet' into Merge_molecule_atomSet_removal
    
    Conflicts:
    	src/molecule_geometry.cpp
    
    - molecule::CenterInBox(): don't use BOOST_FOREACH but new transform_iterators.

commit adb5cda5be52f4f5d63932b345da97b6eade88fd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 23 16:17:07 2011 +0100

    Removed typedef molecule::atomSet and some commented-out, deprecated sections.
    
    - required changes to LinearInterpolationBetweenSteps,
      MinimiseConstrainedPotential, MinimiseConstrainedPotential, and
      VerletForceIntegration.
    - replaced molecule::atomset by World::AtomComposite.

commit afa9d887de1bca80ec730fa5fb5804363c05a126
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 23 12:06:05 2011 +0100

    TESTFIX: Fixed regression tests Molecules/BondFile and Tesselation/BigNonConvex again.
    
    - Molecules/BondFile: replaced result file with new one as the only difference
      are interchanged ids (and the new ones are more sensible anyway).
    - Tesselation/BigNonConvex: same here for the same reason.
    - removed XFAILs from both.

commit 59fff1699458425079bb0a93f0c33d6ce50aae7d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 23 11:09:37 2011 +0100

    Replaced the molecule::const_iterator by a true const version of the transform_iterator.
    
    - lots of places used const_iterator where it made no sense, atom some others
      one could have sensibly done so but details prevented it, e.g.
      - FormatParserStorage::save() requires vector<atom*> not const atom *,
      - Boundaries (and most of Tesselation for that) requires atom *, not
        const atom *.
    - Added new function molecule::isInMolecule() to check whether atomic id is in
      molecule::atomIds.
    - Added const version of atom::GetTrueFather().

commit 30c7536948400224f2fc3e945a95099d12c23b3a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 14:14:16 2011 +0100

    Removed atomSet atoms in class molecule and replaced by a boost::transform_iterator.
    
    - atoms causes us a O(N^2) complexity due to having to remove atoms from this
      linearized vector (in O(N) not O(log N) as for the atomIds.
    - marked Molecules/BondFile and Tesselation/BigNonConvex as XFAIL due to
      interchanged ids.
    - thanks to Jan Hamaekers for pointing this out.
    
    - NOTE: so far we have not specialized molecule::const_iterator, it simply
      points to molecule::iterator.

commit f9b967b72e4892fd47c07969c3776b47bf7f6616
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 14:38:35 2011 +0100

    FIX: Removed unique()'ing usedFields call in each FormatParser< tremolo >::saveLine().

commit 89a31dfea6d23ffd5380305f11ed7d1ae35a4a7e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 14:39:23 2011 +0100

    Enhanced verbosity of FormatParser< tremolo >::readAtomDataLine().

commit f99714d367d279ee28493384986f2e0cf9b2efe7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 21 16:01:47 2011 +0100

    FIX: Finally correctly implemented all --enable-... switches in configure.
    
    - The principle is: AC_ARG_ENABLE([option], [help], [if present], [if not present]).
      In the last we set the default value of our own variable (e.g. enable_...="no"),
      in the last but one we simply set enable_...=$enableval to get the value from the
      command line.
    - also I used AS_IF everywhere in checking the enable_... value.

commit f2330310e8573c71b1ee3edbcb06336e2a361a3a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 13:55:28 2011 +0100

    Small fixes to FormatParser< tremolo >::parseKnownTypes() to give more specific error messages.
    
    - also placed info about cleared usedFields in LOG() call.

commit d103d335f1f411ee26c2568846556af546c71b43
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 15:31:30 2011 +0100

    Added additional check in CodeCheck's project disclaimer for current year in copyright.
    
    - had to modify all .cpp files to update to 2011.

commit 908dc743816b2e8b11f5297f04644e47e0d110d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 22 13:52:15 2011 +0100

    FIX: molecule::CenterInBox() made noise on std::cout, banned to LOG.

commit abae35016291f010810eaac8320b7bd3c1e4cf37
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 19 15:24:56 2011 +0100

    Added CodeCheck on presence of project disclaimer in all .cpp files.
    
    - added disclaimer to missing in Thermostats/*.cpp and MenuInterface.cpp.

commit 6108fde5a8886068ae30de0826b737d61fb539fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 09:13:29 2011 +0100

    FIX: Added missing CodePatterns libs to Element's unit tests.

commit bab4f9764a30714f8588b029fa96ea36b46e6b5e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 21 09:12:52 2011 +0100

    FIX: Setting up and purging ActionRegistry instance in ActionRegistryTest.

commit 7bace8c6a0fc5f316d62ec82ddff0efda879896b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 11 21:06:48 2011 +0100

    FIX: LinearAlgebra's testrunner was not linked against boost serialization.

commit db1a72013fea41fc1ac6c55b5d884661f6460d22
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 11 13:30:10 2011 +0100

    FIX: Corrected check for gsl's blas requirement.

commit c015b3946b9bb714ae6740f4fbfd3378234a0404
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 11 13:16:24 2011 +0100

    Added enable-switches for Qt-based GUI and python module and scripts.
    
    - note that encapsulation in AS_IF is absolutely required as otherwise
      lateron checks will produce strange errors as required checks reside
      in an unseen if ..; then branch, initiated by AC_PROG() ... or other
      contained macros.
    - Added AM_CONDITIIONAL's to modify Makefile.ams depending on above enable
      switches.
    - AM_COND_IF controls whether certain Makefile's are produced or not.
    - moved Python regression tests into own folder to control whether they
      are executed or not.
    - molecuildergui and libMolecuilderQtUI are only compiled with qtgui
      enabled.
    - same for pyMoleCuilder and its scripts only when python enabled.

commit f3b8a5e4ed78b89055bacdcab557b7887840b6a3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 11 13:12:50 2011 +0100

    Changed enable switches in configure.ac.
    
    - with-valgrind is protected by AS_IF now.
    - corrected AC_MESSAGE for debug and cache.

commit e06010a270e33777c1171131b7a376f7f344b5d5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 11 10:55:47 2011 +0100

    FIX: Added missing ax_python.m4, added support for 2.7.
    
    - added python2.7 to the loop.

commit b136f6cb6115f5aa5fd5e6ccb908c72f030b84f4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 29 10:16:30 2011 +0100

    FIX: Added Assert_Do to linkedcellUnitTest.

commit 68c92366449b96cba16e719bf1bc16ca92f66370
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 29 09:22:26 2011 +0100

    Lots of small compiler warning fixes.
    
    Issues:
    - non-virtual destructor despite virtual functions.
    - unused variables.
    - no break at end of switch case.
    - no value returned.

commit de29ad6ec3f6c4826f398de6a82efb8324c26e79
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 28 15:58:52 2011 +0100

    Some optimization to speed up Subgraph dissections.
    
    - Replaced std::list by std::vector in VectorSet<>::minDistSquared() and
      Box::internal_explode() as it caused lots of dynamic allocation. This
      has been the main cause of the slowdown of Box::internal_explode().
    - Box has internalized vector<int>s coords and index of internal_explode() to
      avoid dynamic allocation for them as well. This is worth it as it has a
      heavily used function.
    - Made Box internal_list non-static. There is only one box anyway.
    - changes caused in BoxUnitTest and Box cstor's and dstor.
    - speedup of Subgraph
    
    - enhanced verbosity of BondGraph::CreateAdjacency().

commit bde4a64a31e3c0f73726198e3b7737797d60a1b2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 7 20:30:03 2011 +0100

    Set version to 1.2.0
    
    - Molecuilder library is now 6:0:0.
    
    - Codename "Zwoelf" (German word for the number 12 which has too many meanings
      to listen them here)

commit 936a02c90039dcc86f22c9ccd060237b13b9ca81
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 10 15:57:21 2011 +0100

    Creating data dir for bondtables, databases, and molecules.
    
    - Moved .db files from src/Element to data/databases.
    - Added bondtable.dat from VSpeShape (kudos Christian Neuen) to data/bondtables
      as an initial bond table from geometry optimization of bielemental systems.
    - Added some abitrary molecules to data/molecules.
    - Added src/documentation/data.dox to explain purpose of the folder.

commit 1a041f358530099250e51de113626e46dc482001
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 10 12:22:18 2011 +0100

    DOCU: added documentation on how to debug the code.

commit 04e1fb9b749ae4d67250fddbb3bef9aa9a16e259
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 10 11:20:20 2011 +0100

    Added rules to utils/Makefile.am such that python script can be called directly.
    
    - this is heavily inspired from
      http://blog.couchbase.com/installing-python-scripts-automake, which is only
      adapted to the usage of pyexecdir and having all variables set by autoconf.

commit 938ffdd39e9b351741dc5a305c9834cbf97a3cd9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 10 11:06:48 2011 +0100

    Added Makefile to utils to install python scripts.

commit 0d571d7276ebe9c1a1773e4b2150ee012778f1b4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 9 15:19:29 2011 +0100

    DISTCHECKFIX: Forgot to set write permissions for new ec.data test files in RepeatBox regression test.

commit a55be103100d6fcff0fe7045017f879437f76d8f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 9 11:43:42 2011 +0100

    DISTCHECKFIX: testsuite does not depends on run scripts.
    
    - Python/run is similarly not a dependency as the molecuilder, joiner, ...
      scripts as they are created by configure and not automake.

commit 12facf18b09b4648333e0fe89c03343bc34892d3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 8 09:11:47 2011 +0100

    Removed now obsolete Pythontest including regression test.
    
    - as pyMoleCuilder is now fully working (and the obtrusive bug is fixed), we
      do not need this test case anymore.

commit dd0f1b1e1a9125755de73d4edd0d787f21f7d5c6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 8 12:44:05 2011 +0100

    DISTCHECKFIX: Added AllActionPython.hpp and AllActionHeaders.hpp to exception for config_h code check.
    
    - these are generated for the archive and present there, hence need to be
      excluded.

commit 48d3c04f127648994f9bb992902f82fdf27e06e4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 8 09:09:35 2011 +0100

    DISTCHECKFIX: Added some missing header files in src/Actions.
    
    - some of the new python files were not in ...HEADERS.

commit 4269cad0335489e8765429362c6500291a09f3e2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 7 17:57:31 2011 +0100

    FIX: Some Qt includes were not style-consistent.

commit 5dfeeb2b4133f0bc8c5526397e89e3306f10a2ff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 7 11:08:22 2011 +0100

    DISTCHECKFIX: Added forgotten Doxyfile to EXTRA_DIST.

commit 24da485f43375167b5cf182eca27274ba36aeb39
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 16:40:53 2011 +0100

    DISTCHECKFIX: Added missing ActionTraits.hpp to src/Actions/Makefile.am.

commit c1ab1f524dcd3aeba2c82df3d7b694dfdf21e70f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 16:15:33 2011 +0100

    DISTCHECKFIX: Added all Reaction...hpp to src/Actions/Makefile.am.

commit ed300063c90aa3e4eafcdc71806fd77a7c690f40
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 16:10:46 2011 +0100

    DISTCHECKFIX: Removed bnv_have_qt.m4 from EXTRA_DIST.

commit e85bf295d447e86bfa5bd02fdb4a1e7e30386f3c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 3 20:18:24 2011 +0100

    Added code check test whether every .def's Action is listed in GlobalListOfActions.hpp.

commit 5ab79642b2ba78c42f87eb801b807a6eb32d0770
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 3 17:09:37 2011 +0100

    Added regression test on whether all options in the python module are known with a default value.
    
    - i.e. options.dat is complete and contains a value for each required option in
      Python/AllActions test.
    - added a few missing options to options.dat (thx test).

commit f894fe4b6a17e5e13a9d4c6a8a91562a6565cfb5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 02:17:53 2011 +0100

    Changed GetSourceMolareMass() and GetSourceBBabs() of boxmaker.py.
    
    - now all is done in a single molecuilder run, there are no more temporary
      files.
    - also renamed UpdateSource -> InitialiseSource.

commit f89b45ee33bbea1e1d6d5257495f6e87aeb29aeb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 02:13:59 2011 +0100

    Added Reaction CalculateBoundingBoxAction.
    
    - calculate bounding box via Box::getBoundingPlanes() of the current domain.
    - also added regression test Analysis/CalculateBoundingBox.
    
    exporting std::vector<double> as return value.
    - had to add trick with exporting std::vector<double> to python with help from
      stackoverflow("does boost python support a function returning a vector, by
      ref or value?") answer. We construct a vec_item template class which exports
      getter/setter, append, ... functionality to python.
    - This ends in typedef doubleVec in namespace MoleCuilder::PythonTypes, while
      within the Reaction its just a typedef defined in the .def file.
    - this type had to be prefix with PythonType_ to make it distinguishable from
      the functions in dir(mol) for Python/AllActions regression test.
    - TESTFIX: Also we modified Python/AllActions regression test to go in a loop
      over each command, thus stdout and stderr can be uniquely associated to the
      very command that caused them. This makes debugging a lot easier ... for
      this purpose the dir(mol) and filtering was placed into new listcmds.py.

commit 55f299a96cda2fac6f625bb867138422ecaec949
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 01:07:42 2011 +0100

    Added Reaction CalculateMolarMassAction.
    
    - calculate molar mass (atomicmassunits) of selected atoms.
    - also added regression test Analysis/CalculateMolarMass.

commit 6c61a977646015caffe230700aebdc01790a832d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 00:53:12 2011 +0100

    Added regression test for boxmaker.py.

commit 2aa9eff5378f2eadd12d48e3d6915fb4c37291a5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 00:53:28 2011 +0100

    UpdateSource function of boxmaker.py is not an external call to molecuilder anymore.
    
    - this is unusable in a test and was contradictory to the intention of a
      script. As now we may safely reinit() the pyMoleCuilder module, we may use
      it to do the same as the external call did.

commit dfef3fc238df9e0ba66db8ecc94dad83474bf43f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 00:27:34 2011 +0100

    FIX: empty states Action::success and ::failure are now managed by ActionHistory.
    
    - the python function reinit() runs into trouble because the static entities
      Action::success and ::failure are missing after a reinit() causing a
      std::exception to be thrown. Now we manage the static state instances via
      ActionHistory cstor and dstor. As ActionHistory::init() must be called before
      any action is called, this should always work well.
    - added static function Action::createStaticStateEntities().

commit d628da29ae70d201baafa642587e70d7cecb50d1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 1 23:29:39 2011 +0100

    Added docstring also to python exported functions without any parameters.
    
    - actually the trick is to not give a std::string but just "...", probably
      there is some magic involved that can not deal with real instances but
      just with const values or something ...

commit 567357327df58f213deda25db79a4a8e493bf567
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 1 23:28:03 2011 +0100

    FIX: cleanUp() replaced by module_reinit() and .._exit() in pyMoleCuilder.
    
    - this causes ostream to be set with FormatParserStorage and hence files to be
      correctly written.
    - module_reinit() is python exported as "reinit". This allows for reuse of the
      module.
    - both module_... reside in namespace MoleCuilder::detail.
    - ..._reinit() does not use cleanUp() but only purgeStaticInstances().

commit b5d38d24f005e657e47a9754b47a4696cb55a7ff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 1 23:27:22 2011 +0100

    Moved dumpMemory() and saveAll() from module builder_init to cleanUp.

commit bcfb774f1eae99eb4252d4bb7fe6ad4d414c73db
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 15:50:55 2011 +0200

    Added correct shebang to boxmaker.py.
    
    - also configure fills in @PYTHON at .

commit 239cc57faea9ab4ff23fdb44d3f06eb29ed9d550
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Thu Oct 20 15:23:48 2011 +0200

    Didn't save the file -.-"

commit bfbb62f5982807ebb366202d009e31e5c9e97c0c
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Thu Oct 20 15:22:08 2011 +0200

    Final version 1.0
    
    - Added shebang line
    - Added short file describtion and author information

commit c0c85f8b81b5784166c5b2636636807351221f02
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Thu Oct 20 15:16:38 2011 +0200

    Restructured Code
    
    - temp_source.xyz is created only once
    - boolean mapping with dict rather than if-tree

commit b82ededdc872491af61799929b45ad2c39327723
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Wed Oct 19 17:32:48 2011 +0200

    Very basic documentation on how to use boxmaker

commit 0ad49ccf93fe4367fe5e4e10f98aad9303587ad9
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Wed Oct 19 16:39:35 2011 +0200

    Update: Automatic mass calculation
    
    Also:
     - Shortcut for every option

commit 39cbae38d744fa579f22dba076be3334081b2dc3
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Wed Oct 19 13:30:16 2011 +0200

    Update: Unit handling
    
    - temp might have a dimension now
    - Leading "!" skips processing by tool 'units' so already converted numbers can be used without specifying 'autodim off' resp. '-autodim'.
    - Scaling factor in unit-dictionary is float now, proper typing is GOOD.

commit 751d7f1c304a7154fd9d5204d25d894f4d292c74
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Wed Oct 19 13:18:08 2011 +0200

    Update: Shortcuts for common Parameters

commit 32bc47763858bb01bae893adc080489b7158d448
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Mon Oct 17 14:08:19 2011 +0200

    Update: autorotate
    
    Not tested yet, but it seems like it does *something* (means: paths etc. are correctly handled).

commit 0c83d84852b4a347a220986437c3548d9f81ee7b
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Mon Oct 17 13:03:12 2011 +0200

    Less ugly advanced version
    
    - Class (struct) based global options
    - Minor bugfixes
    - Feature: Cubic cell
    - Feature: Skip unit conversion
    - Feature: Options via cmd line
    - Feature: More settings
    
    TODO:
    - Output postprocessing (INPUTCONVs)
    - Auto-rotate to minimum BBox
    - Documentation

commit 5735ba6c7b20b862fee585bf210001884dd525f6
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Wed Oct 12 18:14:13 2011 +0200

    Ugly base version of boxmaker.py
    
    TODO:
    - stability fixes
    - command parameters
    - bbox optimization
    - default parameters

commit 54088ade157ccd5da09d83809d019879eb18bca1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 12:51:04 2011 +0200

    Added first Reaction named CalculateCellVolumeAction.
    
    - this sets the internal result to the volume of the current domain.
    - the result is return, when the wrapper function is called in python.
    - added regression tests Python/ReturnValueActions and
      Analysis/CalculateCellVolume.

commit 6aa48530ab21a608d169e9bd28ff31e047c23a15
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 12:49:22 2011 +0200

    Actions exported to Python may contain a returntype.
    
    - returntype is set in .def file, if none given void is assumed.

commit 15408592ea2fab27dfbc10cc6f5b99cae3244c89
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 12:47:12 2011 +0200

    Added Reaction as Action with a return value.
    
    - this is derived from Calculation, only that it is not a Process but a simpler
      Action.
    - A Reaction cannot be undone and sets an internal result.

commit 874597dc61c72b0d2831c2aabdfbcb6a2a92fa4f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 12:50:36 2011 +0200

    FIX: some defines were forgotten to be undefined in Action_impl_python.hpp.

commit 9d613feab4e07d3a202706642be753fe3532e1b3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 10 16:18:16 2011 +0200

    FIX: RepeatBoxAction did not use CopyMolecule() but copied by hand. Kudos: Gregor Bollerhey.
    
    - this causes trouble with FormatParsers such as Tremolo... who have internally
      additional information stored.
    - extended regression tests Domain/RepeatBox with a test of a repeated
      .data file with "special" element names.
    
    Kudos to Gregor Bollerhey for finding this bug.

commit f27fa7663d7fbd32d91ed4b31bbb2d9443cd7ba7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 10 16:17:32 2011 +0200

    TESTFIX: Added test whether calling not present command truely fails.
    
    - exit code from python is 1.

commit cbb32d6cb47d22cd8f7f67d1c9c85099ca08ab67
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 10 16:06:58 2011 +0200

    Small cosmetical changes to moltest.py.
    
    - We now use Popen to call an external process and check on its return code.
      If an Action fails with an internal Assertion(134), then the command is still
      considered as available. We are only interested in failures of the python
      interpreter.
    - changed the output a bit. Each Command is now embraced by BEGIN and END,
      stdout and stderr are given separately but per command.
    - removed XFAIL from regression test Python/AllActions.

commit 3493da80dddd81670d46f553e8f9eee1d6e3e762
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 14:12:35 2011 +0200

    Gathered default values for each action and wrote regression test that uses moltest.py.
    
    - options gathered by script getPossibleOptions.sh in file options.dat.
      missing.dat contains all currently available action and option tokens for
      easier retrieval of possible default values.
    - new regression test Python/AllActions that tests callability/presence of all
      Actions. This test is so far marked as XFAIL.
    - Note that default values in options.dat have slightly different format as
      they are directly stored in ValueStorage by COMMAND() call and do not go
      through CommandLineParser, e.g. domain is upper now lower diagonal matrix
      and vectors are space-, note comma-separated.

commit 6ca7b9fa2e55525a9e8ae30efd5cf902378adb63
Author: Gregor Bollerhey <bollerhe at ins.uni-bonn.de>
Date:   Thu Oct 6 14:11:53 2011 +0200

    Wrote python script to gather all functions in a pyMoleCuilder module and test them.

commit 3139b207b75597cf0c7353033c5d2be2cfbcb0ae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 15:38:55 2011 +0200

    Renamed ActionTrait and ActionTraits.
    
    - the specialized Trait contains multiple OptionTraits, hence is now called
      ActionTrait_s_, where its base class (that just has the OptionTrait for
      itself) is called ActionTrait.
    - This caused many changes in other Action related files.

commit c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 15:09:24 2011 +0200

    Added commented-out stuff for a extra libMolecuilderActionPython.la.
    
    - this library would contain each COMMAND() export in a single module and thus
      speed up the compilation when required.

commit 9499532892bd8d49658849069d442402314d3a4b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 14:59:25 2011 +0200

    pyMoleCuilder now has full functionality.
    
    - For each header file there is a COMMAND_stringargs() function defined.
    - boost python module exports all Action's COMMAND_stringargs() that are
      present in GlobalListOfActions.hpp.
    - new source file AllActionPython.hpp is created in Actions/Makefile.am that
      enlists all the headers.
    - New implemenations:
      - Action_impl_python.hpp: defines COMMAND_stringargs() via some boost::
        preprocessor magic.
      - Action_impl_undef.hpp: contains undefs to the Action's .def files.
    - also docstrings are working, both for module and for each exported function.
    - so far, all arguments have a (in NODEFAULT case empty) default value. This
      is because we cannot perform string comparisons with the preprocessor only
      numeric ones (i.e. NODEFAULT would have to be 0 or alike).
    
    - Extracted cleanUp() from builder_init.cpp and placed into own module.
    - cleanUp() is now also registered atexit() for pyMoleCuilder where it is
      needed as well.
    - AddStaticEntitiestoIgnoreList() has likewise been extracted.

commit 0712434880db2974e2088075ea714dc43b8900e6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 14:45:13 2011 +0200

    Enhanced tiny example to resemble action structure.
    
    - Pythontest now also works via a true ActionRegistry along with Actions and
      "Atrait" and "Otrait".
    - this was done to understand runtime (glibc corruption) errors in the full
      pyMoleCuilder module). However, fault was due to forgotten inclusion of
      CodePatterns library.
    - In the end, we have an Action that contains the wrapped greet function in
      a likewise static manner as COMMAND().

commit 88ba1f95ffea4dff3ac2b0232d8c51420c94f222
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 14:40:56 2011 +0200

    Added Action's COMMAND_stringargs() function call.
    
    - also added ValueStorage::setCurrentValueByString() which gets type only via
      template specialization but whose argument is always of type string.
    - this allows to call the Action with string arguments only.
    - We need this for the (lazy) python exporting where no internal classes such
      as BoxVector are exposed to the python outside.

commit ddde10806358ff0435053ab29908ef726307ffa1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 14:40:05 2011 +0200

    FIX: In Action's COMMAND() we don't need a params instance.

commit 6a2dae6b1981184635d1c474f4ac46456c875e32
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 14:34:23 2011 +0200

    Corrected indenting in ActionTrait<>s cstor.

commit 05736a7a4c0757f4fa2692f61529114df82fbc3a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 14:29:05 2011 +0200

    Simplified Action's COMMAND() definition a bit.

commit d41313dc0509282e66f0868a09e6a611856991a0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 13:16:53 2011 +0200

    Added output operators for both ActionTraits and OptionTrait.

commit dad802e0e6e39672b0c30ed680b5553146da8906
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 13:12:35 2011 +0200

    Modified ActionTraits' and OptionTrait's cstor and dstor slightly.
    
    - this is mostly debugging stuff and does not change anything.

commit 83e90c5ba27374b18c88dac99eccef2300119c69
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:56:31 2011 +0200

    New function ActionRegistry::fillRegistry() fills instead of static instances.
    
    - this replaces the static instances of each Action in Action_impl_pre.hpp.
    - we use a file that has to list all present actions, GlobalListOfActions.hpp,
      as it is not possible to build such a list with the preprocessor from all
      include files and use it afterwards, as e.g. the define COMMAND only has a
      _local_ meaning inside the include but the sequence of actions must be built
      up from _global_ ones.
    - Actions/Makefile.am: creates AllActionHeaders.hpp out of this list of present
      actions.
    - specialized Actions do not register themselves anymore.

commit aee2dabfffde9df5844f0967184afb9f4888bc87
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 15:04:21 2011 +0200

    Added BUILT_SOURCES as appendable variable in various Makefile.am's.

commit cb85f24c65f5b7e2949f048923157232b2968421
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 26 15:11:33 2011 +0200

    Removed using namespace MoleCuilder from TxMenuLeaveAction.
    
    - due to includes this re-appeared at some other places, too.

commit 693a80ce2c6b4945f8d87d19e25048dcc3c12bdf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:51:12 2011 +0200

    Added pyMoleCuilder as python module with single exported function CommandHelp.
    
    - this is working so far only for this single Action.
    - Note that we search high and wide for a memory leak (glibc corruption /
      double free) caused by the forgotten CodePatterns library (which contains
      a overwritten new operator by MemDebug).

commit a02f78efd40bac7cd313cfb7b23877d1db334b4d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:48:59 2011 +0200

    FIX: Undefined preprocessor macro functions in Action_impl_....hpp.
    
    - this allows for multiple inclusion of specific Action headers when one wants
      to use the COMMAND's.

commit d470a6c39e34e4b9b5519bea831d792d49997812
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:47:18 2011 +0200

    Moved regression test on little test module Pythontest into subfolder.
    
    - also test is now in own test file .at that is just included in main Python
      folder.

commit b4e6b490cbef1b6934755e6f5c13a7e46602828c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:45:00 2011 +0200

    Added note that we really may use the address of a type_info object.
    
    - it is static const, hence always the same address is returned by typeid().

commit 807d91170ae58588000d9d66b2b98bf36218fb73
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:44:09 2011 +0200

    MEMFIX: Virtualized destructors of OptionTrait, ActionTraits and ActionTrait<> templates and specialization.

commit b2217903eb4f697a0eb4e0b6bbcc90cd7b9cc750
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:42:29 2011 +0200

    FIX: Removed OptionTrait's copy constructor as there are no pointers in it.
    
    - With ActionTraits we need it, with OptionTrait we don't.

commit d44d7b99bdaf4f9e06becc21fdd72562f7b27aff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 21 20:40:00 2011 +0200

    Dstor of Action now unregisters itself and its Options in Action- and OptionRegistry.

commit 2d31e15adb589e255571178413b29360fb148592
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 20 17:44:52 2011 +0200

    Python tests are now launched via small script run.in.
    
    - this is taken over from project GetSpot, see
      http://spot.lip6.fr/wiki/GetSpot, such that the test lib does not need to
      be installed.
    - Also libPythontest now is just -module and has non standard library name
      Pythontest.

commit 7150854fe66d2de013c8f0b6c46e3a3158927d58
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 20 17:09:29 2011 +0200

    Simple boost::python test program added.
    
    - we have a function greet() (as featured in the boost::python tutorial)
      exported into a python module libPythontest.so which is test in a separate
      regression test for the working function.

commit 46bba069f32a5e5d0491f639e519790fe58e7fa3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 04:48:11 2011 +0100

    FIX: Removed versioning info from some convenience libraries.

commit 42c9e2b8523492429793bb7da6d7003aa6fe86f7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 04:46:07 2011 +0100

    FIX: getKeys() and getValues() are now simply internal functions of CheckAgainstAdjacencyFile.
    
    - somehow it was not admonished that the templated variants before did access
      private parts of CheckAgainstAdjacencyFile without being friends.

commit 13c969ad686f3d12cdc5bdd93001c93e383c3e24
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 04:38:43 2011 +0100

    FIX: atominfo::getType() does not care whether element exists.
    
    - atoms do temporarily have no element: right after they are created.
      Hence, one has to deal with the returned pointer being null.
    - this fixes a bug with the debug variant of molecuildergui crashing when
      loading a new molecule via WorldInputAction.

commit e5cec4e2cb555c7d4508afa2f6296052dcf2e5ee
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 03:25:00 2011 +0100

    Removed macro bnv_have_qt, replaced by pkg-config info.
    
    - executables are searched via AC_PATH_PROGS in PATH or the one given via
      --with-Qt-bin.

commit 22db89e82efc438f389cf621bf3caa0c33f6b876
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 02:20:28 2011 +0100

    Using new version of CodePatterns 1.1.7.
    
    - m4 macro ax_codepatterns.m4 now uses flags and libs set by boost macro in
      test compile.
    - also now we support boost 1.47.

commit bf33793a0d4ea93c1babd21cadd1d7fc70e7b4ad
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 11:16:36 2011 +0100

    Set version to 1.1.6
    
    - Molecuilder library is now 5:2:0.
    
    - Codename "ununhexium" (atomic number of a so temporarily called element, as
      this release is just an intermediate to upcoming 1.2.0 as well)

commit 4faa3024da62e20851f88698fbb5ec07a146908c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 26 10:33:46 2011 +0200

    FIX: EmptyQtQuery forgot to initialise thisLayout.

commit 3b5fcad4499d84f2710a43fa1bb78943cb664f7e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 15:15:42 2011 +0100

    FIX: joiner, analzer and units lacked appropriate ..._LDFLAGS.
    
    - also added _CXXFLAGS (but should change nothing).
    - fixes bug with elswhere present boost libs.

commit 3995764b4b2e69dd6c57f464bcaaf4a0839eb9c2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 11:59:00 2011 +0100

    DISTCHECKFIX: LinearAlgebra CodeChecks testsuite fails due to doubly included atlocal.

commit 6bdba08a7dca2ce506c7552abbefa9853fb32452
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 10:58:04 2011 +0100

    DISTCHECKFIX: all .dox files are now given as EXTRA_DIST.
    
    - otherwise they are not included in the archive and also the date_dox code
      check fails.

commit d249533a8bc07628856561bbbef1aa20a677cbbc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 10:45:27 2011 +0100

    DISTCHECKFIX: target unity.cpp has no MemDebug.hpp or config.h.
    
    - it is now excluded in the config_h and memdebug code check tests.
    - also removed ancient Helpers/MemDebug.cpp from unity.

commit 262ecc8c14e55d0f7744557f8db358fa4e387df8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Nov 4 09:07:54 2011 +0100

    DISTCHECKFIX: Forgotten .hpp files included.

commit c2808e648134d01905b5a680706cb340fb79319f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 28 12:04:40 2011 +0200

    FormatParser< xyz >::save() now uses numeric_limits<size_t>.

commit ab26c32fce16265ba7563805bf70265de2b4e3fe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 27 17:19:48 2011 +0200

    Moved ThermoStatContainer to folder src/Thermostats.

commit 41a467397fe65de7b369f9989fc26e6e18070f2e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 27 17:08:36 2011 +0200

    LARGE: config class is now just a tiny container.
    
    - this was loooooobg overdue. Config.cpp contained remnants from parsing pcp
      files and much else. Also fragmentation depended on it. Since refactoring
      of MoleculeListClass and the fragmentation, we don't need it anymore.
    - helper functions ParseForParameters(), LoadMolecule() extracted into new
      module PcpParser_helper.
    - config class now just contains 4 variables that are generally required
      (especially IsAngstroem) and they should probably remain with the world.
    - removed some places where config.hpp was no unnecessarily included.
    - Moved ConfigFileBuffer.* over to subfolder src/Parser/ where it rather
      belongs (associated with PcpParser).

commit 47d0416c5a62d6d7eb14391e14c7f3f576fb1673
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 27 13:53:58 2011 +0200

    HUGE: Removed all calls to Log(), eLog(), replaced by LOG() and ELOG().
    
    - Replaced DoLog(.) && (Log() << Verbose(.) << ... << std::endl) by Log(., ...).
    - Replaced Log() << Verbose(.) << .. << by Log(., ...)
    - on multiline used stringstream to generate and message which was finally used
      in LOG(., output.str())
    - there should be no more occurence of Log(). LOG() and ELOG() must be used
      instead.
    - Eventually, this will allow for storing all errors and re-printing them on
      program exit which would be very helpful to ascertain error-free runs for the
      user.

commit 50e4e51ce46632502842371460680414d8693a72
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 27 13:31:25 2011 +0200

    Test target installcheck-local now also runs parallel with up to 4 jobs.
    
    - especially important for distcheck.

commit 862b6aced84cfd7115cc1c86598d01d98e597c01
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 27 11:32:27 2011 +0200

    All Actions are timed now, timings are given on exit.
    
    - Chronos is used for this.
    - new function printTiming() called in cleanUp().

commit 004ae78c93125b8c5ed36354e6ccaf507e1cc290
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 3 16:44:19 2011 +0100

    FIX: Changes to bnv_have_qt.m4 and boost.m4.
    
    - moved search in /opt to very end of list, wherever occurring. /opt is often
      a network drive and hence fails in case of network outtage.
    - bnv_have_qt.m4: Moved Libs in test compile to end, gcc 4.6 is picky and we
      are checking specifically for QtCore, QtGui, and Qt3D libs, not just any.

commit bbff92c91e480a376335ee7ed85901c02fc38965
Merge: 7ba268a f11c23f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 3 11:38:31 2011 +0100

    Merge branch 'Doxygen_Documentation_Enhancement' into mergeMaster

commit f11c23fb087ac6674948e06cc77219f2907614c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 3 11:35:53 2011 +0100

    Added documentation on how to understand the code and its (maybe) future extensions.

commit 1e3265cfdde09115536e60489297dfea655c313f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 26 15:29:33 2010 +0200

    Changed userguide a bit.

commit 7ba268a58e24918f9b4f28cee1e5b542596e56ca
Merge: 13510b7 5837ddd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 3 10:52:29 2011 +0100

    Merge branch 'DipoleAngularCorrelation' into mergeMaster
    
    Conflicts:
    	src/World.cpp
    
    - tiny conflict in World.cpp

commit f281c570d3846adae28ef56f504a320da69c7929
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 2 23:39:55 2011 +0100

    Added .dox check to LinearAlgebra as well and various other test fixes.
    
    - module is now named linearalgebra.
    - installcheck-local too runs parallel.
    - check uses AUTOTEST_PATH.
    - TESTFIX: added missing \date to present .dox files.

commit 5837ddd122c04b048b60eb1c43cd324f37cf1945
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 25 17:37:56 2011 +0200

    Cosmetical fix to PairCorrelation().

commit c3a70d2e1acd8ae14b6afd834b7b50bae96f66e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 21:51:31 2011 +0200

    Added time-step-zero option to dipole-angular-correlation.
    
    - this allows setting t_0 at some later time step than the very first one (and
      thus from an equilibrated moment in time and not the initial one).
    - although there is default value, regression tests use time-step-zero with 0.

commit 870b4b91fe9f0b1046abb0bc933ec99ffab7aed1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 21:50:52 2011 +0200

    Added rejected molecule counting to DipoleAngularCorrelation().

commit a28cc4b8154803677c2110da6e9dfbc65b7bdb0c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 1 20:57:25 2011 +0100

    DOCU: Added python as fourth user interface.

commit 35a88927d82713a677dde8bd7c3df3ce9e9ba429
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 1 20:56:58 2011 +0100

    DOCUFIX: Prefixes all three userinterface labels with userinterfaces-.

commit bc341152538d05a33d83d52d16a02336b620b1f9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 1 20:56:15 2011 +0100

    DOCU: Added some important notes in usual mistakes to serialization.dox.

commit e6c470ccb1b2c074724b8e513510f5f939adc3af
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 31 18:29:04 2011 +0100

    Fixing documentation.
    
    - removed out-dated documentation.
    - removed bugs with doxygen.

commit 39f4c46f89ae322d0db63df2b97dc6bfb003cfe0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 31 18:15:52 2011 +0100

    Added CodeChecks test on whether each of .dox files contains a valid date stamp.
    
    - this is to enforce stating whether information is current or not.

commit 5982c5922d9ec80de77b5dbb7184f7cc879c6eac
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 31 18:15:21 2011 +0100

    FIX: Removed at_local inclusion in nested test scripts and put in into testsuite.at.
    
    - this fixes multiple inclusion warnings.

commit 750cff3758142eb977ca963eb8ede4200620a15e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 31 18:13:52 2011 +0100

    HUGE: Update on documenation.
    
    - a general skeleton of the documentation is now in place with all the major
      components of MoleCuilder explained to some extent.
    - some information has been transfered from TRAC (e.g. install procecure) into
      this doxygen documentation where it is general and not specific to the
      situation at our institute.

commit e658783525483171aa12ab81bf75d42b28dba211
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 18 21:55:05 2011 +0200

    Selection is now done inside DipoleAngularCorrelation.
    
    - as molecules may change over time it makes more sense to select molecules
      internally right now.
    - DipoleAngularCorrelation() now takes Formula instead of std::vector<atom *>.
    - also adjusted const'ness of some parameters.

commit 505d059b8f5c10ec0e270a2fbd0cbe8462d545d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 18:14:56 2011 +0200

    DipoleAngularCorrelation: output now contains name _and position_ of first atom of dipole molecule.
    
    - TESTFIX: Had to change _values...dat files accordingly.

commit 72105aa76e82e63091a7bc60f6846f4866f741ef
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 11:59:00 2011 +0200

    Verbosity fix: DipoleAngularCorrelation() - info given when ZeroVector and atoms sizes mismatch.

commit 99b87a1a736ed1a74a2c329e71072ba1de294522
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 11:57:47 2011 +0200

    DipoleAngularCorrelation() can be told not to reset time to old value.
    
    - this should save some unnecessary re-creation of bond structure when the
      method is used by AnalysisDipoleAngularCorrelationAction::performCall().
    - new enum ResetWorldTime in analysis_correlation.hpp to make reset statement
      in call verbose.

commit a860a19bf886a884948976987e34a1820dac2d8b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 10:50:45 2011 +0200

    TESTFIX: Regression test Analysis/DipoleAngularCorrelation now also checks per time step not over all time steps.
    
    - split up zero change (X) and true change (Y) case of the rotating water
      molecule; otherwise output files get mixed.
    - removed AT_XFAIL_IF from these tests.

commit 13510b793af44e5bc7ff6b3cc7ea35c7ccb86c44
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 27 10:21:32 2011 +0200

    Added regression test for setting Psi3Parser parameter reference.

commit e5ece417206b4e99cde82d66079cfc947e65c7e7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 26 18:23:57 2011 +0200

    Added operator<< to ValueStorage.
    
    - this should ease debugging in case of a "missing" option.

commit 41d023ff8dc20a2b26d06e7c4960972918c6e500
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 26 18:22:33 2011 +0200

    Renamed SetMpqcParametersAction to SetParserParametersAction and generalized.
    
    - now we may set the parameters of basically any parser, so far it's probably
      just mpqc and pis3.
    - changed operator<<(FormatParser_Parameters): no output when value is empty
      string.
    - changed operator>>(FormatParser_Parameters): Asserts were not really making
      sure that value_iter and param_iter were readible.
    - Added regression test on setting psi3 parameters (wfn).

commit 19bc7497091ba44d7d2c52ee7ba0f5997f9f291e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 28 17:05:03 2011 +0200

    Explained most of the tests.

commit 3158e6e7748f2252aa12f1b10e68729ed45ca9fd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 28 11:46:29 2011 +0200

    FIX: FIX: broken variable docdir for DX_INIT_DOXYGEN.

commit a2b0ce4a8778356724acb2bcd662a1df29a49344
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 10:29:57 2011 +0200

    FIX: Filenames are appended with step with fixed width of 4 digits, zero filled.
    
    - FIX: step name preparation placed before.

commit cda81de72ce7ee445f55ec79bd0c6eb340fc1edd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 10:10:27 2011 +0200

    DipoleAngularCorrelation is now calculated per time step not over all time steps combined.
    
    - DipoleAngularCorrelation() gets time step to calculate orientation for.
    - AnalysisDipoleAngularCorrelationAction::performCall() loops over all present
      time steps and calls DipoleAngularCorrelation() for each.
    
    - TESTFIX: Regression tests Analysis/DipoleAngularCorrelation are marked as
      XFAIL until new tests are installed.

commit 9e1709721fb1e279fa7c791bd154ef470bc3d091
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 10:00:14 2011 +0200

    AnalysisDipoleAngularCorrelationAction now calculates zero orientation.
    
    - this is a preparatory step to get DipoleAngularCorrelation() calculate the
      orientiation per time step and not over all time steps as it is now.

commit bef3b93af4906063eed476be88fb1537ca4a3326
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 09:59:39 2011 +0200

    Restructured code in AnalysisDipoleAngularCorrelationAction::performCall().

commit 32568762b5f514a4aeb82ea1a411bfdc1f623cea
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 09:54:00 2011 +0200

    DipoleAngularCorrelation() - External zero orientation vector may be given.

commit 07a47e0c167bba50906b5cc3e9289ec6e7f1c6db
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 26 17:02:53 2011 +0200

    Replaced enable/disable-hydrogen by internal switch.
    
    - changes in Fragmentation, Graph and molecule structures.
    - switch is now enum HydrogenSaturation that is constant everywhere except in
      the Actions. FragmentMoleculeAction and DepthFirstSearchAction have new
      parameter DoSaturation with default value of true.

commit 99b0dc7573c545c2d1ab699c79e875df4d992cb9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 25 14:31:39 2011 +0200

    FragmentAction now has instead of path a types parameter.
    
    - new output-types parameter, is a vector<string> for giving a list of desired
      output types similar to SetOutputFormatAction.
    - TESTFIX: as vector<string> cannot have default value, we had to adapt the two
      regression tests Fragmentation/FragmentMolecule.. and the fragmentation
      tests.

commit babcc1820497b0340a453fa9b4442f2e06d4da34
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 21 01:12:48 2011 +0200

    MoleculeListClass::OutputConfigForListOfFragments() now uses FormatParserStorage.
    
    - Fragmentation::FragmentMolecule(): fragments in type mpqc, pcp, and xyz are
      stored one after the other.
    - MoleculeListClass::OutputConfigForListOfFragments() expects type and uses
      FormatParserStorage for writing.

commit 09183883c4af7885de0d266ede8f220dc680b30a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 21 01:48:40 2011 +0200

    FormatParserStorage now explicitly needs to know which formats to store automatically.
    
    - new functions FormatParserStorage::setOutputFormat() for giving this info.
    - FormatParserStorage::SaveAll() only calls setOstream if the format is
      desired.
    - FIX: FormatParser_common::FormatParser_common() forget to initialize
      saveStream.
    - FormatParser_common::update() only stores when saveStream is not NULL, i.e.
      set.
    - SetOutputFormatsAction now uses add and setOutputFormat().
    - InputAction also adds the format of the input file.
    
    Note that this is needed to allow various output formats for BondFragments in
    Fragmentation without these formats eventually also being used for the writing
    of the main input file.

commit 0a7fad383c9fd7d10f25e6da08f4bf4a9f244cc6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 09:46:24 2011 +0200

    Refactored part of code in DipoleAngularCorrelation into new method CalculateZeroAngularDipole().

commit 1cc6612f1b1334040e49d3ffce07d7472926e3f1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 09:37:35 2011 +0200

    Refactored part of DipoleAngularCorrelation into method getTrajectoryBounds().

commit be0c61a73bfd606125fbc0307b518e335d3a1ce1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed May 11 09:42:43 2011 +0200

    FIX: DipoleAngularCorrelation() - ZeroVector is now map over atoms, not vector over molecules.
    
    - Molecules are not consistent over trajectories, atoms however are.
    - hence, we store the ZeroVector for each atom of a molecule, not per molecule.

commit 4b8630316b58cd0e54f594244af59c4f9560b633
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 19 01:09:43 2011 +0100

    World::setTime() now updates bond structure of system and related changes to DipoleAngularCorrelation.
    
    - extended regression test Analysis/DipoleAngularCorrelation with xyz example
      whose bond structure is updated per time step.
    - FIX: DepthFirstSearchAnalysis::operator() did not reset bonds to unused.
    - FIX: DipoleAngularCorrelationAction has to work on atoms not molecules as the
      latter are subject to changes due to changing bond structure.
    - FIX: DipoleAngularCorrelation() re-calculates current set of molecules from
      the select atoms and stores first atom in values file, not molecule name.

commit 4fc828b58deb25fc433599e0a2567df1f7b71101
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 16 13:56:48 2011 +0100

    DipoleAngularCorrelation working with multi-timestep PDBs with CONECT entries.
    
    - new regression test Analysis/DipolarAngularCorrelation: testing rotated water
      dipole.

commit df8759e00f2b2d82d6334340d4d0ecd763ec575b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 23:52:53 2011 +0100

    Renamed test dirs Analysis/AngularDipoleCorrelation-... ->DipoleCorrelation-...

commit 208237bbbc57a8a1a39e9eba2b8f9ccd181228d8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 23:28:51 2011 +0100

    Renamed DipoleAngularCorrelation(Action) -> DipoleCorrelation(Action) and new DipoleAngularCorrelation(Action).
    
    - DipoleCorrelation performs dipole orientation calculation.
    - DipoleAngularCorrelation calculates the change in dipole orienation over
      time.
    - new action DipoleAngularCorrelationAction

commit 3a9091f060344cff8516d05b05d191d5b46b5131
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 21 01:11:57 2011 +0200

    TESTFIX: Fragmentation tests used FRAGMENTPREFIX instead of FILENAME.
    
    - also enhanced test by checking for presence of pcp, mpqc, and xyz files in
      correct number.

commit 851be8001d3ee00fa3ac2cfd8ae65a67a8bced04
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 13:05:14 2011 +0200

    Moved functions that deal with adaptivity from fragmentation_helpers into AdaptivityMap.
    
    - Adapted Fragmentation::CheckOrderAtSite() a bit as maps of adaptive values
      are now all encapsulated in AdaptivityMap.

commit 730d7a4efc3a2396723036e90420b93ff9ed3b03
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 12:34:17 2011 +0200

    New class AdaptivityMap and moved some functions from fragmentation_helpers into it.

commit 75363b3f88c851b63d6e61e7ac05f88177419a9c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 12:17:10 2011 +0200

    Extracted functions from fragmentation_helpers and placed them in KeySet or Graph class.
    
    - KeySet: ScanBufferIntoKeySet()
    - Graph: ParseKeySetFile(), StoreKeySetFile(), ParseTEFactorsFile(),
      StoreTEFactorsFile(), GraphToIndexedKeySet()

commit 42127c3196b85e2b52749471ca9014640269b9fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 11:58:57 2011 +0200

    Extracted definition of MoleculeListClass and put into own header module.

commit f7fd17250d78b009d453e4c413831fa516bb4971
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 11:58:15 2011 +0200

    FIX: Removed remnant definition of molecule::StoreForcesFile().
    
    - function has been shifted over to MoleculeListClass some time ago.

commit d3abb155bcc85709402bb9d4f61ee6386c074874
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 11:32:35 2011 +0200

    Extracted MoleculeLeafClass into own module.
    
    - removed some unnecessary includes in moleculelist.cpp.

commit ba94c53b55b13c65d4a227ddc75d8d7e657d9670
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 11:14:56 2011 +0200

    Removed modules graph.[ch]pp.
    
    - typedef of KeyStack is placed in fragmentation_helpers.

commit dadc744c2f6ef8c2075a7e5a791c33b711bd6e20
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 11:02:58 2011 +0200

    Extracted Graph (map of KeySets) into own class from graph.hpp.
    
    - Placed InsertGraphIntoGraph() as its member function.

commit f0674ad457e26229a9fc919b6f3659591649bf06
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 10:17:18 2011 +0200

    Extracted KeySet from graph.hpp and made into distinct class.
    
    - member function operator<() replaces former KeyCompare struct.

commit 246e135b36a823fc68a5447dc711b024f2d49ce7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 19 19:07:28 2011 +0200

    Placed FragmentMolecule, FragmentBOSSANOVA and subfunctions into own class Fragmentation.

commit 212c179a20d30dfd1c8d9f011f4617d5bc87f1fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 15:16:51 2011 +0200

    Placed all functions related to BondsPerSPList into own class BondsPerShortestPath.

commit d0b375b2180798e3740178ea430700a3329073f6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 15:28:37 2011 +0200

    Removed ShortestPathList.
    
    - there have been references in the code that ShortestPathList is probably
      obsolete meanwhile (seemingly it is).

commit f67817f7834dceb2a5c0a857fa17b2481b42a01b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 14:26:01 2011 +0200

    Extracted power set generation into own class PowerSetGenerator.

commit 23fb721d34ba720a6277c697c046193f6203fb09
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 14:02:04 2011 +0200

    Encapsulated UniqueFragments::Root with getter/setter.

commit f6d1d0176076be85059fb287303c6172d2cca0a6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 13:56:39 2011 +0200

    Made some member variable of UniqueFragments private.

commit a03d25a95438c62d1f4eccba93c94bb3f6281096
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 13:53:21 2011 +0200

    Placed all routines working on UniqueFragments struct inside this class.
    
    - changed struct to class.

commit d9a032dc6846bb5d2cf9a7b5a184c2a68e344dcd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 13:52:27 2011 +0200

    Initiated own conveniance library for folder src/Fragmentation.
    
    - Makefile.am included in src/Makefile.am, library included in
      UIElements/Makefile.am.

commit ba182315c666d68dd36bb0ef46e7f304d4644105
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 11:12:25 2011 +0200

    Moved all helpers fragmentation functions into folder src/Fragmentation.

commit 70879889df9c3fa9ecec560fe07215db0e872f09
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 18 10:50:19 2011 +0200

    FIX: removed -version-info from libMolecuilderGraph.
    
    - it's just a convenience library that have no versioning.

commit ec87e45589461e444811eea2933d639a2f8b3e6a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 17 17:23:42 2011 +0200

    Rewrite of CheckAgainstAdjacencyFile.
    
    - we now construct two multimaps -- one from file, the other from World's
      selected atoms -- and compare these two.
    - added unit test on the class.

commit 5fd0f4d49b0461d32ede06c7157852e0fb66eb04
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 25 11:48:21 2011 +0200

    Set version to 1.1.5
    
    - Molecuilder library is now 5:1:0.
    
    - Codename "Melli Beese" (first female German aviator, her flight license
      number is 115).

commit f9495313044c5d59ac825fc0648e8ca03265262e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 25 11:47:01 2011 +0200

    DISTCHECKFIX: regression test Fragmentations/Joining required writable fragment dirs.

commit 360c8bbc74f8b9ba85e29afb3769876f4b7fd8b1
Merge: fa9d1d1 752bb4e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 21 00:40:59 2011 +0200

    Merge branch 'Adding_Psi3Parser' into stable
    
    Conflicts:
    	src/Parser/FormatParser.hpp
    	src/Parser/unittests/ParserTremoloUnitTest.cpp
    
    Issues:
    - Element and periodentafel have been moved to folder src/Element.

commit fa9d1d1f9bdda596edc780e18f57c4ea62847227
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 23:29:24 2011 +0200

    FIX: CreateAdjacencyAction now uses BondGraph::CreateAdjacency.

commit 539f3262192fc147f35ffbe84d178021484129ba
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 15:19:21 2011 +0200

    Enhanced BondGraph::CreateAdjacency() a bit.

commit 9317be0fb11b31ce2211407310d3957055993f16
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 15:18:47 2011 +0200

    Replaced molecule::atomVector by World::AtomComposite everywhere.

commit 02504849fae5321dbdba4e3e930f7a9dda6edd06
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 14:39:01 2011 +0200

    Enhanced Box::periodicDistanceSquared() by an internal_explode().
    
    - internal_explode() works on an static internal VECTORSET(list) such that
      there is no need for repeated memory allocation/deallocation for said list.

commit 93d78e8de4fa69e04316803de231b7406107b2d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 10:49:51 2011 +0200

    TEST: Added missing atom keyword to regression tests on selection of cuboid and sphere.

commit a8b9136123589e07842ffdaf5264dce9ddfeae73
Merge: 9c27b0a 6a51087
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 10:21:40 2011 +0200

    Merge branch 'Fix_Test-Fragmentation_Header' into stable

commit 6a5108701db116011bdc260e154e48610a36cc4a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 10:20:53 2011 +0200

    FIX: Header name of Fragmentations test was wrong.

commit 9c27b0a005883e62a6fe86a9c2d191e872d16452
Merge: 45f835e b1ac7aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 20 09:04:50 2011 +0200

    Merge branch 'MatrixContainer_Serialization_rewrite' into stable

commit b1ac7aab284bf1319974b1e2e835aba2d14405c8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 17:16:12 2011 +0200

    Added Undo/Redo capabilities to BondLengthTableAction.
    
    - thanks to serialization of BondGraph.

commit 8297610a06ece879892f92f6ac27321f60251965
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 17:15:36 2011 +0200

    New function BondGraph::CleanupBondLengthTable().
    
    - allows for removing present BondLengthMatrix.

commit 1ac24b80f6b3f8aba2fbfb1c14a5d63c284fbc40
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 19:45:13 2011 +0200

    Added unit test function SerializationTest to BondGraphUnitTest.

commit f007a17a35c1dd25022c6a180a76cf04611c9546
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 19:37:27 2011 +0200

    Added serialization capability to class BondGraph.
    
    - note that we do not serialize BondThreshold in BondGraph, is nonsense for a
      static member anyway.
    - added private default constructor for BondGraph.

commit 9b6663a9104435e3330a5789ca82ba9e6f3aa7be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 19:47:32 2011 +0200

    Added operator==() to BondGraph.
    
    - also added new unit test function EqualityTest to BondGraphUnitTest.

commit 2d5fee5a517443fd00a0fb14e2ac95c440400ff6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 19:29:04 2011 +0200

    Added unit test functions SerializationTest for KeySetsContainer and MatrixContainer.

commit 942906bb18ea082db1ef88cc4736b482eb87e71a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 20 12:10:14 2011 +0200

    Added serialize() template functions to MatrixContainer and KeySetsContainer.
    
    - also we now require CodePatterns 1.1.6 due to valarray inclusion before MemDebug.

commit 752bb4eebc964734dfa22c23ba3e97bd95f58501
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 16:05:03 2011 +0200

    Added regression test Parser/Psi3.
    
    - this is heavily inspired from Parser/Mpqc.

commit d640ea4f513e93f75000fdadbe0789cf1671a383
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 15:55:45 2011 +0200

    Implemented Psi3Parser::save().
    
    - also we now have working unit test on this functionality.

commit 9011c1ce1292bb6459bc13092fe0c8ad098f64ec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 15:55:16 2011 +0200

    Added atom::OutputPsi3Line() to output a Psi3 conforming geometry line.

commit 120a864188be57481b4c722362c9ea2925039878
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 15:54:34 2011 +0200

    TESTFIX: Added check whether streams are empty to ParserMpqcUnitTest::writeMpqcTest().

commit 1b145f245526521e82fb04541ca99bbfce500a42
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 19:06:19 2011 +0200

    Added operator==() to KeySetsContainer and MatrixContainer.
    
    - also added unit test functions for both.

commit 9758f70c8acad564988f204ebc13d19c82b5fa37
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 18:24:18 2011 +0200

    Removed C arrays in KeySetsContainer and MatrixContainer.
    
    - replaced by std::vector<>s.
    - transition is so far very minimal, external (range) counters are still
      present.
    - extracted allocation of memory into own block in
      MatrixContainer::parseMatrix().

commit a9b86da232c3a8beead3fa86a30c4841166788f7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 15 18:02:17 2011 +0200

    Split up modules parser.[ch]pp into one module per class.
    
    - fixed inclusion of parser.hpp in some other files.
    - for the moment we have to use libMolecuilderUI for joiner and analyzer.
    - Removed inline definition from FixedDigitNumber().

commit c170915bbc3f208c828f605923829245c6a832b9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 15:54:10 2011 +0200

    Added convenience function Psi3Parser_Parameters::getReferenceName().

commit a67cf089d410daed85c0fd273c385b1120390f24
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 15:52:49 2011 +0200

    Renamed Psi3Parser_Parameters::multipParam to ::multiplicityParam.

commit 032f31cf80e8ee3e35032df0bfd39da32b7db018
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 13:15:56 2011 +0200

    Implemented Psi3Parser::load().
    
    - also we now have working unit test on this functionality.

commit 7f570c6517b39d5c867f97f951a6d8b7300e1cdb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 6 13:12:35 2011 +0200

    Moved operator<<() and operator>>() from Mpqc/Psi3Parser_Parameters into FormatParser_Parameters.
    
    - setting and getting of values are generalized.

commit f758dd8abf6c4577aedad2b0a76999a202061c35
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 5 17:46:00 2011 +0200

    ParserPsi3UnitTest::ParameterSetterTest() is working.

commit 154a459603c8dfe4f80902f3317a2b16ae570d5d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 5 17:17:27 2011 +0200

    ParserPsi3UnitTest::ParameterCloneTest() is working.

commit 1bef077d3656c91b027c4cf35ca7eb3e79969644
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 5 10:52:25 2011 +0200

    Added first working version of a Psi3Parser.
    
    - is so far mostly copy&paste from MpqcParser.
    - important parameters all are in (including valid ranges).
    - also added unit tests.

commit ee50c1deef0fe012d0eaf1e68d36c5bb53c0b663
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 18:20:34 2011 +0200

    Complete rewrite of MpqcParser_Parameters to incorporate new Parameter(Storage) structure.
    
    - FormatParser_Parameters now contains a ParameterStorage instance which
      contains all parameters and is easy to clone.
    - MpqcParser_Parameters is basically just an Init() function that fills this
      storage for the specific case of the FormatParser<mpqc>.
    - additionally, there are some convenience functions, enums and maps which
      contains strings and make setting and getting parameters more easy.
    - adapted MpqcParser.
    - adapted Unit test for MpqcParser accordingly:
     - no more tests on type
    - TESTFIX: regression test Parser/Mpqc/post/empty.in was CLHF instead of
      default MBPT2. As the cloning is now working flawlessly, this has been
      fixed.

commit 89a67feeca325baa0a621159f142173ffe172e6d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 18:19:34 2011 +0200

    Added StringParameter as ContinuousParameter<string> as string do not have any sensible valid range.
    
    - this does not inherit any StringValue but implements ValueInterface right
      away.
    - also added unit test.

commit c0da07019a983e8a4d1b525a29d74725a5c59bf2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 18:02:47 2011 +0200

    Added constructor that set value to ContinuousParameter and DiscreteParameter.

commit ec0acc0fca5519d83e2d28d3453c58ad0e82b4e2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 15:00:15 2011 +0200

    Added ParameterStorage which is a Registry for Parameter instances.
    
    - also added unit test.

commit 6b522838f6543ee1ab24529fca07826520e8de92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 4 10:35:42 2011 +0200

    Added operator==() to Continuous- and DiscreteParameter classes.
    
    - added comparator function for both Parameter types.
    - added unit tests on these.

commit 39fa96414c2fb9b7b844fefc27eef74da86fe2ac
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 4 10:34:41 2011 +0200

    Added variable name and function getName() to interface Parameter.
    
    - a Parameter always must have a name (cstors without params are private).
    - this is preparatory for storage inside a Registry<Parameter>.
    - adapted Continuous- and DiscreteParameter's cstors accordingly, pass on to
      Parameter's cstor.

commit c4afd1ada21b7e8c7c09cb2144a757477ed4b7f4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 14:29:13 2011 +0200

    Added Continuous- and DiscreteParameter classes.
    
    - new interface class Parameter which is a clonable ValueInterface.
    - Continuous- and DiscreteParameter implement the clone() function for
      Continuous- and DiscreteValue respectively.
    - also added unit tests on each clone function.

commit 5f61dde6d65664e1c8372220d4cb8bcc04b686d1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 12 11:03:09 2011 +0200

    Removed usage of namespace std in module parser.[ch]pp.

commit 3613a21865200b0e605c9c0b4a60e523f04b1811
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 16:44:45 2011 +0200

    FIX: periodentafel::LoadPeriodentafel() did not load color db from path.

commit 4ae823cec9aee17aaa21ae3a9dde58110c0db527
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 16:43:55 2011 +0200

    periodentafel may or may not Load internal databases in its cstor.
    
    - loading extracted into private ScanPeriodentafel() function.

commit 9d4ff35ec4a64e47b992434a7cedc91dad9839ec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 20 11:40:55 2011 +0200

    Reduced library dependencies of RandomNumbers and BoxUnitTest.

commit 592be9a388decc9a41c3507b7e5f23289522e8f5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 17:29:46 2011 +0200

    Moved unitests on Element... into subfolder src/Element/unittests.
    
    - new Makefile is included in src/unitests/Makefile.am.

commit 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 12:07:33 2011 +0200

    Moved all stuff related to elements into own subfolder and has its own convenience library.
    
    - this induced massive changes in includes in other files.
    - we adapted PeriodentafelUnitTest to not get instance from world, but we
      create it ourselves.
    - also moved all .db files related to elements into subfolder Element/.

commit 2fadb6f6487d66855d2a973ab3e063aa3e0af5b6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 12:11:22 2011 +0200

    Helpers now reside in own convenience library.
    
    - this allows for stricter dependencies for joiner and analyzer.

commit dd9d69bdbc669c5669e64c225c4cde9454b3be33
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 15 18:03:07 2011 +0200

    Prefixed double inclusion-preventing defines in header files in Helpers/ with HELPERS_.
    
    - this avoids name conflicts with other defs.hpp and helpers.hpp

commit 9b5a2c623129c569571d4a77eabff8bb2bc84231
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 17:44:11 2011 +0200

    Moved analysis modules into subfolder Analysis along with its unit tests.
    
    - new Makefiles are included in src/Makefile.am and src/unittests/Makefile.am.

commit 498dddb270b5a81a0dc413c9707b1fd0ba8ff7fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 14:26:44 2011 +0200

    Added operator==() and operator!=() to Continuous- and DiscreteValue.
    
    - ValueInterface is now inherited virtually.
    - this is preparatory for class Parameter which is a clonable ...Value.
    - we need comparators for the unit tests on that.
    - unit test added for comparators.

commit 84e752ece4991982e2abc41c173b1a6d98ab98b0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 11:40:49 2011 +0200

    Moved Continuous- and DiscreteValue into subfolder Parameters.
    
    - this folder is to contain all stuff related to internal parameters of the
      parsers.

commit a7d753240301a775068e9e813720c7f0c9744b03
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 30 11:32:43 2011 +0200

    Extended DiscreteValue to ContinuousValue and added ValueInterface for both.
    
    - new template class ContinuousValue representing a continous value with a
      valid range.
    - in order to store both DiscreteValue and ContinuousValue as parameters, both
      have a common interface ValueInterface that works in string only.
    - both classes have extensive unit tests.

commit 3308b607408a811d157f5645f1d4a94e5482ebd3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 13:03:29 2011 +0200

    FIX: 3 out of 4 unit tests have not been told to throw AssertException instead of abort.

commit e09d671ae5398d72cd8e8524d71f9f9b44e6b4d6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 09:58:30 2011 +0200

    Added class DiscreteValue that contains enums.
    
    - class has extensive unit test.
    - this should replace enums in MpqcParser_Parameters.

commit d3d6c66c9874b31665d602a9fb2803e8c7fabdb3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 28 14:58:10 2011 +0200

    Added templated InvertMap function to ease MpqcParser_Parameters::Init().

commit 765f16856478316e039b16a1098e4f2a6bb42332
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 21:04:36 2011 +0200

    Huge Refactoring of FormatParserStorage and all FormatParser's.
    
    FormatParser:
    - FormatParser is now a template, specialized by enum ParserTypes.
    - new struct FormatParserTrait is as well a template of same type, containing
      parser-specific information in static entities.
    - all FormatParsers are now specializations of this FormatParser.
    - all Parsers can be accessed in a unified manner, given in the new class
      FormatParserInterface.
    - common functions are placed in FormatParser_common.hpp as one cannot
      partially specialize a function class.
    - some boost preprocessor magic is used in ParserTypes and FormatParserTraits
      to define the template specialization or to create the ParserTypes
      enumeration.
    
    FormatParserStorage:
    - We construct all lookup tables and alikes via boost preprocessor magic from
      a list of all available parser (enums).
    - we use the templated getParser() and addParser() functions to serve parsers
      to the outside. Instances are as usual created only once.
    
    Tests:
    - tests only had to be changed because of the "renaming" of the Parsers.

commit 9a6b76ea7056096d32eb9b5d2f5a438af7e0f720
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 12:38:50 2011 +0200

    Refactored enumeration ParserTypes into extra module.

commit ebb87c7a55e63dedb418fb7cf9a03772ada9111e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 12:38:12 2011 +0200

    FIX: Added check whether suffix belongs to well-defined parser type.

commit 6d0f058e7c5c56b22245c79b218fae3eadf5b161
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 11:59:04 2011 +0200

    Removed all FormatParserStorage::get() and ::set().
    
    - we now call directly the template getParser<>(), setParser<>() versions in
      the few places needed.
    - simplified ::load() and ::save() a lot by using getTypeFromSuffix() instead
      of the ugly if sequence.

commit e114e3248317a8dd940a02e562b964986a19cba6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 11:34:19 2011 +0200

    FormatParserStorage::add...() and ::get...() now use internally the templated functions.

commit db67ea17aa551d3049097b9c184e75073c2fa662
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 10:32:36 2011 +0200

    Added template getParser/setParser to FormatParserStorage.
    
    - specialized templated getParser/setParser in FormatParserStorage will soon
      replace all the add..() and get...() functions.

commit 629e436dfaae8a6f744563906c2fb347afa4a696
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 17:33:51 2011 +0200

    Moved unitests on BondGraph into subfolder src/Graph/unittests.
    
    - new Makefile is included in src/unitests/Makefile.am.

commit 45f835e8c203e278cf19fe6699144297ddcc29a7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 14 14:10:02 2011 +0200

    Added Undo/Redo capabilities to RepeatBoxAction.
    
    - adapted regression tests.

commit 34fbb3fde7c90f235a86b15ee32ef575800bb53f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 14 14:09:30 2011 +0200

    FIX: CopyAction did not simply use removeAtomsinMolecule().

commit cbfb9a5a855848ef4183265a6f39366c22d0c5df
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 14 18:12:12 2011 +0200

    Added Undo/Redo capabilities to ScaleBoxAction.
    
    - adapted regression tests.

commit 7b4a290b3d37b54a794d7dc819b69614c3c9a67f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 14 18:00:31 2011 +0200

    Added Undo/Redo capabilities to ChangeBoxAction.
    
    - removed XFAIL from regression tests.

commit de7d1dba7824fa30f6db19bd9e5951529efb0758
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 14 17:58:15 2011 +0200

    Added Undo/Redo capabilities to CenterOnEdgeAction.
    
    - adapted regression test.

commit 23526ca91bfbf2679afc5840c9ee7c434447dce7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 14 17:46:05 2011 +0200

    Added Undo/Redo capabilities to CenterInBoxAction.
    
    - adapted regression test.

commit e670e4be73c7724177f5fef761653d7f8432d689
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 14 17:25:14 2011 +0200

    Added Undo/Redo capabilities to BoundInBoxAction.
    
    - also added regression test.

commit 9cd6bf995419cdfd5a5058be82ebeb15acdb539c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 12 11:07:45 2011 +0200

    Added Undo/Redo capabilities to AddEmptyBoundaryAction.
    
    - adapted regression tests.

commit ce133f70502bb6727370591a8ac8595935e943e1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 12 16:29:04 2011 +0200

    Initial commit for enhancing doxygen documentation.
    
    - added .dox types to FILE_TYPES in Doxyfile.
    - added folders documentation to both src/ and LinearAlgebra/src.
    - added some preliminary files to both which should be filled.
    - the idea is to have all documentation that is not associable to a specific
      class (e.g. serialization) in an extra file.
    - also we should introduce groups and generally order and enhance
      documentation.

commit 0b004b9c4dd37a728f061baad5c2608f74225c66
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 17:49:27 2011 +0200

    Moved all unittests on Tesselation into subfolder Tesselation/unittests.
    
    - new Makefile.am is included in src/unittests/Makefile.am.

commit d127c80ca46c99e6f56f7584ee0691672287c486
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 15 16:51:45 2011 +0200

    Moved modules related to Tesselation into own source subfolder.
    
    - This required quite a lot of changes in includes.

commit feb7dfc315521e9dc2c1caf69c64722e14330c18
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 18:55:27 2011 +0200

    Added unittests to Fragmentation subfolder.
    
    - added empty tests for KeySetsContainer and MatrixContainer.

commit bc28b0f3f8149d6034a044085ee96722cb9a75e3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 15 16:43:32 2011 +0200

    Moved modules associated with fragmentation into source subfolder Fragmentation.

commit 878044f2802b7b4799a56748e65367ee5b94e541
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 20:26:44 2011 +0200

    Added (simple) regression tests for joiner and analyzer for heptan.
    
    - this is preparatory for rewrite of MatrixContainer upon which both rely.

commit 88f62988b19f6b6b102c0be34eb40d8e219b8414
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 15 15:27:16 2011 +0200

    Added initial testset of files for regression test on joiner.

commit a8b10ae6556ba2f63b2925e9a9fecdaefaed1d93
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 16 12:11:59 2011 +0200

    FIX: Shifted ANALYSIS... in src/Makefile.am to alphabetical ordering.

commit f17b5fdb567912c8c5f01b11c6ce2abb2240431c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 15 18:04:31 2011 +0200

    FIX: FormatParser does not depend on parser.hpp.

commit 5930bc9d068e2a8cc5f19f5538b7f1a26949ef23
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 15 18:03:59 2011 +0200

    FIX: AtomIdDescriptor just needs types.hpp include.

commit 2329be5e074c3d04bef8d010b88f72b525e01901
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 12 11:01:53 2011 +0200

    FIX: Inclusion of Box.hpp is not required in AtomCommandLineQuery.

commit 61ff0550acb166bb41ba1ba619e3778004377a74
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 19 16:46:28 2011 +0200

    FIX: ElementDbAction uses CleanupPeriodentafel() instead of deleting the instance.

commit ce7fdce7330c2c978a3bf964316aa2dda1dcd1e3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 9 20:42:38 2011 +0200

    HUGE: All Action-related codes resides now in namespace MoleCuilder.
    
    - removed all namespace std in Actions..., replaced by MoleCuilder.

commit e0f8c8e2730498c806c8d1900d0c5e3189db8e51
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 7 13:01:56 2011 +0200

    Set version to 1.1.4.
    
    - FIX: Removed AC_SUBST for LinearAlgebra version.
    
    - Codename "Jiroemon Kimura" (with currently 114 years one of the oldest people
      ever and still kicking).

commit 7ff53fd8c0022543fcd10df1c914fc53da585a40
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 13 11:20:44 2011 +0200

    DISTCHECKFIX: moc_*.cpp and ui_*.h files added to MOSTLYCLEANFILES.

commit bcedf7cc05d257a6654f6aca74ed533f01f2dec1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 12 16:24:26 2011 +0200

    DISTCHECKFIX: Added Qt's .ui and .ui.h files to nobase_..._HEADERS such that they are distributed, too.

commit 6016320a5194ab36544ea47ed7dceac6cb61f82e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 12 16:24:07 2011 +0200

    DISTCHECKFIX: Added missing m4-files to EXTRA_DIST in Makefile.am.

commit c074cc5fab45d02fbfcd8b94007c09ae41d6209e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 12 10:59:19 2011 +0200

    LinearAlgebra version is now 1.0.3.
    
    - Library version is now 3:0:0, API version is 1.0.3.

commit c2e56705b36163307f5a111381f66c386e164bad
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 12 10:46:41 2011 +0200

    Added serialization capability to RealSpaceMatrix.
    
    - added SerializationTest to MatrixUnitTest.
    - Requires CodePatterns 1.1.5 due to serialization header and problems with
      MemDebug.

commit 29cbe9eb5045c2dc5460417786abf8dd54510240
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 9 23:30:06 2011 +0200

    Added serialization capabilities to VectorContent and MatrixContent.
    
    - both a bit tricky due to gsl_vector and gsl_malloc.
    - TEST: also added SerializationTest() to either UnitTest.

commit c5038eb29dd533dd1cd33dee2c21d56fbd61fcd0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 9 23:24:02 2011 +0200

    Made MatrixContent and VectorContent dimensions const by placing into extra class.
    
    - new classes MatrixDimension and VectorDimension.
    - they only displays getters  to the outside. Thus, we may savely serialize
      them without having to disable the constness.

commit c8b17b55097e09730f211d414d01a4b65d6e8a5b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 11 16:45:18 2011 +0200

    DISTCHECKFIX: Added missing chmod u+w were appropriate.
    
    - This is necessary as files are copied as read-only which prevents molecuilder
      from writing changes to file.

commit 220cf64c6ebf68c0e5bed116415d5287df404a6a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 9 18:54:58 2011 +0200

    Added Undo/Redo capability to ElementDbAction.
    
    - thanks to serialization of periodentafel and element.
    - !NOTE! when serializing pointers inside classes: header file of this class
      must at some point be present (due to the templated serialize function).
    - TESTFIX: Updated regression test for ElementDbAction. Loaded databases are
      now different and this reflects in .conf output file.

commit 35a25a5e7b6adf34c70b8e928981ffc70f9b5cd4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 12 15:00:32 2011 +0200

    AtomInfo does not store ref to element anymore but only atomic number.
    
    - if we want to allow for elements to be changed, no refs may be stored at
      other places. Now we just store the atomic number and look up the element in
      the periodentafel on request.

commit b6080419d0487202fd76c9e76fba31c44bf97c46
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 9 15:12:21 2011 +0200

    Added serialization to class periodentafel.
    
    - added unit test on comparison and serialization.
    - FIX: removed inclusion of PeriodentafelUnitTest.hpp in periodentafel.hpp
      as forward declaration is sufficient.
    - ComparisonTest and fix of operator==() for class periodentafel.

commit d7d0227486bc1c19c9648ca87b259ad4cf6fa8c2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 9 14:02:18 2011 +0200

    Added serialization functionality to class element.
    
    - also added extensive unit test on class element.
    - we use boost::serialization.

commit bae8b0a28256b8566e57053ad9e6fe49dd1c2b39
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 9 14:00:41 2011 +0200

    FIX: some smaller changes to class element.
    
    - removed those nonsense ref getter for symbol and name. Now, getter only
      return const ref.
    - NDIM -> 3 and removed inclusion of defs.hpp.
    - int -> size_t as we desire an array size.
    - initializing now some forgotten values in default cstor.

commit f08ae71ecd45b3ee35670dda17aad600096f37e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 7 18:35:59 2011 +0200

    Extension of usage of Tsuna's boost.m4 macro.
    
    - boost.m4 from https://github.com/tsuna/boost.m4.git (serial 16 + updates).
    - LinearAlgebra does not depend on any boost libs only two headers and
      CodePatterns.
    - Presence and Usability of every boost header and lib is now checked.
    - Using updated ax_codepatterns.m4.
    - FIX: boost has not been possible to link with if not residing under some
      default path. This is now possible.

commit 78d5b295fa5c42519eac5454fe4513a96fe11df3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 5 19:25:14 2011 +0200

    Added Undo/Redo capability to LoadAction.
    
    - Added cloning of FormatParser_Parameters before the file is loaded such that
      FormatParser (here only MpqcParser) is returned to original state.
    - Additionally, we just store molecule's id and the file's prefix and suffix in
      the undo state.
    - TESTCHANGE: Removed XFAIL's from all Parser load's Undo/Redo tests.

commit aa8cc2489bb25c1b7c91aff06cb26327b39a7afd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 6 10:34:01 2011 +0200

    TESTFIX: Regression tests for Parser load now correctly compares the undo case against empty file.
    
    - added correct emoty file to each Parser test's post folder.
    - adapted undo case for each load test to compare against the empty file.
    - note that tests for Undo/Redo are still marked as XFAIL.

commit 5c54721f1805c72ffcc7cfd5b2f209ed7ebc7847
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 6 10:35:03 2011 +0200

    FIX: PdbParser::save() now writes correct empty file.
    
    - PdbParser::save() writes "REMARK...\nEND\n" even if there are no atoms (and
      hence no timesteps).

commit 4151b06b3d969dc206995ba2f620979d5dc0a494
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 6 10:22:03 2011 +0200

    FIX: Parser's dstor were not virtual despite inheritance.

commit c1db05903a75be5fb69205e949bced95e69b4a1c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 6 10:45:22 2011 +0200

    Abstracted FormatParser_Parameters and made it "Clone"able.
    
    - this is preparatory for having an undoable LoadAction.
    - is so far only used by MpqcParser_Parameters.
    - FormatParser_Parameters::clone() clones the instance (uses CodePattern's
      Clone pattern).
    - FormatParser has pointer to FormatParser_Parameters.
    - MpqcParser now has parameters as inheritance from FormatParser, allocates in
      cstor, removes in dstor.
    - new function MpqcParser_Parameters::makeClone() sets instance to be a copy of
      the given one.
    - MpqcParser: replaced direct access to params by getParams().
    - added ParameterCloneTest to ParserMpqcUnitTest.

commit e611dcada623ad28011aa5d0079a58228b4f54e8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 5 19:31:55 2011 +0200

    FIX: AT_KEYWORDS requires _space_-separated list of keywords.

commit 6bc86c8f315a1909525c8dcf9bfe9a40927a306f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 5 19:24:31 2011 +0200

    Implemented specific AtomRemoved(),AtomInserted() for Pdb and Tremolo parsers.
    
    - each remove information from their ..AtomInfoContainers, if present.

commit 38f9917c644ed150841c7a1a6aa20bc1363313c6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 5 19:23:16 2011 +0200

    FormatParser now listens to World::AtomRemoved and ::AtomInserted notifications.
    
    - World now has const iterators for selectedAtoms and selectedMolecules.
    - FIX: RemoveAction was broken in usage of beginSelectedAtoms() for removing
      them! This is fixed. Same for FragmentAction() where non-const iterator had
      been used for fragmenting.
    - The above was caused by the following (we would stumble over
      receiveNotifications() going into void):
    - new virtual functions AtomRemoved() and AtomInserted() which the specific
      parsers overwrite, e.g. to remove additional information when the associated
      atom is removed.

commit ab4a330bb4a5a2e75bd17f63fc36cba9ce4edaad
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 5 19:22:26 2011 +0200

    FIX: World::destroyAtom() now informs before atom's destruction, not after.

commit 35bf6be58e0770834fcf4a7d8a69d69658043b29
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Sep 5 12:46:14 2011 +0200

    TESTFIX: Parser/Mpqc-SetParameters/set-theory working.
    
    - removed XFAILs
    - MpqcParser_Parameters::setter() yes/no and 1/0 allowed as bool strings.

commit 89643db5d138dd16f16f5289031ddcc7811d46e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 12:12:01 2011 +0200

    Enabled also un selection when clicking already selected atoms.
    
    - introduced ... which allow for just knowing the id (which is all needed):
     - World::isAtomSelected(),
     - World::isMoleculeSelected().

commit b7ff035ccbca9dd3a5ea57a4476fb4ec3fbec0b7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 12:11:27 2011 +0200

    Selection NotAtomByIdAction now gets atomId_t not const atom *.
    
    - see Selection AtomByIdAction.

commit 0e9ffe3f980f1dc11a0b7b21a4342660cfc00b4f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 11:58:14 2011 +0200

    Enabled selection when clicking atoms.

commit 5a88409929fafa0edd9c452df1f3d525d7db4154
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 11:56:53 2011 +0200

    Selection AtomByIdAction now gets atomId_t not const atom *.
    
    - This makes it possible to use it with the GUI where we know the id, not the
      ref. (and pointer is too low-level, retrieving it should be the problem of
      the action, not the query).

commit 12948c2ccfa9172ddcc2b58e9905c238b969ea5d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 11:54:17 2011 +0200

    Added new Query for std::vector of unsigned int.
    
    - this is preparatory to make selection rectangle possible.

commit 838cd09f5b0b8fc58fc121f2fad94ab4a811175b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 11:21:45 2011 +0200

    Added new Query for unsigned int.
    
    - this is preparatory to switch select-atom-by-id to true atomId_t query.

commit 65487f331fd5824af614cee6c3d083360a9f4d4b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 10:42:34 2011 +0200

    FIX: hoverChanged() and ..Clicked() now also works for loaded molecules.
    
    - introduced signal WorldScene::changeOccured() which triggers a private flag
      changesPresent in GLWorldView to call initialize() on next paintGL() event.

commit a099d37e9af2d031e927cb528eae711e79891eef
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 10:13:35 2011 +0200

    FIX: hoverChanged() again working for immediately loaded molecules.

commit df765f38b6dbe853b2dd20ffbd223c4457a00482
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Sep 2 10:13:18 2011 +0200

    gitignore ignores new .autotools of eclipse.

commit 9c18e48b7af8959648d5a1a088f561ed14050917
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 1 20:17:08 2011 +0200

    FIX: Observers (GLMoleculeObject_atom, GLWorldScene) sign off on destruction.

commit 5e2f80b94564cd7797be678d694bf8d3012bd825
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 1 19:06:04 2011 +0200

    BondedParticle no more hands out non-const ListOfBonds.
    
    - the few required instances were always for removing all bonds inL
     - GraphCreateAdjacencyAction::performCall(),
     - MoleculeCopyAction::performUndo(),
     - BondGraph::cleanAdjacencyList(),
     - BondGraph::resetBondDegree(),
     - molecule::removeBonds(),
     - MoleculeListClass::AddHydrogenCorrection(),
     - ListOfBondsTest::AddingBondTest().
    - added BondedParticle::removeAllBonds().
    - added BondedParticle::resetBondDegree().
    - BondedParticleInfo::getListOfBonds...() now returns empty list if out of
      bounds (emptylist is static member variable of the class).
    - ListOfBondsUnitTest runs fine.

commit 37b257551a03bddeeb79df686a845ed3e736653e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 1 18:33:11 2011 +0200

    GLMoleculeObject_atom listens to BondsChanged notification.
    
    - signal is sent to slot in GLWorldScene which inserts or removes bonds for
      the specific atom.
    - i.e. now we may load a file and both atoms and bonds are correctly shown via
      the observer mechanism.

commit db7e6dbec5ed7a09556e844d6574a820fe80de92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 1 18:25:34 2011 +0200

    BondedParticle:: register and unregister are private.
    
    - adding and removing bonds is possible via addBond(), removeBond().
    - this wat we encapsulate the register and unregister and make sure that never
      a lone bond remains at one side.
    - adapted:
     - BondGraph::CreateAdjacency()
    - Register and UnregisterBond are OBSERVEd.
    - bond::Contains() is const member function now

commit 7188b130f196698d071c5787a688b84efdfde506
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 1 15:49:14 2011 +0200

    Introduced atom_observables and GLWorldView observes World, GLMoleculeObject_atom observes its atom.
    
    Observer changes:
    - new Channels pattern required from CodePatterns 1.1.5 and that Observable
      signing on and off is now with const instance possible.
    - class atom is now observable, encapsulated in class AtomObservable:
     - enums have notification types
     - we use NotificationChannels of Observable to emit these distinct types.
    - atominfo, particleinfo, bondedparticleinfo all have OBSERVE and NOTIFY(..)
      in their setter functions (thx encapsulation).
    - class GLMoleculeObject_atom signs on to atom to changes to position, element,
      and index.
    - World equally has notifications for atom (new,remove) and molecules (new,
      remove).
    - GLWorldView now observes World for these changes.
    
    Other changes:
    - removed additional hierarchy level for GLWidget of molecules (i.e.
      GLMoleculeScene removed and incorporated into GLWorldScene).

commit e638f994597de00dea35ab713ed67450ce61ec6e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 29 12:03:29 2011 +0200

    Removed changetypes.hpp.

commit 5fa2bac2fc0563ed676ba8178b07597a44189e58
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 29 11:53:53 2011 +0200

    Enhanced PdbParser to read ill-formed pdbs.
    
    - conect entries may now contain 0 as filler (and serial 0 presence is
      checked).
    - ATOM info lines may contain less than 80 chars, then name is parsed for
      element.
    - added new regression test Parser/Pdb/load-various for this.

commit 029bb4e5c3a78c79d56801bff9ea647fbc143423
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 18:34:12 2011 +0200

    Hovering is now working too.
    
    - signal chain installed from GLMoleculeObject::hoverChanged() through
      GLMoleculeObject, over GLWorldScene to GLWorldView which calls updateGL().

commit 06ebf53dbb995f5e8ab81361cc8b991ca48cb1c8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 18:26:42 2011 +0200

    Clicking on atoms works.
    
    - GLMoleculeObject_atom, GLMoleculeScene, GLWorldScene have a signal/slot chain
      that is gradually enriched with ids of clicked atom part of clicked molecule.

commit 907636a5dab60af4f441f0c8888aadfce03987fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 17:53:28 2011 +0200

    First working version of GLWorldView that show atoms and molecules.
    
    - GLWorldView is view of model GLWorldScene.
    - GLWorldScene contains GLMoleculeScene for each molecule.
    - GLMoleculeScene contains GLMoleculeObject_.. for each atom and two for each
      bond.
    - GLMoleculeObject_... derive from GLMoleculeObject which hides the specifics
      of being sphere or cylinder and allows for initializing and drawing
      unifiedly.
    - so far clicking the atoms is not working (as in teaservice example).

commit 04f01714d458f4a933c136873fbcc398845e35c2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 16:54:28 2011 +0200

    Removed teapotview.?pp again.
    
    - Functionality is contained in GLWorldView class now.

commit a08d3c00dcbb9d956c0c86998b341be1da386fb2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 16:49:14 2011 +0200

    Replaced empty GLWordlView QWidget by TeapotView example from Qt3d.
    
    - this completes the initial test for a QGLView derived class.

commit da8f976db1621e38a0ee1d854a6bd9c8aab85bd0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 16:36:52 2011 +0200

    MEMFIX: in QtMainWindow and preventing segfault.
    
    - QtMainWindow did not remove its MainMenu.
    - QTUIFactory's deleting app causes segfault as of now (close button might
      delete app already?). Removed, though causes memory leak.

commit d238e7e948efa1a2e02036034b4407a09d66674d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 16:34:14 2011 +0200

    Replaced GLMoleculeView by Qt3D/GLWorldView, which is as of now a dummy.
    
    - Qt3D/GLWorldView has no function but compiles.
    - will contain a QGLView eventually.
    - adapted QtMainWindow to contain the different class.

commit 060ba4d6cd1eae34f74c568b5a8bba925209a97d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 16:28:48 2011 +0200

    Replaced m4 macro gwqt4.m4 by bnv_have_qt.m4
    
    - as is used with seismolo.
    - @MOC@ -> QTMOC, @UIC@ -> QT_UIC.
    - QT_LIBS has it all.
    - new QT_DEBUG when Qt debug should be printed or not.

commit bd8788bcc2770639f10e6ae00ebace78491ad284
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 26 16:24:46 2011 +0200

    src/Makefile.am: Adding to variable bin_PRORGRAMS.

commit 573d72e37429185a7a44c99c55ce6c49640a7f88
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Aug 15 12:55:56 2011 +0200

    FIX: saveAll() had some senseless memory allocation.
    
    - this is a remnant of a test whether MemDebug showed this still allocated
      memory correctly.

commit 47812bf29752df13c8f68d7f28e671425f9384a7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 12 18:09:00 2011 +0200

    FIX: MolecuilderGUI crashes on selecting molecule.
    
    - QtWorldView::update() set ATOMS column twice, hence FORMULA was NULL item.
    - rename in enum COLUMNTYPES: ATOMS->ATOMCOUNT.

commit b40b9d6354d6e302484b05573727b84ac8f4106a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Aug 12 17:16:28 2011 +0200

    FIX: Bonds are now displayed correctly.
    
    - using Vector::VectorProduct() to correctly create normal vectors and fixed
      therewith GLMoleculeView::makeCylinder().

commit 29daadd534e411fe720e18c440a42be6eb53edc0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 11 17:14:05 2011 +0200

    Added rudimentarily working GlMoleculeView (class was empty before).
    
    - We took over the code from (ancient) branch MolecuilderGUI and adapated it
      to the current standards. Atoms are drawn, bonds in some so far wrong
      direction as well.
    - Note that the guz has trouble showing dialogs for all Actions. This should
      be some minor bug.

commit 064178f528b483f670f19f89ffe6723a2f46d988
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Aug 11 16:20:59 2011 +0200

    Added color database to periodentafel.
    
    - periodentafel::LoadColorDatabase() added and added to cstor.
    - element::color as unsigned char[3] added.
    - element::getColor() added.
    - ColorDB const string in elements_db.[ch]pp added.
    - added LoadColorDatabase() to periodentafelTest::LoadStoreTest().

commit 81c980b965fafebb2dcfa97d9e7af728f828bf96
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Aug 9 18:56:31 2011 +0200

    Added new action to set the ATOMDATA in tremolo's .data output file.
    
    - new action is set-tremolo-atomdata in ParserAction.
    - added regression test.

commit f7c19ef45479bcaff60cc9fdb2998767b71aefb3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Aug 9 18:39:43 2011 +0200

    Some fixes to parsing files.
    
    - MpqcParser::save() does not store all atoms but those given in the
      parameters.
    - FIX: MoleculeListClass::AddHydrogenCorrection() and FilePresent() check with
      bad() and eof() whether file is missing or has ended.

commit dc882751b0f5d22558db16527011af688d013cd3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 25 00:34:16 2011 +0200

    Set version of LinearAlgebra to 1.0.2.
    
    - LinearAlgebra library is now 2:0:0.

commit 26108c891400d13c6ff2a37395d1a3566003a995
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 25 00:30:42 2011 +0200

    FIX: Changed ambigious interface for MatrixContent::transpose().
    
    - now, if we transpose in place, the function is transpose() (active voice).
    - if we transpose to other MatrixContent, it is transposed() (passive voice).
    - this also changed the interface for RealSpaceMatrix::transpose().
    - fixes in several unit tests where before we always had to explicitly cast
      the matrix to const in order to make use of the passive voice form.

commit 59e06352565152e740ef911af808bb55268fba36
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 23 22:22:03 2011 +0200

    Set version of LinearAlgebra to 1.0.1.
    
    - LinearAlgebra library is now 1:1:1. due to changes to code and adding to
      interface VectorContent and MatrixContent.

commit cec7a55776b5068824e2e8a898b8c9ba9b3b6137
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 23 22:20:38 2011 +0200

    Added Singular Value Decomposition to MatrixContent.
    
    - this allows for solving over-determined linear system of equations in a least
      squares sense: || Ax - b ||^2.
    - Unit test added on SVD and solving of an example system.

commit 7a03405921dca3b136f7e49c7e1b3797e598c4fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 23 21:41:36 2011 +0200

    Renamed MatrixUnitTest to more appropriate RealSpaceMatrixUnitTest.

commit e420f9699375be338a4e7e5c3b2b6e979946c03c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 23 21:38:12 2011 +0200

    Added read/write capability of VectorContent from stream.
    
    - this is all taken and adapted from MatrixContent.
    - Unit test function added on this.

commit d2bac9e91c385f9133253b99832fac5878a01c61
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Apr 24 00:51:59 2011 +0200

    Added VectorContent(gsl_vector *, bool).
    
    - Via the bool it can now be specified whether VectorContent assumes ownership
      over the gsl_vector or just wraps it temporarily.

commit 8b8a5b378d2399432b6e5b67d730a223d13d776b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 30 15:58:11 2011 +0200

    FIX: Parser/Mpqc-SetParameters and redo/undo are working.
    
    - also Undo would check for CLKS which the file sets and is not the default
      value of theory, we now check for MBPT2 and Undo works.

commit 473237055cdf05b40bc70aa53d5b35d6960b4daf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 30 15:10:10 2011 +0200

    FIX: PdbParser - CONECTs with full 80 chars were not parsed correctly.
    
    - this fixes ticket #147.
    - also, we now write full length CONECTs.
    - added regression test to check on this behavior.
    - TESTFIX: Parser/Pdb/with-conects now diffs with '-w' to ignore white spaces
      errors. CONECT lines need not have full length.
    - TESTFIX: Molecules/BondFile/Fragmentation now diffs with '-w' as well.

commit 8990879f0d70e37254ee9c7844475862be401b8a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 30 14:31:44 2011 +0200

    FIX: PdbParser - symbol is now parsed and written in capital letters.
    
    - This fixes ticket #146.
    - Added regression test to check this behavior.

commit f6ba43405488e9595322b8bef96c7c7fb1191d67
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 11:07:46 2011 +0200

    Many smaller changes to CreateMicelleAction to get it fully working and compliant.
    
    Changes to MoleculeCreateMicelleAction::performCall():
    - returns Action::success when no molecule is selected.
    - we check for selection of not more than one molecule.
    - we store full undo (positions in selected molecule and added molecules).
    - new parameter DoRotate to tell whether to mirror molecule along z axis or
      not.
    - FIX: we rotate to PAS only in case of more than one atom present in molecule.
    - FIX: copied molecules are added to World's MoleculeListClass (and correctly
      removed in performUndo()).
    - FIX: Placed shifting original molecule into own block and corrected usage of
      RotationAxis.
    
    - Also performUndo() is fully implemented.
    - we can... and shouldUndo().
    
    - added regression test on both do and Undo.

commit c521e15fac8ef6fb70fa919455eee4364ac68fa6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Sep 27 11:07:11 2011 +0200

    FIX: Shifted CopyMolecule in regression tests to alphabetical order.

commit c88597db2d870358b59615ead9c13f587c938698
Author: Daniel Dueck <dueck at ins.uni-bonn.de>
Date:   Mon May 16 18:32:53 2011 +0200

    Rotation of the molecule in order to bring the polar side of the molecule to the outer side of the sphere.

commit 37f9d4101597f8ba2fd2cd5b4c37bdbe8c1a9691
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue May 10 19:30:45 2011 +0200

    Changed some non-standard stuff with CreateMicelleAction.
    
    - renamed files CreateMicelle -> CreateMicelleAction.
    - rewrote german comments in english.
    - removed #define, replaced by typedefs.
    - removed commented-out code pieces.
    
    - TESTFIX: regression test 93 failed due to ATOMDATA line being different for
      tensid.data and water.data. I use the one from tensid.data and re-created
      the water.data with this line.
    
    Changed due to rebase onto v1.1.3:
    - renaming done before already.

commit 2e352f30207b69623be3c5c319359d2810255ecd
Author: Daniel Dueck <dueck at ins.uni-bonn.de>
Date:   Wed Apr 6 19:17:41 2011 +0200

    Because of problems with columns in data-files, some changes were done.
    
    - atom::CorrectFactor() does not set fathet to itself anymore in father's
      father case.
    - molecule::CopyMolecule() does not correct fathers anymore
    
    Changed due to rebase to v1.1.3:
    - removed changes to TremoloParser.cpp and boundary.cpp.

commit faca99c4b3a8189ab455e43e58a6dae918e736fa
Author: Daniel Dueck <dueck at ins.uni-bonn.de>
Date:   Sat Jan 15 17:11:41 2011 +0100

    MoleculeAction create-micelle: code updated; Baseshapes: procedure getHomogeneousPointsonSurface updated
    
    Changed in rebase onto v1.1.3:
    - replaced parser instantiations by getter to FormatParserStorage and World.
    - removed doubly present loop over count (creates 194^2 points).
    - We create now less than desired points, Unit tests checks for 194 instead of
      originally 200 points.

commit 807c0e436d410a1be20e422e058fff53475aaef6
Author: Daniel Dueck <dueck at ins.uni-bonn.de>
Date:   Wed Oct 13 10:26:41 2010 +0200

    Daniel has recently changed his mizelledata to work as an action "create-micelle" within molecuilder.
    
    - BUGFIX: performCall() did not return an Action::success.
    
    Changes due to rebase to v1.1.3:
    - replaced instantiated parsers by getter to FormatParserStorage and World.
    - adapted .def file to present standard.
    - renamed CreateMicelle to compliant CreateMicelleAction.

commit e2e0a5aeb2de4b1a4ca6145edf6923b383c5bd3c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 16 11:25:01 2010 +0200

    Added Daniels version from 2010/09/15 and Makefile stuff to this branch.
    
    - Changed Daniels version a bit such that it compiles:
     - removed code that is in comments
     - BUG: FragmentationSubgraphDissection() has to be in front of removal of
       original molecule.
     - rotation done by Line::RotateVector() as well
     - replaced while by tighter for loops
    
    Changes from rebase to v1.1.3:
    - no need to populate actions, removed MapOfActions include.
    - replaced instantiated parsers by getter to FormatParserStorage().
    - added MemDebug.hpp and config.h inclusion to mizelledata.cpp.

commit c4cde16be7aa43dfc48d824ce2782f90be1dc23c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 20:37:47 2011 +0200

    Set version to 1.1.3.
    
    - Codename "Donald Duck" (the license plate of his first car in a 1938 comic) :)

commit e85333cbdf94b0f1a5c3369818d89b648d323a69
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 4 16:04:28 2011 +0200

    DISTCHECKFIX: AUTOTEST_PATH is now used as path to moleculder in molecuiler.in for tests.
    
    - this closes ticket #149.

commit b4e3fe35dd420400cf9a1ecb5071f492e53159a1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 4 16:04:03 2011 +0200

    DISTCHECKFIX: .moc.cpp files were not in MOSTLYCLEANFILES.

commit 7db9bdca097aa9e4f1c2d317be2952824752399f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 4 13:59:19 2011 +0200

    DISTCHECKFIX: Replaced AUTOTEST_PATH by real path (e.g. tests/regression).
    
    - this corrects VPATH problems with 'make distcheck'.

commit 740d40e9b13bb9dbeb059d1f879dae6db1a97e2d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 18:56:25 2011 +0200

    Rewrote tests/Fragmentations with autotest test driver.

commit 689639d55a02f461620aa8b592dbae38a20aff61
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 18:14:28 2011 +0200

    DISTCHECKFIX: Smaller changes to tests/regression Makefile.am and in configure.ac.
    
    - this is stuff learnt from rewrote of tests/Tesselations.
    - also added AC_CONFIG_TESTDIR for CodeChecks in tests and LinearAlgebra/tests.
    - atconfig files are removed in DISTCLEANFILES.

commit a85f4542482b1c8da1342c3250ec1e4dbcab52f1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 18:12:18 2011 +0200

    Rewrote tests/Tesselations with autotest test driver.
    
    - this made the whole tests a lot easier (and working with distcheck hopefully, too).

commit aba610cde06d025a98237132edfdeacef9fe648c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 14:46:48 2011 +0200

    FIX: EXTRA_DIST in tests/Tesselations and tests/Fragmentations lacked the test files and others.

commit 552597fe713aa65c498025df8719af1f913e8a62
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 09:44:37 2011 +0200

    FIX: Renamed CommandLineParser_ActionRegistry_ConsistenyUnitTest -> CommandLineParser_ActionRegistry_ConsistencyUnitTest.
    
    - both in files and in class name.

commit fec3813f626b40a0ef8ea6647dd2536bc93a711d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Sep 29 09:22:35 2011 +0200

    Replaced molecuilder's CXXFLAGS by AM_CPPFLAGS instead of only BOOST_CPP_FLAGS.

commit 79de12a31074a28e29afce5800da9884f1b1cd0d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue May 10 14:35:11 2011 +0200

    Replaced *_boost_*.m4 by boost.m4 from tsuna.
    
    - https://github.com/tsuna/boost.m4/ has a very nice boost m4 macro to check
      for presence of boost headers and libraries, also setting the rpath
      correctly.
    - required changes in all Makefile.ams as BOOST_... variable names have
      changed.
    - added all .m4 files to EXTRA_DIST.
    - added Boost's LDFLAGS to libMolecuilderUI and ..QtUI's LDFLAGS such that
      libs in usual paths are found, too.

commit 5a8f38580d2593615980b7513d7e2e2a4c413589
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 7 19:14:23 2011 +0200

    FIX: "position" and others were not accepted because they have been added multiple times.
    
    - some newer version (1.46) of boost program options does not seem to like
      multiply added options although they are all the same (type, ...). This is
      fixed.

commit ec188cd9bf78485f7613e2bea7509b0f99ac5c34
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri May 6 10:27:22 2011 +0200

    Fixed Doxygen usage.
    
    - using now functions from ac_doxygen.m4, added TOP_SRCDIR to DX_ENV_APPENDs.
    - Doxyfile's now used environment variables set by these functions.
    - ac_doxygen.m4 patched with this due to "not a valid shell variable" bug:
      https://issues.apache.org/jira/browse/AMQCPP-191
    - used aminclude.m4 from doxample (by Oren Ben-Tiki) renamed to
      ac_doxygen_include.am.
    - added phony target doc that calls doxygen-doc for both molecuilder and
      LinearAlgebra.
    - DOCUFIX: fixed a doxygen bug in analysis_correlation.cpp: getDipole().
    - Doxyfile(s): Both INPUTs point now to $(TOP_SRCDIR)/src, which is correct for
      both (separate) packages.
    - configure sets docdir as doc target dir.

commit 632a52b11abb20d9061552caa17f2fbef9b87353
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Aug 9 18:59:24 2011 +0200

    FIX: boost::filesystem 1.47 changed output of extension(), stem(), and leaf().
    
    - fix was to add .string().
    - we check for BOOST_VERSION to be greater equal than 104600 to apply this fix.

commit e5c233cf7fc321481d7f2bd42b55e4580bbc581e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Aug 10 09:31:49 2011 +0200

    FIX: replaced boost/exception.hpp by boost/exception/all.hpp.

commit 416f10c2b16b2231b57ec982e4c5132067b090fa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Aug 9 18:34:34 2011 +0200

    FIX: help string on domain is wrong.
    
    - CommandHelpAction() gives components of symmetric matrix for domain in wrong
      order (upper now lower triagonal).

commit d1912fffef19cf0c1e8759c90abbf98943a9e7fd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Sep 28 11:45:58 2011 +0200

    FIX: \text{} replacec by \mathrm{} in doxygen formulas.

commit a08d6609baab55d50214c73a7aa64f50c0786260
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 20:59:09 2011 +0200

    Fixed wrong version numbers in headers of testsuites.

commit 718542b98ffda42460e79001a427f156caa6bcc9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 20:34:45 2011 +0200

    Filled action's token as keyword in each test.
    
    - also all keywords are now lower case.
    - undo and redo are listed as keywords as well if applicable.
    - FIX: Removed check for present molecules from SelectionActions. When none can
      be selected, this must not yield in failure of the Action but is perfectly
      acceptable.

commit 43a0aebcbd9fa87981dbf5339765fb0804d755c8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 19:33:30 2011 +0200

    FIX: All Unselection actions now have keyword unselection instead of selection.

commit f2872ae885ed8ca989001542d272c75794be73c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 19:31:05 2011 +0200

    Split off Unselections from selections in Selection/Atoms.
    
    - each testsuite*.at file now just has a single test (including undo/redo).
    - renamed testsuite*.at files: added missing "select-" such that full action
      name is contained in filename.

commit d70fffeeaa945095af732c68c3627ca366d9de9f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 19:12:12 2011 +0200

    Split off Unselections from selections in Selection/Molecules.
    
    - each testsuite*.at file now just has a single test (including undo/redo).
    - renamed testsuite*.at files: added missing "select-" such that full action
      name is contained in filename.

commit 7c958e3f7ce548c4bf2fc8abe3caa46d9990fd56
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 19:02:43 2011 +0200

    Removed CheckCommand.sh in Selection/Molecules.
    
    - multiple inclusion is currently not handled by autoconf in test part.

commit 93eb00f571cb1fc2dbc48382ec249ff9bc734782
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 18:16:20 2011 +0200

    FIX: Added forgotten regression test for unselect-atom-by-element.
    
    - has been missing so far, though unselect tests present for all others and
      select test present as well.

commit 520f93930dc8a9f478562e28fb307e3e18d9b0bc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 18:08:44 2011 +0200

    Split testsuite*.at files in regressions/Parser.
    
    - one test per file, although undo/redo remain in same file.

commit e69c87634c601039ae61a1acb0b03fc6b7bddd17
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 14:06:33 2011 +0200

    Splitted off Undo and Redo parts into own tests (3-step rule).
    
    - this way tests are cleaner as there are no old files left.
    - added lots of Undos/Redos.
    
    Corrected all failing regression tests (of these new Undos/Redos):
    - new ActionExceptions, specifically ActionFailureException.
    - Action::call() throws ActionFailureException when returned state_ptr equals
      failure.
    - ActionHistory::undoLast(), ::redoLast() also throw when returning state_ptr
      equals failure.
    - doUI() checks for thrownActionFailureException and sets World's ExitFlag to
      5.
    - the following Actions have canUndo/shouldUndo now true (although Undo/Redo
      return Action::failure):
     - MoleculeBondFileAction
     - MoleculeLoadAction
     - MoleculeRotateToPrincipalAxisSystemAction
     - MoleculeVerletIntegrationAction
    - the following Action's regression tests have been corrected when Undo/Redo
      capability was already present (e.g. empty.conf created for Undo case):
     - MoleculeRotateAroundOrigin
     - MoleculeRotateAroundSelf
     - MoleculeRotateToPrincipalAxisSystem
     - MoleculeTranslation (also for periodic)
     - MpqcParser
     - PcpParser
     - PdbParser
     - TremoloParser
     - XyzParser
    - FindNonConvexBorder(): status was always returned as false as all
      CheckListOfBaselines() had been commented out.

commit caeeb80840441e26c65bc21cf81c49717188c5b4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 11:16:03 2011 +0200

    Changes to regression tests: replaced all $file in ".../post/$file" by file name.
    
    - target files must not be in variables, their name is fixed by the filesystem!

commit 23b0c2555391ed336a0a7589e88eb386466789ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Apr 27 10:59:00 2011 +0200

    Restructured test*.at files: 3-step-rule.
    
    - three-step rule: setup, test, cleanup is now each separated by empty line.
    - test file name is (most of the time) placed into variable $file.

commit 61749d17054bcece39fba5420f0e225cd447c600
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 19:46:27 2011 +0200

    DISTFIX: package.m4 missing in several EXTRA_DISTS.
    
    - also, removed $(srcdir) prefix from its Makefile target.

commit 8544a33cea3ab42744bfb8341060547cca13a1f4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 19:45:59 2011 +0200

    DISTFIX: Missing header file World_calculations.hpp in src/Makefile.am.

commit fdcd1b73588b7c15f87110828836b0ef8c3f12ec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:35:34 2011 +0200

    Moved DummyUI.hpp from unittests to Actions/unittests/stubs.
    
    - note that it is only used there.
    - TESTFIX: changed inclusion in ActionSequenceUnitTest.cpp and
      ManipulateAtomsUnitTest.cpp.

commit 1e882ae154f988507b4a6df2947209c31d475449
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:34:18 2011 +0200

    DISTFIX: Removed unnecessary header file analysis_correlation.hpp in unittests/Makefile.am.

commit 4cf35ac91947662b202e1ff26e201da4fd076dba
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:32:04 2011 +0200

    DISTFIX: Missing header files in UIElements/Makefile.am.
    
    - missing:
     - Menu/TextMenu/TxMenuLeaveAction.hpp
     - Qt4/Pipe/QtQueryPipe.hpp
    - removed allmocs.moc.cpp from QTUISOURCE and is added as nodist_SOURCES as it
      is a temporary file.
    - we now require automake 1.5 due to the above dist_, nodist_ feature.

commit 94c3e76bff1ec090197bc0cff9b1bbf7cf328c05
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:30:58 2011 +0200

    DISTFIX: Header file Shapes/ShapeExceptions.hpp missing in Shapes/Makefile.am.

commit f134463bea77189705391c669077a617459502f9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:30:35 2011 +0200

    FIX: .def, .undef files missing in RandomNumbers/Makefile.am.

commit db3dd2dc28f5ae2ebe06a69929596195f91bfa51
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:29:49 2011 +0200

    DISTFIX: molecuilder_DATA was missing in EXTRA_DIST.
    
    - caused missing elements.db, ...

commit 36f507b1bd1ba07a2cd1197180a6c112e95869c6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:28:17 2011 +0200

    DISTFIX: Added missing header files to src/Makefile.am.
    
    - missing:
     - AtomSet.hpp
     - Descriptors/DescriptorBase.hpp and _impl.hpp
     - Descriptors/SelectiveIterator.hpp and _impl.hpp
     - BoundaryMaps.hpp
     - types.hpp

commit 9cd9ab2e11c145454ffd01534ce03b8cc6602d9a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:27:32 2011 +0200

    FIX: version.c is now included in MOLECUILDERSOURCE in src/Makefile.am.
    
    - header has been missing, too.

commit dd8990f0ba7a27ce4aa346f061b8500dc7c9dec0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:26:04 2011 +0200

    FIX: .def files of Actions have not been present in Makefile.am, although similar to headers.
    
    - added third variable ...DEFS to each subdir with all .def files.

commit 3001c9e46cce0362baca007b3c061df5e0baf9aa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:25:23 2011 +0200

    FIX: LoadAction.cpp and RemoveAction.cpp were doubly included instead of header.

commit 7159ed14ff2a781a124ce96659b2d528034556fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:23:50 2011 +0200

    DISTFIX: Missing header files in Actions/Makefile.am
    
    - missing: Action_impl_header.hpp, Actions_impl_pre.hpp, AtomsCalculation.hpp,
      and AtomsCalculation_impl.hpp.

commit c5e91c80bd1884a9970269987ac36bf8184710d6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:22:49 2011 +0200

    DISTFIX: Exceptions.hpp and VectorSet.hpp missing in LinearAlgebra/Makefile.am.

commit c8cfe35f708ba5944ec355cd264568d01a3af341
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:20:42 2011 +0200

    DISTFIX: fixed typo in EXTRA_DIST.

commit 768459b03b26501a732a980c136f0b6dcf14a25c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:20:14 2011 +0200

    DISTFIX: replaced testsuite*.at by the filenames.

commit 710dde4aedd658fec9779a8e9013ded56256bef5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:18:42 2011 +0200

    DISTFIX: manpage file man-molecuilder.in is just molecuilder.in.

commit 1bd42dbd8bac0d3b5c6d6c7811c2397026d2e5e4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:17:23 2011 +0200

    DOCUFIX: Fixed formula errors - replaced \text by \mathrm, \acos by \arccos.

commit dc322a95fe9cc369edc721168839af35d157982a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:16:19 2011 +0200

    DISTFIX: need to use tar-pax to allow for longer filenames in dist's archive.

commit 50228e270e2ef3c849bd22b5d3dd8ee9461a9d62
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 18:15:03 2011 +0200

    DISTFIX: in EXTRA_DIST autogen.sh instead of bootstrap was still listed.

commit dac853cbf770cdeafc4bdd7d6a4ed6e9869cea86
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 14:03:37 2011 +0200

    Rewrote HelpAction.
    
    - is currently only useful to CommandLineParser.
    - gives general help and either list of Actions or an Action's help.
    - TESTFIX: changed regression test on help as output changed (a lot).

commit 406bb5602ebca0fb814a7bc8777383eb42c9599a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 14:03:08 2011 +0200

    Removed verbosity of CommandLineWindow::display().
    
    - removed "Checking presence of ...".

commit ec098d161915883c8b8ee3b38268e0ea8e78164d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 13:58:38 2011 +0200

    Made info of CommandLineParser::AddOptionToParser() prettier.

commit e4b2f62dfca2ad7ca11a6a9379376695981407b1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 13:57:28 2011 +0200

    Added Action::help().
    
    - Action::help() returns a string that enlists all of its options including
      type of argument and default values. This will be used by HelpAction.

commit 13799e61558eed972ef8a0528faff8bbe010609e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Apr 21 13:57:08 2011 +0200

    FIX: Action::getName() is now const member function.

commit 3bd460af052917a45d592fa6b0fec95c039cefb1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 18 18:02:39 2011 +0200

    All Actions on domain now state the final domain size.
    
    - default text is "Box domain is now ..." and is checked also in regression
      test.

commit b7fbf02193ab395cdbc7ff2dd356938ee5660022
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 18 17:42:35 2011 +0200

    FIX: select-molecule-by-id crashed when no molecules are present.
    
    - each molecule selection action checks whether molecules are present at all
    - rewrote MoleculeByIdActions to take integer from command-line not molecule
      reference and perform the MoleculeById selection themselves (as do all other
      Actions, too).
    - this fixes ticket #134.

commit b404da2c175e7f9b95c08827089310ea2a800703
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 03:01:21 2011 +0200

    Set version to 1.1.2.
    
    - library is now 4:0:0 due to "removal" of LinearAlgebra.

commit 7a1dd0dd732364be0f3893be54188e99c0bbc3ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 18 12:05:27 2011 +0200

    Added regression tests on parsing present but empty files.
    
    - every Parser now first loads an empty file (no newlinw, 0 bytes) as initial
      regression test.
    - this closes ticket #131.

commit 4fdc6536733f18fb07af327a470c5552ca8c10ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 18 16:57:15 2011 +0200

    FIX: XyzParser and PcpParser fail on empty but present config files.
    
    - XyzParser::load() do..while -> while
    - ConfigFileBuffer::InitFileBuffer() do..while -> while
    - ParseForParameter() - check whether initially CurrentLine < NoLines.
    - NOTE: ConfigFileBuffer is not written in a stable manner, checks and
      encapsulation are missing. It should be refactored.

commit 305e7e066de5b54b2aeede90057a8e00faffd49c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 18 14:43:30 2011 +0200

    FIX: Type is actually spelled type with TREMOLO.
    
    - corrected in TremoloParser.
    - TESTFIX: the following tests has to be changed accordingly:
     - Parser/Tremolo
     - Parser/Tremolo-Potentials
     - Atoms/Add
     - Filling/FillVoidWithMolecule
     - Molecule/Copy

commit 4217e768dc3bd03c7e60ad2a4aaf951c557eab5a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 18 10:28:40 2011 +0200

    Added regression test on --parse-tremolo-potentials.

commit 4555736a848291ba2a2394892fd02081032c5861
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 17:25:13 2011 +0100

    Large Commit: SUBDIRS in src/Makefile.am replaced by include.
    
    - This should let make decide on the dependencies automatically.
    - We had to change each Makefile.am due to different relative location
      now.
    - FIX: convenience libs were not created due to lib_LT... instead of
      noinst_LT... (thanks, Ralf!)
    - FIX: convenience libs cannot pass on dependencies on real libs, these
      (seemingly: libLinearAlgebra) have to be re-specified.
    - FIX: RANDOMSOURCE/HEADER were still present to include in libMolecuilder
      although RandomNumbers have been outsourced for some time already.
    - this should make it a lot easier for unit tests to get away with the
      massive dependencies because we may now include single libs and can
      construct stubs in replacement.

commit ca2cfa90c7de8dcc5abc2fe3009b82a5946e1c28
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Apr 18 14:44:04 2011 +0200

    FIX: TremoloParser writes neighbours as sorted list.
    
    - TremoloParser::writeNeighbors(): indices of neighbors are now written in
      sorted manner.

commit bf4b9ff97113f58a6031de8f9e67813336ae63f1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 02:53:43 2011 +0200

    Moved LinearAlgebra from folder src/ into distinct sub-package.
    
    - src/LinearAlgebra folder is now LinearAlgebra/src/LinearAlgebra due to
      include consistency.
    - src/LinearAlgebra/unittests have been moved to LinearAlgebra/unittests.
    - All Makefile.am's had to be changed due to changed location of library.
    - renamed libMolecuilderLinearAlgebra to libLinearAlgebra.
    - CONFIG_AUX_DIR is build-aux 9for molecuilder and LinearAlgebra).
    - m4 is symlinked from below.
    - build-aux now contains small README such that it is created automatically.

commit 3e2225f811016c9e0bb983b9e653cc67856805b1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 01:11:48 2011 +0200

    Removed subdir Exceptions and libMolecuilderExceptions.
    
    - changes in many Makefile.am's.
    - this completes replacement of Exceptions by boost::exception.

commit 336e331077ae1495a8fb791f9f59393e6adcb006
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 01:03:04 2011 +0200

    Removed MissingValueException from Exceptions.
    
    - is now boost::exception-derived in ValueStorage.hpp.

commit 88267818974ad107d18379d2ec3d0d19c96351bd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 00:29:00 2011 +0200

    Removed IllegalTypeException from Exceptions.
    
    - is now boost::exception-derived in ValueStorage.hpp.

commit b94634903469fbb4f8f27672f141d13d2700a169
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 00:08:13 2011 +0200

    Removed NotOnSurfaceException and ShapeException from Exceptions.
    
    - ShapeException is now base class for NotOnSurfaceException, both are derived
      from boost::exception.

commit b88fe4cde25eb17a90126edc680f80f5b35c49c9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 00:03:21 2011 +0200

    Removed Exceptions/FormulaStringParseException.
    
    - is now boost::exceptions-derived and part of Formula.

commit 00bb38e01da38a92854e72c77a6654dea58e2626
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 23:33:38 2011 +0200

    Removed libMolecuilderExceptions from LinearAlgebra.
    
    - now we may place LinearAlgebra into own autoconf sub-package.

commit 783e885947b7814a6e0a4ae6029926646165b744
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 23:30:33 2011 +0200

    Removed LinearDependenceException, MultipleSolutionsException and MathException from Exceptions.
    
    - the first two are now boost::exception-derived.
    - LinearAlgebraException takes the place of MathException where both have to be
      caught.

commit 8b9c43d8a9fd262a308876876cf5a443b3dbb2b8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 22:27:13 2011 +0200

    Removed Exceptions/ZeroVectorException.
    
    - is now boost::exception-derived.
    - new error_info LinearAlgebraVector.

commit a700c4c185c43a45a447fc2167a3e93e0a5ef567
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 22:02:47 2011 +0200

    Removed Exceptions/NotInvertibleException.
    
    - is now a boost::exception-derived LinearAlgebraException.
    - error_info LinearAlgebraMatrixContent now takes const MatrixContent * const.

commit 3bfd78571692d65b69ab59f338e6f7ff197af6f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 21:52:21 2011 +0200

    LinearAlgebra now begins having its own exceptions derived from boost::exceptions.
    
    - boost::exceptions allows to add arbitrary information in higher context to
      a thrown exception and has a nice diagnostic output, allowing so-called
      exception wrapping maintaining exception-neutrality.
    - deleted Exceptions/SkewExceptions.*
    - new file LinearAlgebra/Exceptions.hpp.

commit 2558294f484d39a0281f98d18f6262ab77448e87
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 21:26:03 2011 +0200

    Removed Helpers.hpp, deleted Helpers.cpp and libMoleCuilderHelpers.la is history.
    
    - defs.cpp is now compiled into libmolecuilder.la.
    - ShapeUnitTest alone needs defs.cpp.
    - Most changes are removal of Helpers/helpers.hpp.
    - performCriticalExit() now inline function in Helpers/helpers.hpp.
    - also inclusion possible where performCriticalExit() is needed.
    - Helpers/helpers.hpp does not include defs.hpp anymore and this causes
      lots of missing Helpers/defs.hpp, CodePatterns/Log.hpp and alikes.
    - removed src/Helpers from configure.ac.

commit 8766e72010ab64c79807df9ff4eb81ce55f43598
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 20:17:43 2011 +0200

    FIX: setRandomRotation() used probably faulty rotation matrix.
    
    - MatrixTest::RotationTest() indicated that rotation matrix did not have
      a unit determinant. Hence, it cannot be an orthogonal matrix.
    - instead we use function RealSpaceMatrix::setRotation() instead.

commit b81f1c37e2cae3aa13b96b83b26fd5091886b161
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 17:14:39 2011 +0200

    Removed libMolecuilderRandomNumbers from LinearAlgebra.
    
    - added RealSpaceMatrix::setRotation() that accepts phi[NDIM].
    - moved RealSpaceMatrix::setRandomRotation() to boundary.cpp where it is solely
      used.

commit 819cbed89a1b1c8ad28590a925dbf1e1e2054c50
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 17:12:21 2011 +0200

    FIX: MatrixTest::RotationTest() allowed also rotations matrices with det of -1.

commit 0a60eeb5e43ca7bfc3e01dd52cc33418b116bbed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 17:11:55 2011 +0200

    Removed libMolecuilderHelpers from LIBADDs in LinearAlgebra.

commit 71129f9baea5c7b294d5612a2cf24cf00ef7b14e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 16:28:45 2011 +0200

    Removed inclusion of Helpers/...hpp from LinearAlgebra.
    
    - VectorContent needed replacing MYEPSILON by LINALG_MYEPSILON.
    - LINALG_MYEPSILON is now function (defines are ugly!) that returns
      numeric_limits<double>::epsilon()

commit 5605793b50554c75171309f425f1848783edb5d0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 15:42:40 2011 +0200

    Moved PLURAL_S from Helpers/helpers to UIElements/Views/Qt4/QtStatusBar.

commit 0d03166b84523d21b5a24e252f06c2d1c8836345
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 15:36:59 2011 +0200

    Removed FixedDigitNumber from Helpers/helpers.
    
    - is now inlined function with MoleculeListClass and parser's MatrixContainer.

commit 67acff3b2b5a7a2780e62d6485ef467f15c03a57
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 15:30:04 2011 +0200

    Removed debug and debug_in that are no longer used.

commit 88874313f4197328929a0851202248fa35de9d9a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 15:24:37 2011 +0200

    BUGFIX: VectorContent::free_content_on_exit not initialised for VectorBaseCase.

commit cd406d8141ce4864a4ec88d2970d8b496562a3bd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Apr 1 15:24:08 2011 +0200

    Moved sign() from Helpers/helpers to LinearAlgebra/fast_functions.hpp.

commit 6f68d6fb6d9ac0188a952835078622c964fe52dc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 30 22:45:38 2011 +0200

    Added possibility to parse MatrixContent from stream and to write to.
    
    - MatrixContent::preparseMatrixDimensions() needed due to const members rows
      and columns.
    - extended present unit test on both features.

commit 0e4aa4d2a8b0ce6daba3c91d5905d1a870b8d520
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 30 21:25:24 2011 +0200

    FIX: MatrixContent::sortEigenbasis() sorted by magnitude not value.

commit abfb12fe5dc5a45969d3e096df350658a1bfb9e3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 30 21:23:58 2011 +0200

    VectorContent also free's ::content when delivered by pointer.
    
    - the constructor with pointer argument is meant as a wrapper around a normal
      gsl_vector. Hence, it should not free the gsl_vector itself.

commit 644d03de2a9c4ec1df012d1871b381ea3c5c9d13
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 23 21:28:49 2011 +0100

    Added operator+ and operator- for two MatrixContent's.
    
    - += and -= have been present and all for VectorContent, but + and - were\
      missing for MatrixContent. Added those two.

commit a9c55698942f788e19972e1ede73d15250e27283
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 14 17:15:28 2011 +0100

    Removed Subspace stuff from this project.
    
    - has been relayed along with unit test into its own project:
      SubspaceFactorizer.

commit 06aedcbf17e4e4c9e8e3bb29a2bca5c03beb986b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 14 11:41:50 2011 +0100

    libMolecuilderLinearAlgebra is now a self-contained library fit for external use.
    
    - added LinearAlgebra.pc.in and LinearAlgebra-debug.pc.in (both require
      CodePatterns, the latter CodePatterns-debug).
    - added LINEARALGEBRA_SO_VERSION (set to 1.0.0) to configure.ac.
    - moved NDIM from Helpers/defs.hpp to new file LinearAlgebra/defs.hpp.

commit 9b410d4225f83b0e1aa39d84b3bd1bf3123fc2b3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 14 14:54:08 2011 +0100

    Replace MYEPSILON in LinearAlgebra/ by LINALG_MYEPSILON.
    
    - this is preparatory for external use lib libmolecuilderLinearAlgebra.
    - new file LinearAlgebra/defs.hpp.

commit 1be8a5db51403592a61b0f3071550ee1f2030c56
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 14 14:37:17 2011 +0100

    Changed inclusion of LinearAlgebra/Vector.cpp.
    
    - Removed unneeded inclusion of World.hpp from LinearAlgebra/Vector.cpp.
    - Added required inclusion of cmath to LinearAlgebra/Vector.cpp.

commit dcc22897f02ef806a05b6d07248b009c7d3925a5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 7 12:02:03 2011 +0100

    Added script to check all commits in a given range externally.
    
    - i.e. the repository is cloned and we go through every commit in the range
      by a respective git checkout including bootstrap, configure, make, and
      make check phase, both with and without debug.

commit a9b20c0e45ff5b27b12063c8931880d9e3b01794
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Apr 2 02:58:32 2011 +0200

    Set current version to 1.1.1.
    
    - library is now 3:0:0.

commit 37b2f913fa2e9ffae9bf60705af9678b84b39b29
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Mar 7 12:01:35 2011 +0100

    Added doc/html to gitignore.

commit 61775a83598a3d535d294335a2a8bb6232049f6d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 3 02:29:55 2011 +0100

    Removed templated CreateFatherLookupTable from helpers.hpp.

commit 13a95397b14b03aa8f1b4580623690439ed06e5a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 3 02:28:42 2011 +0100

    Moved molecule::CheckAdjacencyAgainstFile() into functor in Graph/.
    
    - Note that this is currently not working because there is no correct mapping
      from indices in the adjacency file to the indices of the atoms (and without
      some fixed mean of aligning atoms, this will never be possible).

commit 2d4334de0df04fbf9bf9d9b86cdd57638d71e072
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Mar 3 01:11:14 2011 +0100

    Moved BuildInducedSubgraph from molecule into functor in Graph/.
    
    - BuildInducedSubgraph::ParentList has been reworked into map<atom*,atom*>.

commit dda246d334045cb752f130960f92fe011e0d85b8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 00:23:25 2011 +0100

    Made Helpers into commodity library to prevent double inclusion.
    
    - This is also preparatory for Makefile refactoring.

commit d09093c691897e07d538a3b07ec8605572e2d8a9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 1 15:22:07 2011 +0100

    Moved all graph-related Actions into own folder Actions/GraphAction/.
    
    - added new graph menu to MenuDescription.
    - added new action menu Graph to CommandLineParser.

commit 197e13d45cf228a9931bce7e6337668093466a83
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 14:31:11 2011 +0100

    Added MenuDescription_ActionRegistry_ConsistenyUnitTest to check whether Actions have menus not listed in MenuDescription.
    
    - Menus may be added to Actions and there is so far no check on whether
      MenuDescriptions, i.e. the base for the menus of both QtUI and TextUI,
      knows about this Menu (it needs respective entries in three contained maps).

commit 19290fc182f2d682bc1633033fa3d3bb37d1c9d0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 14:12:54 2011 +0100

    Added CommandLineParser_ActionRegistry_ConsistenyUnitTest to check whether Actions have menus not listed in CommandLineParser.
    
    - Menus may be added to Actions and there is so far no check on whether
      CommandLineParser knows about this Menu (it needs a respective
      program_options map).

commit c6e5eb04bc75c10ffa001730944df215d101dbb7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 15:40:38 2011 +0100

    FIX: CommandLineParser::setOptions() added option_descriptions hard-coded.
    
    - this is prone to errors (which took us a while to find), instead all
      contained in CmdParserLookup are added to both visible and cmdline_options.

commit 137ae140606b0df28861bb9c9f5359feb7c1bac3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 14:32:43 2011 +0100

    FIX: Made MenuDescriptionTest::ConsistencyCheck()'s failure message a bit clearer by giving missing token.

commit 7d8aa0ed294faa7d4ce63827ae1a11ba140ffe4d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 14:11:04 2011 +0100

    Typo in protecting define for MenuDescriptionUnitTest.

commit efe5160ad303df71b958a8e888770461a77b5bae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 1 15:16:44 2011 +0100

    Removed bond::nr.
    
    - has only been used by BreadthFirstSearchAdd.
    - changed BreadthFirstSearchAdd::AddedBonds into map<bond*,bond*>.

commit 2fa1dcc10971a1dc0e6a4500bbaec2e5135ac6ec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 23:49:02 2011 +0100

    Removed regression folders Fragmentation/2ndOrder and ./MaxOrder.

commit 49c059c36d49bc80016beb5b2ba5a56947f5f28c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 23:15:31 2011 +0100

    Moved DepthFirstSearchAnalysis into functor in Graph/.
    
    Smaller fixes:
    - molecule::CorrectBondDegree() - does not rely on BondCount which was not
      necessary anyway.
    
    - DFS does not copy atoms or molecules anymore but reinitiates the current
      molecule structure with present atoms, used new class ConnectedSubgraph for
      that. New functions:
     - UpdateMoleculeStructure() - reinstantiates molecules.
     - getMoleculeStructure() - puts molecules into chained list.
    - adapted because of that:
     - DepthFirstSearchAction: uses DFS and CSA functors, also
       UpdateMoleculeStructure() such that CSA has current structure.
     - FragmentationAction: assumes connectivity fully present, DFS created.
     - SubgraphDissectionAction: uses DFS and UpdateMoleculeStructure().
     - molecule::FragmentMolecule(): no more DFS, instead DFS has to happen
       beforehand and is given as parameter, used to obtain chained list for
       compatibility for the moment.
    - DepthFirstSearchAnalysis::SetNextComponentNumber() bugfix due to wrong
      assert.
    
    TESTFIXES:
    - Fragmentation and regression test Fragmentation/FragmentMolecule:
      FragmentationAction now needs SubgraphDissectionAction beforehand.
    - shifted id (down by one) due to non-copying (before: one big molecule,
      copied and split up system started at 1, now it starts at 0):
     - (Un)Selection/Atoms/AllAtomsOfMolecule
     - Analysis/SurfaceCorrelation
     - (Un)Selection/Molecules/MoleculeById (also renamed post-files accordingly)
     - (Un)Selection/Molecules/MoleculeByName

commit 1a4d4fe643276ccfaf48040266dbe8e6b192ced2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 22:26:03 2011 +0100

    FIX: bond::~bond() checks whether the bond is a ring circle, leftatom == rightatom.
    
    - Unregistering the same atom again leads to seg'fault.

commit e73ad9a5d1596d6e9a9f9c6a17bf256479595404
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 21:52:50 2011 +0100

    Moved CyclicStructureAnalysis from molecule_graph.cpp into own functor in Graph/.
    
    - libMolecuilderGraph needed by libMolecuilderAction and libMolecuilder now.
    - replacing call to CyclicStructureAnalysis in molecule::FragmentMolecule()
      required removing MinimumRingSize from ::FragmentBOSSANOVA() and
      ::CheckOrderAtSite().
    - replaced call in DepthFirstSearchAction.

commit 2e4105630d51f1e775d9d45b32869bce5c038470
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 21:44:07 2011 +0100

    molecule::erase() is only used by atom::removeFromMolecule().
    
    - everywhere else -- even within molecule -- we call
      atom::removeFromMolecule().
    - molecule::erase() is private, atom is friend to underline this.

commit 0d9546d9326121813c893132980c5ec73e25ec7f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 21:35:47 2011 +0100

    new function atom::unsetMolecule().
    
    - is meant along with setMolecule() to be used by molecule only to allow for
      (un)setting mol reference.
    - atom::(un)setMolecule() is private.
    - AtomicInfo added also as friend to atom::setMolecule().

commit 1363de855fb482f9b1722a9ca5ef1aa1bde95a88
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 21:35:17 2011 +0100

    DOCUFIX: atom - Moved all doxygen documentation to header file.

commit 09ac12a511805f41520d52c772d21c17d8247458
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 21:04:45 2011 +0100

    Added new class ConnectedSubgraph.
    
    - inherits list<atom *>.
    - will be later used by DepthFirstSearchAnalysis.
    - mostly contains a function to generate a molecule from the contained atom list.

commit 111387aec9ad3d775c5a8463dc8ce9dafad22cd6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 22:01:16 2011 +0100

    FIX: BreadthFirstSearchAdd header only includes GraphEdge, not bond anymore.

commit 12920404e7a45c1ac4fe563b7c5a29891f5e662a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 20:58:54 2011 +0100

    Moved bond.* to Bond/, new class GraphEdge which contains graph parts of bond.
    
    - enums Shading and EdgeType are now part of GraphEdge, hence bigger change in
      the code where these are used.

commit 766ba546abe583269feb13496ad21d0857081c89
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 16:54:48 2011 +0100

    bond::GetColor() is now static function bond::getColorName().

commit 53d6b265421d71dfd6355f93fe27b0b06473194f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 16:44:44 2011 +0100

    Moved unused function BreadthFirstSearchAdd and subfunctions into functor in Graph/
    
    - new commodity library libMolecuilderGraph and new subfolder Graph with own
      Makefile.am.

commit 99752ac32a6b5b4b90ea6288654d966ac4421175
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 16:40:39 2011 +0100

    Moved FillBondStructureFromReference from MoleculeLeafClass to molecule.

commit c6123b29bfd4ed1187d08572debda704f114b2c4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 16:22:51 2011 +0100

    Moved FillListOfLocalAtoms() from MoleculeLeafClass to molecule.

commit 341f2216a805ad9df99fc2dabe474ac6089179ff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 14:32:43 2011 +0100

    Removed molecule_dynamics.cpp

commit 435065d3d9c23062fca0bb67ff882fade26acced
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 22:48:20 2011 +0100

    Rewrote VerletForceIntegration into a functor in Dynamics/.
    
    - we now have the regression test working with checking against an integrated
      file which has not been checked though (just by eye and logged output to make
      sense, not against other code).

commit eb33c4a913ab83436dbf30ab934797ec2d623036
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Mar 2 22:40:51 2011 +0100

    LinearInterpolationofTrajectoriesAction only interpolates, does not save.
    
    - This should make the action more versatile.
    - Saving generated paths can easily be done (and is done so for regression
      test) by a specific SaveSelected..Action.

commit e355762f9447acb9c234eadd3df6adc314e5dee7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 12:41:34 2011 +0100

    Rewrote MinimiseConstrainedPotential to just use std::map instead of arrays.
    
    - MinimiseConstrainedPotential::operator() needs std::Map<atom*,atom*> as
      parameter for PermutationMap.

commit fe6f202b08255305d13ec735eddd6dc5bc8cdcf4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 12:20:54 2011 +0100

    New Action SaveSelectedAtoms and renamed SaveAction -> SaveSelectedMoleculesAction.
    
    - for molecules we have short cut "s", for atoms "S".
    - added regression tests for both: Atoms/SaveSelectedAtoms,
      Molecules/SaveSelectedMolecules.

commit 8009ce8388c713891077297db7c3f7b0aa88b397
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 10:57:50 2011 +0100

    Rewrote OutputTemperature into a functor in Dynamics/
    
    - formerly called molecule::OutputTemperatureFromTrajectories().
    - removed shortform of SaveTemperatureAction.

commit 20943bae7a201e8b438123cacbc942e875e959a9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 10:39:10 2011 +0100

    Rewrote LinearInterpolationBetweenSteps into a functor in Dynamics/
    
    - formerly called molecule::LinearInterpolationBetweenConfigurations().

commit 9e23a3785b6bdd916d370ba9157e9b76a1905c53
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 25 00:49:26 2011 +0100

    Rewrote MinimiseConstrainedPotential into a functor in Dynamics/.
    
    - most of the stand-alone functions in molecule_dynamics.cpp have been moved to
      this functor as wel.
    - is used by both molecule::LinearInterpolationBetweenConfiguration() and
      molecule::VerletForceIntegration() for constrained dynamics.
    - MinimiseConstrainedPotential() works on molecule::atomSet for now.

commit 632508ffb01a2e25577835bce4302a652209e479
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 28 17:11:28 2011 +0100

    Moved files bondgraph.?pp -> Graph/BondGraph.?pp.

commit 607eab6774ab70357425ace73b68c00a831b78da
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 28 17:06:03 2011 +0100

    BondGraph::...MinMaxDistance() now return range<double> instead of ref as parameter.

commit cff66ce85fbde649305dc9b561722a14ecc7a26c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 28 16:16:58 2011 +0100

    Removed bool is Angstroem from all BondGraph::...() member functions.
    
    - we set IsAngstroem in constructor, and that's it.

commit 111f4abc5bb4e30485671304b58753988cb819bf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 28 16:14:28 2011 +0100

    Const-ness and cosmetic fixes to class BondGraph.
    
    - made CreateAdjacency and connected functions const members.

commit 0ec7fe4ea1bdaeb2d3d9ac09962de0ea7fc2bdcd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 28 16:11:16 2011 +0100

    Removed BondGraph::max_distance along with getter and setter.
    
    - SetMaxDistanceFromCovalentDistance() was nonsense and prone to faults and
      misunderstandings.
    - instead getMaxPossibleBondDistance() returns upper cutoff limit based on a
      given atomset.

commit 300220077f0507b7ef3d400de839792167c20b51
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 28 16:00:34 2011 +0100

    BondGraph::..MinMaxDistance() changed to use range<double>.
    
    - requires CodePatterns 1.0.13 due to operator<< (range<T>)
    - all ...BondGraph::..MinMaxDistance() work on range, not two doubles.
    - only getMinMaxDistance(BondedParticle, BondedParticle, ...) available from
      outside.
    - new function getMinMaxDistanceSquared( <see above> ) for squared interval
      boundaries.
    - internal use element pointer:
     - getMinMaxDistance()
     - BondLengthMatrixMinMaxDistance()
     - CovalentMinMaxDistance()
    - getBondLength is now private and only unit tests are friends.

commit 0cbad258eb8c0251e3a78b10e2b68fdd0a5d2791
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 19 00:39:44 2011 +0100

    Moved molecule::CreateAdjacencyListFromDbondFile() over to BondGraph and made more flexible.
    
    - extended molecule::CreateAdjacencyListFromDbondFile() to also parse TREMOLO's dbond files.
    - BondFileAction now has two more options: skiplines and offset to control
      parsing, default values assure behavior as has been.
    - same way CreateAdjacencyListFromDbondFile() has these two options added also.
    - extended regression test Molecule/BondFile with unconnected PDB and dbond
      file.

commit 3738f09a1261e51cc253cbaa8f4766bb8f945d68
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 26 01:10:05 2011 +0100

    Moved molecule::CreateAdjacencyList over to class BondGraph.
    
    to make this possible we had to:
    - enhance AtomSet such that individual const_ and iterator are templated.
    - FIX: FragmentationCreateAdjacencyAction needs to call
      BondGraph::SetMaxDistanceToMaxOfCovalentRadii() before getMaxDistance() is
      valid.
    - new function molecule::getAtomSet() which copies the internal atomSet to a
      vector AtomSetMixin and delivers. This is needed as PointCloudAdaptor
      needs a reference to a AtomSetMixin and we don't want to expose the internal
      set.
    
    other changes:
    - the following Actions do not create adjacency beforehand anymore:
     - DepthFirstSearchAction
     - MoleculeSaveAdjacencyAction
     - MoleculeSaveBondsAction
    - changes to BondGraph:
     - removed CreateAdjacencyForMolecule()
     - removed SetMaxDistanceToMaxOfCovalentRadii()
     - new function CreateAdjacency on LinkedCell reference
    - new BondGraph functions that work on AtomSetMixin reference:
      CreateAdjacency(), cleanAdjacencyList(), CorrectBondDegree(),
      resetBondDegree(), calculateBondDegree()
    
    TESTFIXES:
    - the regression test for all Actions mentioned above that don't create
      adjacency themselves anymore needed to be prepended with --select-all-atoms
      --create-adjacency.

commit ce5f05ae4a35676c52abcb1eeb3e6e41b8849333
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 17:24:28 2011 +0100

    Moved Shading and EdgeType from defs.hpp to bond.hpp, getColor from molecule to class bond.

commit 4092c5c78798e52e100ca3ce7dfd3bfd5abc6ebb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 21 18:54:26 2011 +0100

    Changed BondGraph::...MinMaxDistance()'s parameters to const BondedParticle * const.
    
    - this is preparatory for upcoming PointCloudAdaptor change.

commit b9772ac7019d5e8e80610d7bb4890ee0d7b80b2b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:10:59 2011 +0100

    Renamed function pointer in molecule::CreateAdjacencyList to minmaxdistance.

commit 4b5cf883862ad96db12b381ddaf008aad10edbe4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 21 14:13:04 2011 +0100

    BondedParticle::OutputBondOfAtom() now takes stream to print to.

commit 458c3163eb1df36b974240aa85d9aa341ad4408a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 21 14:02:57 2011 +0100

    molecule::BondCount is now Cachable and private.
    
    - renamed CountBonds() -> doCountBonds in analogy to AtomCount.

commit d4a44c33452f58b4160eb88383f4287dfc249470
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 21 15:04:46 2011 +0100

    Renamed ConstructBondGraphAction -> CreateAdjacencyAction.

commit 715b678cb8ad05a00a33a86ee0b1583591a34ff1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 15:43:09 2011 +0100

    Renamed BondGraph::ConstructBondGraph -> CreateAdjacencyForMolecule.
    
    - first step in moving CreateAdjacencyList over to class BondGraph.

commit 7adf0f0365b80d1ba77645d14621706d522f8573
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 15:28:52 2011 +0100

    Removed molecule::BondDistance, replaced by BondGraph::getMinMaxDistance().
    
    - changed in:
     - molecule::AddHydrogenReplacementAtom()
     - StoreFragmentFromKeySet_Init()
     - molecule::DeterminePeriodicCenter()
     - molecule::CreateAdjacencyList()

commit e7350d47f72235f2bf1666ed2a77b529c06832a4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 15:27:56 2011 +0100

    DOCUFIX: BondGraph - moved doxygen comments from cpp to header.

commit 72d90ed8a430eeb713d9ac53bb337fd6e8d4b404
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 15:24:43 2011 +0100

    New function BondGraph::getMinMaxDistance().
    
    - Covalent and BondLengthMatrix criteria are hidden behind that depending on
      whether the bond length matrix is set or not.
    - now private:
     - BondGraph::CovalentMinMaxDistance()
     - BondGraph::BondLengthMatrixMinMaxDistance()
    - adapted:
     - FragmentationConstructBondGraphAction
     - FragmentationDepthFirstSearchAction
     - FragmentationFragmentationAction

commit f71bafdd0857cf18158866b8a7878c1b33d586b6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 11:42:01 2011 +0100

    Made BondGraph an instance of World, removed from config.
    
    - BondGraph is instantiated from start of World and destroyed therein.
    - new getter and setter for BondGraph in World.
    - rewritten BondLengthTableAction.

commit 5309ba2259d81aba279e4520a5ebc51c898d8b75
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 22 10:59:11 2011 +0100

    Renamed ParticleInfo_nr back to Nr.
    
    - Note that this mostly affected comments.

commit 735b1c1514f0f9ac27c1a3ef683b9fa6ea2cf010
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 22 01:15:33 2011 +0100

    ParticleInfo::ParticleInfo_nr is protected and accessed via getter/setter.
    
    - many changes (~400) in molecule- and tesselation-related functions.

commit a479fa6f7cb1bddf84d6c12af3c09dc810b66580
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 22 00:50:41 2011 +0100

    Renamed ParticleInfo::nr to ParticleInfo::ParticleInfo_nr for easier privatization.

commit 5702cdb754fb52d78cf83a79c432e91bd88f4d4c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 23:07:45 2011 +0100

    Removed molecule_pointcloud.cpp.

commit caa06ef709f013cc367466c6e351f0a834a0fc0d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 22 00:49:30 2011 +0100

    Added name to PointCloudAdaptor, set by constructor.
    
    - name is used in Tesselation to store in file and difficult to obtain via the
      PointCloud (e.g. std::list have not name, need to be wrapped again, ...)
    - removed expected-to-fail again from Tesselation/Convex,
      Tesselation/NonConvex, and Tesselation/BigNonConvex tests.

commit 34c43ab2d4d21658cd8b9c3134bf2f845cacdcfc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 21 19:02:41 2011 +0100

    Bigger change: Replaced PointCloud by PointCloudAdaptor.
    
    - PointCloud is no more inherited by classes molecule and Tesselation but an
      interface to an (templated) adaptor called PointCloudAdaptor.
    - As BoundaryPointSet only wraps TesselPoint member, we needed
    - use CodePatterns/IteratorAdaptors.hpp to access the value (TesselPoint*) in
      the map Tesselation::BoundaryPointSet, requiring now v1.0.11.
    - lots of places in Actions, Tesselation, and boundary had to be adapted to the
      new PointCloudAdaptor.
    - LinkedCell also now only has constructor requesting a IPointCloud structure.
    - this all will make BondGraph construction a lot easier (note that World has map
      containing atoms, where molecule has list. Hence, we need this
      IteratorAdaptor).
    - TESTFIX: Marked Tesselation/Convex, Tesselation/NonConvex, and
      Tesselation/BigNonConvex as expected to fail due to wrong name in teecplot
      file. This is gonna be fixed in next issue.

commit ba5215d3dbc9e6ab23c70d0fda53db52f4cd8547
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 21 19:00:37 2011 +0100

    Extended BoundaryPointSet by functions to directly access TesselPoint member.
    
    - new functions: GetTesselPoint(), getPosition(), getNr().
    - TesselPoint extended by getTesselPoint(), returning this reference, is only
      required due to BoundaryPointSet only having member and we need to access
      the TesselPoint via a iterator concept in upcoming PointCloudAdaptor
      directly.

commit fa60dd6ab972774fb82fd1f2c954d36536b47b41
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 21 18:55:39 2011 +0100

    Removed molecule::GetName() usage in QtMoleculeView.
    
    - in QTMoleculePage::update() and QtMoleculeView::moleculeSelected().
    - this is prepatory for upcoming PointCloudAdaptor and PointCloud removal from
      molecule.

commit fff733ba0da4911da79885991c417b12b441b071
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 22:47:30 2011 +0100

    Fixed PointCloud implementation in class Tesselation.
    
    - removed virtual keywords in class Tesselation definition.
    - implemented GetMaxId().
    - GetCenter() different to interface PointCloud had parameter ostream, removed.

commit e34254f6f44a0fc809b9be46216b2b2b7751e710
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 1 10:57:21 2011 +0100

    Changed operator<< (AtomInfo), less verbose for single time step.

commit 4d5553190df6b00219ae526683b5f0c395269db2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Mar 1 10:56:05 2011 +0100

    Changed verbosity for LoadMolecule().

commit b23e2638588a1ce300fdbc376e3b3e42c6fd02b0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 23 18:50:29 2011 +0100

    Added operator<< for MatrixContainer class.

commit 1bfc8edf28ec4138bd64215de19458a5fb6de8ab
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 11:41:00 2011 +0100

    Removed ThermostatContainer instance from config, instance from World is used.
    
    - config functions obtain instance Thermostats from World.

commit 9b8387bbe8a066a5a05ebfc59629199ffa203cb1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 16 11:18:51 2011 +0100

    DOCUFIX: enhanced description of RotateAroundSelfByAngleAction's parameters.

commit 9d37ac94df87f79ff09b0742de1324c7e04ddf56
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:39:14 2011 +0100

    DOCUFIX: Removed *out as parameter from waaay back ...

commit 4afa469aea6b6b679ff56ab7e5839c913cb3c602
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 26 01:06:01 2011 +0100

    Added call to molecule::getAtomCount() to end of each parser's ::load().
    
    - this ensures that atom::nr and name is up-to-date.

commit 63735800b9b9f1a62b08bbaad51b2f7a1bec8c00
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 19 00:38:44 2011 +0100

    Changed slightly XyzParser::load().
    
    - AddedAtoms is now a vector.

commit 0180d65014cd485abba4217d46346ac7065712ed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 18 19:50:08 2011 +0100

    Enhanced XyzParser to load and save multiple time steps.
    
    - Extended regression test Parser/Xyz.
    - Extended unit test ParserXyzUnitTest.

commit c6aeb18b62d4b842084aa91283b2e0fb0461c6b1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 16 13:43:40 2011 +0100

    Added regression test for Parser/Pdb for PDB files with CONECT entries.

commit 48801adac3e7e09310f1b6015d415ba05afd6d61
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:42:38 2011 +0100

    Decreased verbosity of PdbParser for multiple time steps.
    
    - using AtomInfo's adapted operator<< that prints start and end only.

commit 3e383d399707efe3ee0cb56bc0d78abc3af2ca70
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:34:43 2011 +0100

    Removed PdbKey::timestep from PdbAtomInfoContainer as readNeighbors,readAtomDataLine are with step now.

commit b0a2e3bef0fc1ae84db5824e8cd3fa72d2a5bf21
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 21:18:39 2011 +0100

    Removed use of PdbKey::timestep, steps are parsed sequentially.
    
    - PdbParser::readAtomDataLine() and PdbParser::readNeighbors() have additional
      parameter steps.

commit 09c7a9f369617114ccfc84cd12692ecd98a2c615
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:17:12 2011 +0100

    VERBOSE: PdbParser::save() print parsed trajectories.

commit 873037b34219cd2ee7dadacca5869547533b1f56
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 10:11:32 2011 +0100

    Refined static filling of PdbAtomInfoContainer::knownDataKeys.
    
    - have static bool which says whether map is filled or not.
    - static clearknownDataKeys() called by PdbParser's dstor.

commit 9dba5f7e07c3f2a1265a0dfae56599d0c6a08e26
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 23:01:26 2011 +0100

    PdbParser can now load and save multiple time steps.
    
    - WARNING: Molecules are not yet updated, it only works on simple test.
    - TEST: Parser/Pdb regression test on loading/storing multiple steps added.
    - PdbAtomInfoContainer:
     - private static knownDataKeys map from enum to strings, filled in cstor when
       empty by fillknownDataKeys() and cleared by befriended PdbParser's dstor.
     - operator << to easily print container.
     - getter function getDataKey.
    - PdbKey:
     - EndOfFile -> EndOfTimestep.
     - new DataKey timestep to allow storing of timestep.
    - Pdbparser:
     - extended load() and added verbosity.
     - readAtomDataLine() can parse trajectories into present atoms.
     - extended save() and added verbosity.
     - new helper functions getAtomToParse() and readPdbAtomInfoContainer().

commit fcac720d9b6b26c107f65986d20e213556f266e5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 13:48:45 2011 +0100

    Added multiple time steps to PcpParser::OutputAtoms().
    
    - removed Fastparsing part in comments in LoadMolecule().

commit 6a465e4248cc6569f489730a4176224357fc5126
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 12:20:52 2011 +0100

    Rewrote LoadMolecule() for PcpParser.
    
    - LoadMolecule() rewritten as only because of getter/setter introduction the
      PcpParser did not work properly anymore. Used boost::tokenizer for parsing
      all Ion_Type stuff.
    - TESTFIX: Molecules/SaveTemperature - has been buggy since a long time!
      LoadMolecule() did the messed up sequence of Ion_Type right only for the
      first step not for all subsequent steps. Hence, we lacked the velocities
      of all non-hydrogen atoms and obtained a different (wrong) temperature.
    - TESTFIX: ParserPcpUnitTest made first atom at (1,0,0) instead of (0,0,0) as
      this rather shows up parsing errors than zero vector which is default value.

commit 03c77c8433e48594a1c472d7a86b4e799d81c363
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 16 15:02:14 2011 +0100

    bonds::previous and ::next removed, lists.hpp deleted.
    
    - the last of the concatenated lists has fallen to STL lists and vectors.
    - greatest impact is on fragmentation functions.
    - rewritten UniqueFragments::BondsPerSPList to vector<list<bond*> >.
    - removed include of lists.hpp.
    - removed lists.hpp from Makefile.am.

commit 8aba3cf36e533e8aa7e73d15c6c4a093625770cf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:33:18 2011 +0100

    TEST: Extended ListOfBondsUnitTest for multiple time steps ListOfBonds checking.

commit af897f5c8ae6115ef8c2ea41ec18740adb18eaf0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 16:13:41 2011 +0100

    Small change to BondedParticle::UnregisterAllBond().
    
    - As ListOfBonds is only protected, BondedParticle::UnregisterAllBond() may
      access list at step directly.

commit 58308193c86ef72a50785b82954ae67c62555f30
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 16:13:07 2011 +0100

    New function BondedParticle::ClearBondsAtStep(), used by MoleculeLeafClass::FillBondStructureFromReference().

commit 38c44b50db18b128b1f79878f0bfc914bd7228fe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 16:26:11 2011 +0100

    Added verbosity to AppendTrajectoryStep() of BondedParticle.

commit 1e6249eb2248ee72299523a569acc77b83efcb60
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:50:47 2011 +0100

    BondedParticle has virtual UpdateSteps() to allow consistent extending of trajectories.
    
    - atom::UpdateSteps() calls now not only UpdateSteps of AtomInfo but also of
      BondedParticle.

commit 073a9e455fb766186d4ee793eade170e51db2c0c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:32:36 2011 +0100

    BondedParticle::(Un)RegisterBond,AddBond,IsBondedTo with step.
    
    - adding, removing and checking of bonds at a desired time step.

commit d557374f0c843b5f8e4d8eeb8756784840b4ab07
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:56:28 2011 +0100

    Cosmetic changes to class bond::~bond and BondedParticle::UnregisterBond.

commit 93c6e95d641c6236fc420db0e7100f7b9cbef2fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:13:00 2011 +0100

    BondedParticle::UnregisterBond() uses BondedParticle::ContainsBondAtStep() with step.
    
    - ContainsBondAtStep() is used to find the right bond and remove it.

commit 9a3a53e116a51e3bfb00959b2168c8888ced7191
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 19:59:11 2011 +0100

    BondedParticleInfo::ListOfBonds is (just) protected to allow inheriting classes access.

commit a2bdbe5a31d9df8092c716db0d9ec503f5ad04cb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:09:27 2011 +0100

    BondedParticle::UnregisterAllBond with new parameter step.
    
    - cleans ListOfBonds at desired step.

commit 9d83b69ef70cf27f82b8fcaaf764866bcda9a143
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:41:13 2011 +0100

    BondedParticleInfo now has vector<BondList>
    
    - vector<BondList> ListOfBonds is private, getter for (non-)const access.
    - Access everywhere to ListOfBonds replaced by respective getter.
    - Access is as of now always to time step zero.
    - greatest impact is on molecule... files, and ListOfBondsUnitTest.

commit c0d9ebc6c65d3d9cc5fc8234ff04f147c042c124
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:06:53 2011 +0100

    FIX: Moved BondedParticle::CountBonds() from atom.cpp to atom_bondedparticle.cpp.

commit fb9eba56a801211c0f27284432416dfa281858d2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 16:25:56 2011 +0100

    Added verbosity to AppendTrajectoryStep() of AtomInfo.

commit e2373df507fb916476ab8df9646079e2551e04f2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:48:51 2011 +0100

    TesselPoint, Atom and AtomInfo have virtual UpdateSteps() to allow consistent extending of trajectories.
    
    - TesselPoint and Atom just implement it virtually.
    - AtomInfo implements it by new function AppendTrajectoryStep() that adds
      steps.

commit fb0b62770f84f722e7a844612b7cf575bb534f0e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:49:35 2011 +0100

    AtomInfo: Commented-out operator* and *= with double.
    
    - this is preparatory for virtual AtomInfo::UpdateSteps().

commit 443547ef85f9f10bd39602b49607dcb0e763fc55
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 12 19:29:48 2011 +0100

    AtomInfo: AtomicPosition, ..Velocity, ..Force are protected to allow inheriting classes access.
    
    - This is necessary for atom::clone() have access to full trajectory.

commit b1a5d9e1f506282abb82d0dc29746c490b4f3522
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 15:43:21 2011 +0100

    operator<< for AtomInfo now prints just start and end of timestep.

commit 1b558c94a455c9a61f4f1954f9b8d7b149b1532f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 10:25:16 2011 +0100

    All Accessor to position, velocity or force use WorldTime::CurrentTime.

commit 6b020f24f85828b35cb7d1e2cb4137d9b9ad39e1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 14:24:46 2011 +0100

    AtomInfo::getter and setter's step is now unsigned int.

commit 056e70f8db18805ec5c34898e22ee461a1e6ceb7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 18:56:03 2011 +0100

    Suffixed getters and setters for AtomInfo trajecories with AtStep.
    
    - AtomInfo:: getters are now const members
    - added lots of ASSERTS to getters with time step to assure no out-of-bounds
      access.

commit 6625c3d80c1d7b0bad97e9d543982f10829d358b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 24 12:18:59 2011 +0100

    Removed atom_trajectoryparticle*, replaced by AtomInfo class now having std::vector<> for trajectories.
    
    AtomInfo:
    - AtomInfo stores position, velocity, and force in vectors.
    - getter and setter implemented for velocity and force.
    - all functions from TrajectoryParticle put into AtomInfo.
    - Direct access to velocity and force exchanged by getter/setter everywhere.
    - FIX: molecule::LinearInterpolationBetweenConfiguration() extends trajectory
      to MaxSteps+1 (for endstep).
    
    Other changes:
    - gsl_rng_gaussian() exchanged by boost::random specific type.

commit 54b42e9e210027bb6e47d8594317475629bdb453
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 7 19:56:11 2011 +0100

    AtomInfo::AtomicPosition, ::AtomicVelocity, ::AtomicForce are now a std:vector.
    
    - This is preparatory for trajectories.

commit bce72cbbc8d98307d21f1b4cd8f174336341e927
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 7 19:35:30 2011 +0100

    AtomicInfo::AtomicVelocity and ::AtomicForce are now private.
    
    - Access is granted via getters and setters.

commit c864a86df7c305c97952030b2f51ac5148ffcce3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 7 18:58:50 2011 +0100

    Moved TrajectoryParticle::EvaluateConstrainedForce() into molecule::EvaluateConstrainedForces().

commit 76163d6467c1ce116865eff7bd937b783a980bc7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 16 11:19:36 2011 +0100

    World::setTime() now checks whether CurrentTime changes at all.
    
    - this prepares calling FragmentSubgraphDissection call there.

commit d297a3ade933149a1d5ada1c3db8b483e89fb3ca
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 23:28:17 2011 +0100

    World::setTime() is single access point to modifying WorldTime::CurrentTime.

commit 6bb6057aa21db4fa1c6005eaa7f932cd8e2c9875
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 10:12:36 2011 +0100

    Worldtime now has static CurrentTime and static (inline) getter/setter.
    
    - setter is private such that time is not globally modifiable.
    - WorldTime::CurrentTime is now _unsigned_ int.
    - TESTFIX: WorldTimeUnitTest also against unsigned ints.

commit aa04aec0a6f98bba03446ef81b876c0dee5f6db8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 7 14:23:52 2011 +0100

    Implemented SetWorldTimeAction and regression test on that.
    
    - SetWorldTimeAction currently only allows to change current time, not step
      width.

commit f649ded43f091c7788ac076fc2e73fb8fee4bd35
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Feb 7 14:12:01 2011 +0100

    Implemented class WorldTime.
    
    - WorldTime contains the current, globally valid time step, e.g. to show within
      the gui ...

commit 7a51bed0ac43de73ef69542c07ec8d25a2b6d4cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 22:37:26 2011 +0100

    new function FormatParserStorage::get to obtain specialized FormatParser instance.
    
    - used in FillVoidWithMoleculeAction and FillWithMoleculeAction.
    - both Actions also now use MoleculeByOrder descriptor to obtain last molecule.
    - FillBoxWithMolecule() now returns void.
    - implemented FillVoidWithMoleculeAction::performUndo().
    - TEST: Filling/FillWithMolecule - added undo test.
    - TESTFIX: Filling/FillVoidWithMolecule - due to loading of filler molecule
      with parser, water.data had to be adapted in its ATOMDATA line to match
      test.data. Otherwise, resulting file will have non-matching ATOMDATA
      although being otherwise consistent. (This is a workaround to ticket #141).

commit 170ba6e440672fc3912107325618abdd35c6437e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 21:55:44 2011 +0100

    BUGFIX: MoleculeOrderDescription was not working in reverse because of bug in ObservedContainer.
    
    - we now require v1.0.9 of Codepatterns where bug in ObservedContainer is
      fixed.
    - TEST: added regression test Selection/Molecules/MoleculeByOrder with separate
      forward and backward test.
    - TEST: split up Selection/testsuite file into one on atoms, the other on
      molecules.

commit 69948e5f49ca5ca15fa7f148e0e7d53f7f814866
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 11 18:55:25 2011 +0100

    BUGFIX: FillVoidWithMolecule() crashed when filling molecule is wholly outside of domain.
    
    - Filling molecule might have gotten completely removed and hence, we have to
      check for NULL pointer.
    - bug reported by Daniel Dueck.

commit 844b2e3be80de8690beefc6f7dcd4b178159cf8c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 19:40:18 2011 +0100

    We now require CodePatterns v1.0.8 for LOG() shorthand to logger and asserts aborting by default.

commit 23d7fff4124bc4e1f444a780def098bb6b68e508
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 19:35:12 2011 +0100

    Added default rotation angles to (Not)AllAtomsInsideCuboidAction.
    
    - also added check to Action cstor such that options for different Actions
      still have type, same short form, and default value.
    - TEST: Selection/Atoms/AllAtomsInsideCuboid - new regression test with
      defaults.

commit 528b3e649ba6df7f9bb48df7750426f110ae4f92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 19:31:41 2011 +0100

    Added conversion functions to VectorValue and BoxValue and changed internals.
    
    - VectorValue now has array vector instead of x,y,z.
    - BoxValue now has array matrix instead of xx,yx,yy,zx,zy,zz.
    - adapted validate()'s, Vector(s)CommandLineQuery, and BoxCommandLineQuery.
    - new cstor Box(RealSpaceMatrix *).
    - restructured Box' cstor code a bit.
    - new operator<< for Box.

commit b6b3b2db19444a7431f85964bdb2550a87243367
Merge: 0bfe731 311da7b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 20:08:22 2011 +0100

    Merge branch 'MpqcParser_fixes' into stable

commit 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1
Merge: acd6384 c14c78b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 20:07:17 2011 +0100

    Merge branch 'RandomNumber_fixes' into stable

commit 311da7bdf02dce8825b29e60fbe79e0688c15ca6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 19:36:56 2011 +0100

    FIX: Changed MpqcParser.
    
    - some ASSERTs were missing and showed up failure in parsings.
    - in MpqcSection keywords molecule and basis are now ignored.
    - BUGFIX: due to missing whitespacefilter most of the keys were actually not
      really parsed which lead to strange "A'" and ""A'"" behavior, because
      in unit test key was without whitespace, hence recognized (and there
      we switch theories from CLHF parsed file only), whereas in regression test
      key was not recognized.
    - TESTFIX: ParserMpqcUnitTest - now checks whether MpqcParser_Parameters::
      getInt() throws and also if ::operator>> throws in case of debugging.

commit c14c78b2ee8b6b53c94294861301c8b2cdcc1161
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 10 16:25:59 2011 +0100

    Some bugfixes for RandomNumber... stuff.
    
    - BUGFIX: Asserts contained wrong variable name: params -> paramtokens.
    - BUGFIX: replaced forward declarations in respective Factory's to ...Engine
      and ..Distribution by includes. Note that they are need in other files due to
      inclusion of ManipulatePrototypeFactory and alikes of CodePatterns.
    - Added some additional ASSERTs to ...Engine... and ...Distribution_Parameters.
    - TESTFIX: RandomNumberEngineFactoryUnitTest - Setting seed to 0 was not
      allowed for this engine.
    - LEAKFIX: SetRandomNumbersDistributionAction::performCall() leaked a parameter
      set from prototype.

commit acd6384437ea7f3b26a729204e334bc1069b111a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 9 21:03:34 2011 +0100

    BUGFIX: copied atoms were not correctly stored with respect to Type, reported by Daniel Dueck.
    
    - TremoloParser::saveLine() Father-check has been missing so far.
    - TEST: Molecules/Copy - added test for copying from tremolo config.

commit 4d4d3346f69d10a12e419ef86b730fdd6a4ec2a1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 9 17:18:50 2011 +0100

    Added tremolo's potential file parsing, reported by Daniel Dueck.
    
    TremoloParser cannot interpret Type with HLA2 because it lacks mapping of the
    value to an element. Hence, ...
    - new Action ParseTremoloPotentialsAction.
    - TremoloParser::knownTypes new map to contain: HLA2 -> H, ... map.
    - TremoloParser::createKnownTypesByIdentity() creates identity mapping.
    - TremoloParser::parseKnownTypes() parses potentials file.

commit 1a6bda5f924ebd715e1f7b6b804f62142360552f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 4 15:04:23 2011 +0100

    Removed basis from config, which now resides in MpqcParser_Parameters.

commit 4cbca0e8710efb136e5936feefe9dd2e7a865873
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 4 15:03:06 2011 +0100

    Implemented full MpqcParser::load().
    
    - regression tests for four theories: CLHF, CLKS, MBPT2, MBPT2_R12.
    - extended regression test on set-mpqc-parameters by checking changed value
      against a written file.

commit 963321a9c39219a067721dc5f8f1bf433d2e0e92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 4 14:23:20 2011 +0100

    Converted SetGaussianBasisAction into SetMpqcParametersAction.
    
    - new actions does not only allow to set basis, but most of the other
      parameters, too.
    - regression test Parser/Mpqc-SetBasis -> Mpqc-SetParameters and extended.
    - operator<< needed an ugly const hack to avoid doubling the function.

commit 44fce5cb3fdeb1556c1c02a020dfa99136e835d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 4 13:43:30 2011 +0100

    Extended MpqcParser_Parameters, can set and get all values.
    
    - new test case in ParserMpqcUnitTest: ParameterSetterTest.

commit 61d69a4cb73f0b86aacc2d6ca57bf28462918da9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 3 12:56:26 2011 +0100

    Added MpqcParser_Parameter class to MpqcParser.
    
    - contains all extra info for the mpqc style config file.
    - so far not prepared for setting details via action.

commit 9cff8b40dbce0e08a022e7778ac2e12db6f6b9b2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Feb 3 10:39:54 2011 +0100

    Moved SetGaussianBasisAction and SetOutputFormatsAction from World to Parser.

commit aa8ef2ac2cb67b09185d5a3df58db2a29f253ed6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 21:39:54 2011 +0100

    Implemented MpqcParser::load().
    
    - extended ParserMpqcUnitTest to check minimal functionality of load.

commit f31edc7590b4e5829926599185285edb1412d62d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 1 17:39:55 2011 +0100

    Extended MpqcParser to write config files for all possible theory levels: CLHF, CLKS, MBPT2, MBPT2_R12.
    
    - ParserMpqcUnitTest tests all four cases now and each contained string with
      the config file has been tested to work with mpqc-3.0.0-alpha.

commit bb74ba726668aa113942901b3b4e73e8786149c0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 1 16:23:51 2011 +0100

    MpqcParser now writes correct MP2 configuration.
    
    - while the construct has been working, maxiter was inside the wrong group.
    - ParserMpqcUnitTest and Parser/Mpqc and Atoms/Add, Atoms/Remove had to be
      changed due to literal diffs present there.

commit 9e4fd1ddec881550116572abf3d4c0dedb07b1b8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 20:38:08 2011 +0100

    Split up ParserCommonUnitTest into a UnitTest for each Parser.

commit 881c0591436d2892dfe4f605d06902bb7a21e338
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 19:41:47 2011 +0100

    Changed regression testsuite structure of Tesselation.
    
    - all numbered test cases now have meaningful names.
    - re-activated big convex test and marked as expectedly fail.

commit b5ad3937b230f3d9f5d14f9e793a837b44de0486
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 18:45:44 2011 +0100

    Removed Simple_configuration testsuite.
    
    - removed test on creation of xyz file, is present in Parser/Xyz.

commit 2700983eab89463c26130cc0d2c853f1d4d13c02
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 18:35:28 2011 +0100

    Extended regression testsuite structure of Options from standard_options.
    
    - most of the stuff is from standard_options, placed each into own folder
      and each test into its own module.

commit d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 18:19:04 2011 +0100

    Changed regression testsuite structure of Atoms.
    
    - All atom-related stuff from Simple_configuration has been moved over to new
      subfolder Atoms.

commit f2230ed4cddad16052b0be557fd8f58130a361a2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 15:21:29 2011 +0100

    Changed regression testsuite structure of Parser.
    
    - specifics placed in Parser subfolder.
    - Moved Simple_configuration/2 over to Parser and splitted each Parser off into
      its own subfolder.
    - added test for Tremolo parser.

commit 0a2b3405b30a5c56bc3bf3a9c26ef22143e4a683
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 15:19:19 2011 +0100

    Changed regression testsuite structure of Options.
    
    - standard_options placed in Options subfolder.

commit b9bfa63421aae8bda04dea61800ff9fe25d337b5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 15:09:44 2011 +0100

    Changed regression testsuite structure of Selection/Atoms and ../Molecules.
    
    - all numbered test cases now have meaningful names.
    - (Un)Selection/Molecule action renames: by-formula and by-name have plural
      molecules (they can select multiple ones), by-id is singular.
    - renamed token of AtomAction/RotateAroundOriginByAngleAction:
      rotate-origin -> rotate-around-origin.
    - TESTFIX: Analysis/AngularDipoleCorrelation-Empty due to renaming of
      molecule_s_-by-formula
    - TESTFIX: Analysis/SurfaceCorrelation due to renaming of
      molecule_s_-by_formula

commit 967b3cc1d5bcc09f04bc4e2f99bb7620de669545
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 14:39:15 2011 +0100

    Changed regression testsuite structure of Molecules.
    
    - all numbered test cases now have meaningful names.
    - renamed token of AtomAction/RotateAroundOriginByAngleAction:
      rotate-origin -> rotate-around-origin.
    - renamed token of LinearInterpolationofTrajectoriesAction: linear-interpolate
      -> linear-interpolation-of-trajectories.
    - renamed token of RotateAroundSelfByAngleAction: rotate-self ->
      rotate-around-self.
    - renamed token of RotateToPrincipalAxisSystemAction: rotate-to-pas ->
      rotate-to-principal-axis-system.
    - renamed token of VerletIntegrationAction: verlet-integrate ->
      verlet-integration.
    - re-added test for periodic translation (was Molecules/7 but unused).
    - TESTFIX: Analysis/AngularDipoleCorrelation-DiscreteAngles due to renaming of
      rotate-around-self.

commit 70269a5925ba82007a722de93f0b9207048e59be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 14:00:36 2011 +0100

    Changed regression testsuite structure of Graph.
    
    - all numbered test cases now have meaningful names.
    - renamed token of SubgraphDissectionAction: subgraph-dissect ->
      subgraph-dissection.

commit 7811bfbefd39871560750cd667c077688c37af6e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 13:53:11 2011 +0100

    Changed regression testsuite structure of Fragmentation.
    
    - all numbered test cases now have meaningful names.
    - renamed token of FragmentMoleculeAction: fragment-mol -> fragment-molecule.
    - removed test case 1 where test.conf is checked, this is made sure elswhere.

commit 08e6c8afef22dd16b9fe558118d4f67b0618a650
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 13:41:45 2011 +0100

    Changed regression testsuite structure of Filling.
    
    - all numbered test cases now have meaningful names.
    - TESTFIX: Suspend in water is now marked to expectedly fail instead of as
      BROKEN.

commit 8a957e8b6a87527326d7123e0d60c7848a69a814
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 13:35:23 2011 +0100

    Changed regression testsuite structure of Domain.
    
    - all numbered test cases now have meaningful names.
    - renamed TOKEN of AddEmptyBoundaryAction: boundary -> add-empty-boundary.

commit ad28ef1b99395d16be5653d1e9ae8d6d66d16083
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 13:01:01 2011 +0100

    Changed regression testsuite structure of Analysis.
    
    - all numbered test cases now have meaningful names.
    - PairCorrelation range test split off (needs its own directory anyway).

commit f0d1f071d10979518f405b8b6b011c4a03c4b6a3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 1 16:24:57 2011 +0100

    Inserted manner how to avoid warning about muplitply included CheckCommand.sh, but commented out.
    
    - thx Ralf, but is yet not working due to autotest bug.

commit a947e9a19899361083696b2380e242777199a425
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 10:41:35 2011 +0100

    Verbosity added to Load- and InputAction.

commit 48d43fef6fd364948bcdc9509ae49364f5edc942
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 10:51:29 2011 +0100

    molecule::FragmentMolecule() - Bond degree is now re-calculated by default.
    
    - if we load bond graph from file (e.g. pdb), bond degree is not given and set
      to 1 by default which may not be correct. As bond degree is very important
      to the fragmentation, we rather re-calculate it before fragmenting.

commit 4c264326bd61e1ea4f3234937aa02b05c6bcf21e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 10:50:02 2011 +0100

    Fix: MoleculeListClass::OutputConfigForListOfFragments with zero edge length of domain.
    
    - when molecule contains only two atoms and is aligned along an axis, one edge
      length of the domain will be calculated as being of zero length. This is
      fixed by adding a minimum of 1A.

commit 3c58f8fb4e50513505ccd15a7e9c36b34f276129
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Feb 2 10:43:01 2011 +0100

    Changed molecule::ScanForPeriodicCorrection().
    
    - it still used templated link stuff for the bonds which is deprecated and
      hence not usable.
    - now simply bool is returned, whether periodic fixing _would_ be necessary.
    - the number of of periodic fixings is counted and printed in
      MoleculeListClass::OutputConfigForListOfFragments().

commit 72d108d078550736c603bab52caa5d7586985f44
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 1 16:23:06 2011 +0100

    Rewrote TremoloParser::readAtomDataLine() to use boost::tokenizer.
    
    - The problem was that while the previous construct worked fine, it made it
      very hard to know what is wrong about a file because it did not operate
      on single tokens but on lines.

commit 266875d4d7ac759da8b913a7815cb5e3e6ced275
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 1 12:09:17 2011 +0100

    FIX: ParserError did not adhere to naming convention.
    
    - excepetions are suffixed with ...Exception.
    - also, ParseError does not suggest that it is a _formula_ parser error.
    - renamed to FormulaStringParseException.

commit 15f6e9c4484a9b8097f8c48695fb81dfd93e4911
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 17 19:58:49 2011 +0100

    Extended Fragmentations tests by check for number of fragments per order.
    
    - Numbers are taken directly from one year old calculations (and still match).

commit 03871391ca6c9494c227476e9ffca5d4ad581339
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 17 17:05:15 2011 +0100

    Added Fragmentations test in the spirit of the Tesselations test.
    
    - configuration were taken over from Tesselations.
    - defs.in has been adapted to a new function called Fragmentation_run
    - the test files call this function along with order and distance argument.
    - so far we just check that exitcode of molecuilder is 0.
    - all tests are working.

commit 00b59d53958fb689993d2537537ba47012ef9eaa
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 17 15:05:30 2011 +0100

    FIX: molecule::FragmentMolecule() did not remove copied atoms and molecules.
    
    - Subgraph copies molecules, are now removed in MoleculeLeafClass dstor.
    - BondFragments's molecules, i.e. the created fragments, are not removed,
      hence the output file got a lot bigger ...

commit 1d5afa54793ab68a5248839eebb3f4a806cc460c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 17 12:21:17 2011 +0100

    BUGFIX: CheckAdjacencyFileAgainstMolecule() hiccup'ed on parsed files.
    
    - we checked for iostream::eof() which seemed not to work in all cases. Now
      we use while (line << tmp) directly and this works.
    - maximum number of bonds is now (at least) a define MAXBONDS.
    - ASSERT that we parse not more than MAXBONDS bonds.

commit 17f3cdb7d5c7b935f4e518c4cdbe4503d48542b9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 17 11:41:29 2011 +0100

    Placed regression tests Fragmentation into own folder and one file each test case.

commit febef3def9964a3995a74f80fea41b3d7b1f3cf5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 4 18:16:05 2011 +0100

    Removed verbosity of LoadElectronegativityDb.

commit 4e855e867fa84e16d3c418b917eb36c8f1b45f90
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Feb 4 19:54:12 2011 +0100

    BondGraph::LoadBondLengthTable() now accepts istream instead of const char *.
    
    - This has been quite a lot of work because the matrix parsing is involved.
    - Hence, the fix is not really clean, this should get fixed as soon as we deal
      with the BondGraph implementation.
    - This fixes ticket #130.

commit fd378853756ce2d629fc774e7c82d6739ae1be78
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 17 18:35:34 2011 +0100

    Corrected CLEANUP use for Tesselations tests.
    
    - CLEANUP wrongly contained cd ..
    - trap is now evaluating CLEANUP variable on call not before.
    - This allows for clearing of CLEANUP in case of execution failure of the test.

commit 89c953d85256f5bffcf12e7a0539f4afd28d633b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 17 15:45:13 2011 +0100

    Removed config.guess and config.sub that are created by autconf.

commit 5817efa0e8e615d6c84a733fd6f933a293aed46d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Jan 16 20:00:39 2011 +0100

    FIX: regression test Selections/Atoms/6 did not use /bin/cp.
    
    - if cp is an alias to 'cp -i' this causes trouble.

commit a5028f9fe5de8314faeb80f8192d465807b8d3f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 7 16:38:52 2011 +0100

    RandomNumberGeneratorFactory is now used instead of rand() throughout the code.
    
    - FillVoidWithMolecule(): this is not sensible for all distributions. Maybe so,
      for now this is just to test the dipole angular correlation implementation.
      Here, one should rather hard-code one.

commit 63839fc79e8c290c3140390c805105bc4563c078
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jan 15 15:38:57 2011 +0100

    RandomNumberGeneratorFactory does not clone anymore.
    
    - cloning of the generator was nonsense, as (because of same seed), we always
      start at same random number sequence. I.e. if we often obtain new random
      number generator we hardly get random numbers.
    - RandomNumberGeneratorFactory::makeRandomNumberGenerator() returns now
      reference to avoid accidental free'ing of the instance (that is still
      contained in the prototype table of the factory).
    - unit test of RandomNumberGenerator now checks for non-copy received.
    - RandomNumberGenerator()::get...Name() are now const members.
    - in many cases where pointer *rng was received and ref &random obtained from
      it, we now receive ref directly (and then don't accidentally forget to delete
      the clone anymore. Which is good in any case!).

commit 5347cd4e514abf1b1aa9c7c234f7ba2c0622c8fd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jan 15 15:37:27 2011 +0100

    Added mt19937 to list of possible engines.

commit ecb6c5d6da5d51fee9c1327a6586913c65696e7d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 7 16:36:14 2011 +0100

    min(), max() now implemented for all remaining random number distributions.
    
    - min and max are essential to re-adjust the range. Have been hard-coded from
      the properties of the distribution if not min(), max() not available.

commit 9964ff08ae3e4aef63704e318e818e8e0f0430af
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 7 16:35:13 2011 +0100

    RandomNumberGeneratorFactory now uses Engine and DistributionFactory defaults directly.
    
    - added unit test were these factory defaults are set and a composed Generator
      is made and its contained types tested.

commit 0275ad195a931bec57fdd26321f927b08c267597
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 7 01:15:49 2011 +0100

    Final step in Random numbers is done ...
    
    - requires CodePatterns 1.0.7.
    - RandomNumberDistributionFactory and RandomNumberEngineFactory are now
      ManipulablePrototypeFactory's (and ...Engine and ..Distribution_Encapsulation
      are ManipulableClone's).
    - new sets of manipulation parameters RandomNumberDistribution_Parameters and
      RandomNumberEngine_Parameters.
    - added Query for RandomNumberDistribution_Parameters because GUI will need to
      change for specific parameters depending on selected distribution. ...
      actually, this happened accidentally and was an enormous amount of work ...
    - added string parser for distribution parameters from CommandLine, TextUI and
      QtUI with boost::tokenizer.
    - ValueStorage uses this parser for query and setting of CurrentValue.
    - unit tests are working and are doing their job very well (found a bug with
      clone not using the distriubtion to clone's parameters).
    - added PrototypeManipulationTest to engine and distribution factory unit test.
    - regression tests with Undo/Redo are done.
    - what's missing is an extension of the test of RandomNumberGeneratorFactory.

commit 1ee3b8d85bc3b82115508a188e0b73f52d7404db
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 6 13:30:08 2011 +0100

    Made RandomNumbers sources into its own library libMolecuilderRandomNumbers.
    
    - this makes the unit test stuff fast, they use the new lib and not recompiled
      modules.
    - lib is included in Actions, Descriptors, Parser and general unittests, also
      as a dependency for LinearAlgebra lib.

commit 6ff0c86cbaac5717bf62b0ad078300179e43e3e1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 6 13:28:31 2011 +0100

    SetRandomNumbersEngineAction now only requires RandomNumberEngineFactory and uses seed.
    
    - requires CodePatterns 1.0.7.
    - prototype is manipulated for new seed via ugly const_cast.
    - FIX: forgot to undefine engine_seq[_a] in RandomNumberEngineFactory.undef.

commit 081e5d776b34e30d39d3d2bd6b9706066bba6950
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 5 18:30:01 2011 +0100

    Implemented all possible parameter functions for engine and distribution in interface.
    
    - template member function has an ASSERT.
    - and then for each actually present parameter function of a specific engine or
      distribution there is a function specialization that passes on the request.
    - minimal use is made in the engine and distribution factory unit tests and
      everything is fine so far.

commit 15911c97898d09d69931fb955bf4db5cea2b7dc1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 5 17:09:12 2011 +0100

    Made some cstor of RandomNumber... protected.
    
    - RandomNumberGenerator now contains refs to engine and distribution instead
      of encapsulation as it can be made friend of these classes to allow acccess
      to dstor.

commit 9b3476e89c8176ecacfb1a4825157fcc620108b1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 5 15:18:11 2011 +0100

    RandomNumberDistribution and RandomNumberEngine inherit Clone instead of Creator, ...Factory are Prototype Factory.
    
    - requires CodePatterns 1.0.5.
    - RandomNumberDistribution inherits Clone<> and implements a clone() function.
    - RandomNumberEngine inherits Clone<> and implements a clone() function.
    - that is RandomNumberGenerator clones can from now on be directly manipulated
      via prototypes in RandomNumberEngineFactory and
      RandomNumberDistributionFactory.
    - Removed PrototypeManipulationTest() from Engine and DistributionFactoryUnitTest.

commit 076a7747f6149944af692526338b96c2659d9e53
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 5 12:13:54 2011 +0100

    RandomNumberGeneratorFactory nows uses Clone instead of Creator pattern.
    
    - requires CodePatterns 1.0.4.
    - RandomNumberGenerator_Encapsulation implements clone() with calls the
      constructor ...
    - ... who in turn (sadly) needs some evil dynamic_cast to get the complex type
      from the simple interface, because we need access to true engine and
      distribution. The instances themselves are obtained properly from the
      respective factories. However, the constructor is protected now.
    - FIX: friend classes can actually be forward declared.

commit 1d5a8713812642e80f03e59bcd85a3ffedbe20b5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 4 13:09:44 2011 +0100

    Factored out Factory pattern (no pun intended).
    
    - the Factory pattern half-way residing already in RandomNumberDistribution-
      and -EngineFactory has been extracted, outsourced into CodePatterns
      project and is used here.
    - same for Creator pattern.
    - the prototype problem has not yet been solved.
    - FIX: forgot to clean up RandomNumberDistribution- and -EngineFactory
      instances in cleanUp().
    - we now require 1.0.2 of CodePatterns.

commit c9bc2b7e55bf61ed1abfd0a5314ce53adea45fa9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 3 15:01:22 2011 +0100

    Bigger rewrite of RandomNumbers ... due to cloning of prototypes.
    
    - in order to copy the prototypes and not use the original instance, we have
      implemented a new pattern called "Creator" that wraps a templated class in a
      creation interface class such that this abstract class can instaniate the
      particular types (see here http://stackoverflow.com/questions/3506026/c-clone-abstract-base-class-without-meddling-with-derived).
      This is also wrapped up in ..._Creator.hpp files.
    - meanwhile we also tried to have factories for Engine and Distribution but
      this failed due to boost::variate_operator<> having to know the particular
      types of engine and distribution. One could go forth with some cast's but
      this is very unclean and not what we want. ... Downside is that we can't
      set global options for engines or distributions as of now.
    - For the moment Engine- and DistributionFactory both have a prototype table,
      i.e. the same wrapped ones as above, but they are not used for the
      GeneratorFactory.
    
    - For all we have written unit tests:
      - RandomNumberDistributionFactory
      - RandomNumberEngineFactory
      - RandomNumberGeneratorFactory
      - RandomNumberGenerator
      The last one especially checks that two given generators are independent,
      i.e. first call produce the same number from the pseudo-random number
      sequence.

commit 3f9eba726fa6ba97ad9f47ad397aa83f8f1fc923
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jan 1 23:27:54 2011 +0100

    New classes for random number generation.
    
    - we use boost::random as a basis. It implements a lot of pseudo-random engines
      and various distributions. However, everything is templated and there are no
      base classes to store prototypes of the instances in a map. We need these
      such that we are able to offer the user at run-time every choice possible.
    - Hence, we need to encapsulate all engines, distributions and (engine,
      distribution) tuples: RandomNumber..._Encapsulation classes.
    - each with an abstract base class as the interface: RandomNumber... classes.
    - RandomNumberGeneratorFactory is then a singleton that contains all the
      Maps and tables:
      - from string (user input is string) to enum (storing enum is more efficient
        that a lengthy string)
      - from enum to instance (of the abstract class).
    - RandomNumberGeneratorFactory is a singleton to allow for global control of
      what kind of numbers are generated, hence there are also two new Actions:
      - SetRandomNumbersDistributionAction
      - SetRandomNumbersEngineAction
      to specify which (engine,distribution) tuple to use. There are two new
      regression tests for these Actions.
    - The user in the end only uses two classes: RandomNumberGeneratorFactory
      and RandomNumberGenerator. The first only for obtaining a specific variant
      of the latter and the latter to generate the numbers (operator() is passed
      on to boost::variate_generator::operator()).
    - There is a unit test on the RandomNumberGeneratorFactory that checks some
      of the table entries and whether one of the RandomNumberGenerator is
      working (uniform_smallint so far).
    
    Details:
    - As there are ~25 engines and ~15 distributions this makes an enormous amount
      of possible combinations. To automatically construct these, we use some
      stuff from boost::preprocessor in order to generate enums, tables and maps
      automatically just from a sequence of the typenames.
    - we have be-friended the unit test a lot to allow for easier testing, e.g.
      we need access to internal ..._type to test whether their type is correct.
    - cleanUp() purges the instance of RandomNumberGeneratorFactory.
    - in RandomNumber..._Encapsulation::name() functions are only used for the
      unit tests.
    - this all resides in its own subfolder RandomNumbers. So far, it is completely
      independent of everything else.

commit 1f91f4d142b3890c0ea0c60d27ff628498b897f0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 10 23:31:40 2011 +0100

    factored functionality in PrincipalAxisSystemAction() and RotateToPrincipalAxisSystemAction() into class molecule:
    
    - new functions in molecule
      - getInertiaTensor()
      - RotateToPrincipalAxisSystem()
    - PrepareClustersinWater() then does not need to call an Action anymore.

commit 4782599cc2cedbb40da7b38c15b2bf5c0d183589
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 3 09:58:54 2011 +0100

    FIX: new regression test for PrincipalAxisSystemAction is prone to numerical instability.
    
    - if we test for 0, 1e-17 is not a match ...
    - renamed former subfolder 5 to PrincipalAxisSystem according to new naming
      scheme.
    - Action also now solves for the eigen system of the 3x3 inertia tensor and
      prints eigenvalues.

commit b25fa374bf59ffcdade5ca861bcb1d97d99159cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 30 14:38:46 2010 +0100

    Added Angular Dipole Correlation - Discrete angles test suite part.
    
    - Analysis/7: Due to different centers, one plane of water molecules looses a
      hydrogen, being rendered outside domain. Then, dipole is not practical
      anymore.
      Instead we use the option distance-to-boundary with "1." but have to give a
      new waterbox(-mirrored) and new histograms (as there are now only 216
      molecules filled into domain).

commit 92e5cbdb87cf8cd20127f2dff627b843dfad5ae2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 30 12:10:50 2010 +0100

    Refactored Output..Correlation...() code into a single templated one.
    
    - template function OutputCorrelationMap() that accepts two function pointers
      for header and value to print the map's specifics.
    - all other function have been refactored into these two output functions per
      CorrelationMap type.
    
    TESTFIXES:
    - Analysis/1-4,6: as the output files changed due to different header and
      extended contents, we had to replace them. However, each single one was
      checked by eye whether it differed in the old places (and they did not).
    - AnalysisCorrelationToPointUnitTest: OutputCorrelation -> OutputCorrelationMap
    - AnalysisCorrelationToSurfaceUnitTest: OutputCorrelation ->
      OutputCorrelationMap

commit cd7a874697981628f16debf304ae5c1ff4d0f0ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 30 10:41:56 2010 +0100

    Refactored Analysis regression tests, added angular dipole correlation - empty test.
    
    - structure is now same as for Selection tests.
    - Principal Axis System is now implemented (commented-out before).
    - new Angular Dipole Correlation - empty test group created.
    - templates for discrete angles and random distribution that are skipped for
      the moment.
    
    TESTFIXES:
    - Analysis/6-7: lengths was dropped (default value of "0." is sufficient).

commit caa30bb728eba9087798caddea7ae014d9ba4f4f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 29 12:02:55 2010 +0100

    BUGFIX: Correlation functions return NULL outputmap when something is wrong.
    
    - we return allocated empty map instead.

commit be945c354a323c7dfc428278d0959f40f791b566
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 19:52:44 2010 +0100

    New DipoleAngularCorrelationAction that calculates angular correlation between dipoles.

commit 67c92bc74e63aa32a5591cb97787b1ac983f9ee0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 19:51:30 2010 +0100

    Added Electronegativity database and member value to class element.
    
    - periodentafel contains new loading functions.
    - also all periodentafel::load...() now accept reference of istream, not
      pointer. This causes changes in PeriodentafelUnitTest.

commit ea430a82140f37b1e0e63e084a2bff60d5685366
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 18:23:34 2010 +0100

    Initial versions of DipoleAngularCorrelation().
    
    - no implementation yet, just function signatures.

commit 9df680e1ca4592968b96c9d82a4e85fee43ab4c5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Jan 15 16:04:18 2011 +0100

    FIX: FillVoidWithMolecule() now centers filler molecule at its center of gravity.
    
    - this is the only sensible option if we later rotate the molecule.
    - atom::clone() reduced a lot, as copy constructors contains it all.
    - FillVoidWithMolecule() - filler is now selected to reside entirely within
      the domain. Otherwise, we seg'fault on save on exit, as one of the father
      atoms for all copied atoms is missing and hence, we cannot look at its
      additional...Data for various parsers.
    - new function molecule::removeAtomsInMolecule() which destroys all the
      molecule's atoms.
    
    TESTFIXES:
    - Filling/3: filled water box has changed due to different center of water
      molecules.

commit d6f8869464bd2208482a0f62cc438db4939fc16d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 10 11:55:48 2011 +0100

    changed stupid --lengths parameter of fill...-with-molecule into three distinct ones.
    
    - in this Vector length three distinct things had been mixed, with --distance
      it made sense, with lengths this's been just nonsense.
    - new parameters are --distance-to-molecule --random-atom-displacement and
      --random-molecule-displacement and all default to zero.
    - moved files into regression/Filling and three files, one for each test case
      according to new scheme.
    
    TESTFIXES:
    - Filling/1-3: lengths mostly replaced by --distance-to-molecule

commit 66fd499538327fa9d63d45ec481787c8650b9509
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 30 21:52:17 2010 +0100

    Rewrite of FillVoidWithMoleculeAction.
    
    FillVoidWithMoleculeAction:
    - new parameter MinDistance and default value of 0.
    - BUGFIX: filler is already created when parsing file, removed useless creation
      of it initially (also caused lots of confusion due to an "extra" molecule).
    - Undo implemented, regression test inserted.
    - Redo is somewhat hard to implement, as one would use performCall() if it only
      it would not retrieve its values from ValueStorage ...
    
    FillVoidWithMolecule():
    - filler is now the zeroth not the last molecule, marked by firstInsertion and
      firstInserter. Filler is removed if no molecules are filled.
    - outsourced stuff into smaller functions
     - RandomizeMoleculePositions()
     - RemoveAtomsOutsideDomain()
     - isSpaceAroundPointVoid()
    - removed FillIt to through every atom despite only
      CurrentPosition, indepedent of atom position, is checked.
    
    TESTFIXES:
    - Analysis/3: test.xyz changed because boundary is now 1.5 instead of 2.1 as
      2.1 is not enough of molecules get filled in (and the filler already is).
    - Analysis/3: tensid.data was actually lacking water at (0,0,0) which is after
      the rewrite present.

commit 0b15bbf617ce267e166ff4e7e1454ca420c1488f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 19:50:12 2010 +0100

    BUGFIX: fill-molecule was rotating randomly per atom, not per molecule.

commit c00d359f173d2e16a9424a03c781f723da85fa93
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 29 17:30:04 2010 +0100

    RotateAroundSelfByAngle now acts on all selected molecules.

commit cb9de4fed6a381fa6220088cb1a1b919167e8e82
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 29 15:40:08 2010 +0100

    Parameter for rotate-around-self axis is now called 'axis' not 'position' anymore.
    
    - this is only needed due to multiple tokens not yet possible.
    
    TESTFIX: Molecules/Rotate around self parameter adapted.

commit aa4b2d50a6822ca41e873badba032107ce6d6d6d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 29 17:53:52 2010 +0100

    All (Un)SelectionActions now state how many atoms or molecules (remain) selected.

commit d1115de89a5962b3b03f159e145f3860d6a3b410
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 30 20:43:58 2010 +0100

    FIX: paramdefaults values have to be in "", now enforced by constructing std::string from it.
    
    - before we could say (0) as a paramdefault which did not give any clear
      indication why compilation failed. Now, it states that std::string cstor for
      this type is missing, which should point to writing ("0") instead.
    - Action.hpp: NODEFAULT changed to "" instead of std::string("").

commit e5bf2b22c0042a67710fb901a98aa2af11f93f72
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 10 23:34:20 2011 +0100

    removed CPPUNIT_LIBS/FLAGS from most Makefile.am and LIBS/libs -> LIBADD.
    
    - CPPUNIT_LIBS/FLAGS is only needed for unit tests.
    - LIBS/libs should actually be LIBDADD, see also ticket #133.

commit b2ae3bbc113d5260710b637dd098d36ee28dc655
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 4 13:14:59 2011 +0100

    Removed smaller warning, mostly due to NDEBUG.
    
    - ASSERTs are not compiled in with NDEBUG but some stuff is assigned before and
      then checked within the ASSERT. If NDEBUG, the compiler will issue a warning
      because of unused variable. These have been excluded by a
      #ifndef NDEBUG,#endif
      block.

commit dd88cb86f41b3bd7928c6029b08d07f211ecb31f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 23 19:14:41 2010 +0100

    Set current version to 1.0.8.

commit 6d2207705fa65aba62ae39144897529bc80eb3a3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 23 17:45:39 2010 +0100

    FIX: Forgot Shapes/unittests and made Shapes into own library.
    
    - Shapes only depend on LinearAlgebra and Exceptions, hence own lib module.

commit acbe1b77b823d2bb1821c128fc01df591be27828
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 23 17:35:16 2010 +0100

    All libraries don't have version in name anymore.
    
    - we used gained knowledge from CodePatterns library for .pc file and
      and the generated libs to finalize their use (for SubspaceFactorizer
      soon the factored out into independent project).
    - .pc now contains all libs and named correctly.
    
    Makefile.am's
    - include_HEADERs corrected
    - pkgconfig_.. thrown out except in src/, it's always the same file
      - at a later point we might have specialized .pc files for specific
        libraries such as Shapes,LinearAlgebra and Exceptions, ...
    - no more version attached, only via -version-info, as .pc file checks
      for version anyway.

commit dc031cb33b9d55462239994b557d00d9554e07f7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 22 18:16:07 2010 +0100

    Added enable-debug and enable-cache switches to configure.
    
    - These set NDEBUG or MEMDEBUG.
    - The user does not need to have to know about this stuff, configure should
      tell him his options in a easy to understand manner.
    - also, we use CodePatterns-debug library if debug is specified and we need
      v1.0.1 from CodePatterns.
    - updated ax_codepatterns.m4.

commit 56f73b5512dfb946d0cfe382fc8564d60e182c52
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 22 18:10:02 2010 +0100

    Added config.h also to all header files, code check test ascertain this in the future.
    
    - as we want to use config.h to pass stuff such as MEMDEBUG, NDEBUG,
      LOG_OBSERVER, we have to make sure that it is present in each and every
      file.
    - split up CodeChecks/testsuite.at: each test has its own .at file.

commit ad011c5ac0c9bfcf699f41ee11dd4a8aa0abb89a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 22 11:33:36 2010 +0100

    CodePatterns places all includes now in subfolder CodePatterns/.
    
    - change all includes accordingly.
    - this was necessary as Helpers and Patterns are not very distinctive names
      for include folders. Already now, we had a conflict between Helpers from
      CodePatterns and Helpers from this project.
    - changed compilation test in ax_codepatterns.m4 when changing CodePatterns includes.

commit a0064eed42643b1cce8b62a957d12e2bdfc5e696
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 22 10:18:48 2010 +0100

    Moved stuff in src/Helpers and src/Patterns out to stand-alone project CodePatterns.
    
    Makefile.am's:
    - CodePatterns added to AM_LDFLAGS and AM_CFLAGS
    - libMoleCuilderHelpers removed
    
    Helpers/...
    - defs.hpp include prefixed with Helpers/
    - helpers.?pp removed lots of old, unused functions: bound, ask_value, ...
    - fast_functions.hpp has lots of functions removed as well.
    - all other files and unit tests moved to project CodePatterns.
    
    Patterns/...
    - all files mnd unit tests oved to project CodePatterns.
    
    - added ax_codepatterns.m4 containing AM_PATH_CODEPATTERNS to configure.ac

commit f28a26ae355bb241ae04316dbd135e284fbb92a6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 20 22:18:34 2010 +0100

    Added ChangeLog file and config dir creation to bootstrap.

commit 78bb14109cfdffd92df5a209d6c6f435f90b1369
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 16:57:59 2010 +0100

    BUGFIX: SetOutputFormatsAction seemed to add last format twice. Thanks Daniel!
    
    - this was a bug in ValueStorage: while-loop checked for stream.fail(), but
      the stream might also fail within and nonetheless we pushed the (then
      unaltered from last iteration) temp value. Hence, doubly occuring last
      item.
    - to prevent this, we test within for stream.fail() and for all others we
      placed ASSERT's everywhere (as internally strings are used for conversion
      and for a vector, we have to parse (at least) three strings).
    - if std::vector<>'s are parsed, we ASSERT only that at least one value was
      parsed.
    - FormatParserStorage now just gives a warning, when an already presen Parser
      is added again, but gives a not that input type is not needed to be specified
      as output type as well.
    
    thanks Daniel for pointing this out!

commit ff3c4002a716034c90ecc45a2447e144ee900ffe
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 16:26:30 2010 +0100

    BUGFIX: TremoloParser would store "noKey" if other format given as input.
    
    - If not originating from a tremolo type file, i.e. when TremoloParser has to
      fall back to its default value, it wrongly output also the noKey.
    - also we placed setter and getter for noKey, getter gives "noKey" string.

commit e6f9c5924a09731d92bcf9977f544c3c06f0099d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 15:46:13 2010 +0100

    Removed all -e ${abs_top_srcdir} from regression tests.
    
    - Now only the test on external element database uses still "-e" switch.
    - Note that this was utter nonsense before anyway. Molecuilder writes the
      database in the end, i.e. make check would change elements.db in the
      source folder ... Evil!
    - This closes ticket #78.

commit 5d6f38416b4c5e08382366362df9df4bac7f185a
Merge: d0a7193 dd97a92
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 15:20:26 2010 +0100

    Merge branch 'Fix_TremoloAtomInfoContainer_MemDebug' into stable

commit dd97a92224a10b645572d2e62e316c7cf76175e6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 15:20:07 2010 +0100

    Added missing MemDebug.hpp to TremoloAtomInfoContainer.cpp.

commit d0a719337605ff092ec30a9628eacac47018187c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 17 15:17:44 2010 +0100

    Added new testsuite called CodeChecks.
    
    - this testsuite is meant to capture coding pardigms and ascertain that they
      are adhered to.
    - the first test is on whether MemDebug.hpp is included in every source file
      which is quite necessary since we have set all unknown mem source to be
      ignored in counting and admonishing.

commit f844ef1d2617f49c942d373969b847f7fc5ae831
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 22:40:03 2010 +0100

    Renamed all remaining unit tests in src/unittests to Capitalized naming scheme.
    
    - some includes had to be changed.
    - some other files too due to befriended member functions of unit tests.

commit dfafe75c0a321601e7c5213a34a8e595a074c4f4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 22:07:59 2010 +0100

    Moved VectorContentUnittest and vectorunittest to LinearAlgebra/unittests/VectorContentUnitTest and ../VectorUnitTest.

commit 0b3cbdf61fac3c20da86e10708e1eb6f38434f9e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 22:02:50 2010 +0100

    Moved ShapeUnittest to Shapes/unittests/ShapeUnitTest.

commit 57d976e0915dfd9310443b244dfde9c7d398ab8e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 21:56:56 2010 +0100

    Moved RegistryUnitTest to Patterns/unittests/RegistryUnitTest.
    
    - renamed unit test exe Registry -> RegistryUnitTest.

commit 5bc8229c9ad8aacd95f80f0270ccd72aad8fb4a8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 21:52:09 2010 +0100

    Moved PlaneUnittest to LinearAlgebra/unittests/PlaneUnitTest.

commit f890244320184388b550201562b2a865b1b496ee
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 21:47:33 2010 +0100

    Moved LineUnittest to LinearAlgebra/unittests/LineUnitTest.

commit 41396af72cb96bbfe713a3fdf03c9101ef077da5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 15:59:07 2010 +0100

    Moved Parser...UnitTest to  Parser/unittests/Parser...UnitTest.

commit a2c4f3a25768bdc125e4bb1a2d1a55d910d0b53b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 15:54:02 2010 +0100

    Moved ObserverTest to Patterns/unittests/ObserverUnitTest.

commit 6c9adcb840c14f7f035c42223e0c8e915c72fde5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 15:47:29 2010 +0100

    Moved MoleculeDescriptorTest to Descriptors/unittests/MoleculeDescriptorUnitTest.

commit 0e20316989ca2bc429f9b3d052d7b3e9ba3d26cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 15:44:27 2010 +0100

    Moved MenuDescriptionUnitTest to UIElements/Menu/unittests.

commit efd61bd3e7212dbd914dab44397fc2a2e40bff21
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 15:32:21 2010 +0100

    Moved manipulateAtomsTest to Actions/unittests/ManipulateAtomsUnitTest.

commit 4076fcc9b9d836715dfe1bba1c9247bfdd385a93
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 15:28:25 2010 +0100

    Moved logunittest to Helpers/unittests/LogUnitTest.

commit 78b59342efdef84002909010c97948f27e3de0dd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 15:19:18 2010 +0100

    Moved linearsystemofequations to LinearAlgebra/unittests/LinearSystemOfEquationsUnitTest.
    
    - also renamed linearsystemofequations.?pp to LinearSystemOfEquations.?pp.

commit fff54fc0db0a4acc85e41914d8ef5c4e74bd0e7f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 20:12:13 2010 +0100

    Moved all Matrix...Unittest to LinearAlgebra/unittests/Matrix...UnitTest.

commit 3c8e8bb4ac545196f3097a1517f779726212885b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 21:29:04 2010 +0100

    Moved atomsCalculationTest to Actions/unittests/AtomsCalculationUnitTest.

commit e7da1f59b247209d90468802fd9412179ff04717
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 21:23:58 2010 +0100

    Moved CacheableTest to Patterns/unittests/CacheableUnitTest.

commit d766b57dc12ce7778425d65155b7159612ed7211
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 19:40:21 2010 +0100

    Moved AtomDescriptorTest to Descriptors/unittests/AtomDescriptorUnitTest.

commit 456e78e35fb62976d5ccc14000867cdfdf3da8bc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 19:32:19 2010 +0100

    Removed ActOnAllUnitTest.
    
    - Till had replaced all ActOnAll by for_each() with boost::bind. Hence,
      ActOnAll is not used anymore.

commit f7c0c4875e5eed9b9b820e4cd989c0203179be0b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 19:18:36 2010 +0100

    Moved ActionSequenceTest to Actions/unittests, renamed to ActionSequenceUnitTest.

commit deddf60dcef024b8000d9a49d0357ae4601a46de
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 23:13:41 2010 +0100

    New unit test for ActionRegistry.
    
    - checks whether a short form has been used by more than once Action.
    - unit test is placed in Actions/unittests but called from
      unittests/Makefile.am via SUBDIRS to ensure that all libs are compiled.

commit c0bccbecd01c28def7f751995f67ff1a54f4c1c4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Dec 16 23:12:19 2010 +0100

    Moved SingletonTest to Patterns/unittests/SingletonUnitTest.

commit 85949a638ffde393b44b0671e40b3ccedb46ce2f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 18:53:45 2010 +0100

    Split off unittests Makefile.am's in configure.ac into own AC_CONFIG_FILES.

commit 2a0a9e3fc16c166da2f43bcf25a079b018b47785
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 18:17:48 2010 +0100

    FIX: CommandLineParser::getShortFormToActionMap() const member function now.

commit ad727091ea334c1a264e49463c1dfd9494856a64
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 17:26:52 2010 +0100

    Reduced initial verbosity of code.
    
    FIX:
    - initUI() - no more admonishing of missing bond length table.
    
    The following messages have been placed in comments:
    - Registering of Action/Options.
    - Looking for KnownTypes.
    - Stating MenuNames, Separators and submenu creations.
    - No more listing of parsed elements.
    - No more listing of thermostats.
    
    The following messages have been added:
    - prepended scanning arguments in CommandLineParser::scan...().
    - prepended running arguments in CommandLineWindow::display().
    - additional new line after ProgamHeader().
    - correct CommandLine UI setting to occur before arguments are parsed.
    - changed verbosity levels of CommandLineParser::scanforSequenceOfArguments(),
      also all use DoLog(), i.e. global verbosity makes them be listed again.
    
    NOTE:
    - MemDebug: as delete NULL is safe, we do not warn when this occurs. Also, in
      Qt this happens a lot.
    
    TESTFIX:
    - setting global verbosity to 1, messed with Standard_Options/1. There
      we set verbosity to 9 to avoid this in the future.

commit f4d06356f58f97d60e79eab5f19874cf6cd3d55c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 15 16:54:40 2010 +0100

    MEMFIX: MemDebug ignores all unknown sources. Removed all dependencies around main(), moved to builder_init.?pp.
    
    - this has been an attempt to fix the warning of a memory leak that
      actually results into the libboost_filesystem.so over which we have no
      control. As of now, i I do not quite look through the whole affair.
      That is, I have a now idea why Till's new memory allocator is used
      during the initialization of some external library already, but
      apparently it must have to do with lookup tables present in the
      exectuable already. Hence, we can not do much about.
    - Nonetheless, we split up main() into some initializating functions
      which have been outsourced to builder_init.cpp.
    - The only fix then is that we ignore all values of unknown source
      in MemDebug.
    - Note: We only do accouting of stuff allocated on the heap (e.g.
      int *test = new int;) and not on stack (int test;)! However, stack
      space is limited anyway.

commit c77ac834b1961f9274456206890fd358c78dcd5b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 11 23:02:50 2010 +0100

    Added regression test for each SelectionAction on molecules.
    
    - new subfolder Selection/Molecules.
    - contains a testsuite-selection-....at per selection present.
    - extensive and very well checked tests.

commit ff237cac90abf3bb5724922b22e18dfefccb8028
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 11 23:01:10 2010 +0100

    FIX: Simplified SelectionNotMoleculeByFormulaAction::performCall() with descriptor.

commit 1a0987486025bfa5a57b606108e288ec7f8fe19f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 11 22:10:26 2010 +0100

    BUGFIX: SelectionMoleculeByIdAction::performRedo() uses wrong (_)state.
    
    - thanks new regression tests for noting this one, causes segfault.

commit c42e60ed725925e7ac0c237a354103f0a7089314
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 11 22:05:11 2010 +0100

    Two new descriptors: AtomOfMoleculeSelection, MoleculeOfAtomSelection. Rewrote associated SelectionActions.
    
    - AtomOfMoleculeSelectionDescriptor: represents all atoms of currently selected
      molecules
    - MoleculeOfAtomSelectionDescriptor: represents all molecules of currently
      selected atoms
    - rewrote Selection(Not)AllAtomsOfMoleculeAction: simply uses selectAllAtoms() and
      descriptor, no parameter anymore
    - rewrote Selection(Not)MoleculeOfAtomAction: simply uses
      selectedAllMolecules() and descriptor, no parameter anymore
    - renamed (un)select-molecule-of-atom to (un)select-atoms-molecules.
    
    That is, the SelectionActions are meant to use one selection and turn the
    other accordingly. It is a sort of exchange between the two. I can convert
    a selection of atoms to molecules and vica versa, but this "mapping" is NOT
    injective but always surjective.
    
    Testchange:
    - Selection/Atoms/testsuite-selection-atoms-of-molecule.at: Due to the absent
      parameter now, we first select the molecule by id and then ...

commit fc5c3aecf61bf757b27c7c4f9060569db2b116c7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 11 17:30:38 2010 +0100

    Molecule's SaveAction saves selected molecules, World's OutputAction saves World.
    
    - we make use of the extended FormatParserStorage::save...() functions.
    - OutputAction now has a single parameter, the file name. Before it was quite
      useless anyway as the World is stored on program exit anyway, overwriting
      anything that would have been stored by the Action in between.
    
    Testchanges:
    - SimpleConfiguration/2 are now called "--output" and not "-s" due to other
      Action being called.

commit 73916fa693ce5fb3da8ee860f66532d555f21bca
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 11 16:57:00 2010 +0100

    Extended FormatParser::save() to use vector<atom *> to save.
    
    - This is needed to make the save functions also work on selected atoms or
      molecules only.
    - Within ParserCommonUnitTest, ParserTremoloUnitTest we create the vector by
      calling World's getAllAtoms() (which would have been done before in the
      specialized save() functions).
    - new functions in FormatParserStorage:
      - saveSelectedAtoms().
      - saveSelectedMolecules().
      - saveWorld().
    - renamed ::get() and ::put() to ::load() and ::save() to have it more
      consistent with underlying FormatParser functions and also to avoid
      misinterpretation with all ::get...() functions.

commit 512f85d322a6e9f33d30dd5c0407a7abb6513ce2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Dec 10 19:07:09 2010 +0100

    Added regression test for each SelectionAction on atoms.
    
    - Moved testsuite-selection.at to subfolder Selection.
    - testsuite-selection.at just contains includes for each Action.
    - Therein subfolder Atoms contains:
      - testsuite-selection-....at: one for each Action.
      - all folders with pre and post files.
    - all tests include Undo/Redo and select/unselect
    - each regression file has been tested thoroughly, especially for cuboid and
      sphere selection.

commit 17c1a8e8744f0689e0dfd763a4ba3027a68fe52a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 8 00:55:21 2010 +0100

    Added regression test for SelectionAction to testsuite.
    
    - so far only for AllAtomsAction.

commit 125002e81c98512135b35e1b6d522def2717dad7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 7 23:23:03 2010 +0100

    Splitted SelectionAction modules into two groups - atoms, molecules - and each into a subfolder.
    
    - had to adapt includes in all .cpp files as they contained some stupid
      relative path.
    - This is sensible as there are quite a large amount of SelectionActions and
      it is hard to discern the ones which select atoms and which select molecules.

commit 92d756fffdac8a3b844d1d562292a4c99a853093
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 7 23:05:18 2010 +0100

    Larger update of selections.
    
    - new selections:
      - NotMoleculeByOrderAction
      - MoleculeByNameAction
      - NotMoleculeByNameAction
    - exchanged all loops in present selections by BOOST_FOREACHs
    - used AtomsBySelection() and MoleculesBySelection() to more cleverly store
      stuff for undo state.
    
    - new MoleculeOrderDescriptor (outsource from SearchMoleculeByOrder).

commit 0bbfa1f442f20bde96b5119e3b620b99bc8c62d9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 8 02:10:03 2010 +0100

    BUGFIX: Parsing a second .data file failed.
    
    - atomIdMap was not cleared in TremoloParser::load().
    - neighbors of first parsing get processed again after second parsing, hence
      bonds are added twice.

commit 93fd43e59ae1cd1a2ca84e03e23e808197ff8076
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 7 15:00:19 2010 +0100

    new function PdbParser::getadditionalAtomData() that also adds new entries.
    
    - either we get the present one, or create from next father, topmost father
      or from defaultValues a new entry.

commit 1d02fe3308df262c745ee1939a67abc233e2f804
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 7 14:18:46 2010 +0100

    MEMFIX: PdbParser::readAtomDataLine() additionalAtomData entries leaked.
    
    - entries were created by *(new PdbAtomInfoContainer) instead of
      PdbAtomInfoContainer() which copies default values from temp instances.

commit 16462f8c5b097f56fd1c2c03e31b5cd9daef6a0f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 7 13:54:42 2010 +0100

    PdbParser is now complete with respect to additionalAtomData.
    
    - serial, name, resName, resSeq, element, and charge are updated if changed,
      otherwise we use values from PdbAtomInfoContainer.
    - PdbParser::saveLine() completely uses information from PdbAtomInfoContainer.
    
    Testchanges:
    - Simple_configuration/2/post/test.pdb updated as we are now closer to real
      PDB format also concerning alignment and the resName changed again.

commit 031e2c6660707d072a402cb12517f617d42c8d3c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 7 14:09:39 2010 +0100

    Splitted off classes TremoloKey and TremoloAtomInfoContainer into own modules.

commit 24f1282e1df2c72138841c78643facb494f0b9ed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 7 14:16:13 2010 +0100

    MEMFIX: TremoloParser::readAtomDataLine() additionalAtomData entries.
    
    - entries have been filled with *(new TremoloAtomInfoContainer) instead of
      TremoloAtomInfoContainer() which copies default values from temp instance.

commit 4c12306495978f073faf37a21b00f168b04041bf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 6 21:47:33 2010 +0100

    FIX: PdbParser::writeNeighbors() uses getAtomId not getSerial.
    
    - additionalAtomData is as of now not used for storing. Hence, we first fix
      this. Now, the set id in PdbParser::save is also used for the neighbor
      connectivity.

commit a564be038aa43b68337fb7e9294c7feed0300ab0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 6 20:15:03 2010 +0100

    Removed ancient StackClass, replaced by std::deque.
    
    - all PopLast replaced by pop_front.
    - all PopFirst replaced by pop_front.
    - and we have two remove items in two steps, first get item, then pop.

commit fd19ffcfb7e86ca4783fbcedf0584c4608df7c1c
Merge: 001f8a9 ca03c73
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 5 01:21:11 2010 +0100

    Merge branch 'SelectMoleculesByOrderAction' into stable

commit 001f8a9151f2367cc32119fef0f83b2bfdaf9222
Merge: f03705f cabb467
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 5 01:21:03 2010 +0100

    Merge branch 'ExtendLoadSaveXyztoAnyFormatParser' into stable

commit ca03c737b18c4f2c7a74bb5afa10aef73a7369e8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 4 23:22:31 2010 +0100

    Added select-molecule-by-order Action.

commit cabb4679cb9a88d3965bf3c046c49ed900a21865
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 4 22:23:07 2010 +0100

    Extended LoadXyz and SaveXyz to any format.
    
    - renamed ParserAction/LoadXyz -> MoleculeAction/Load (same with Save).
    - also changed .def for both.
    - LoadAction then uses stuff from InputAction but without output name setting.
    - new function FormatParserStorage::put() which is opposite to get and stores
      world to a given ofstream with type from suffix.
    - SaveAction uses new FormatParserStorage::put().
    - short form of LodAction is "l" not "p"
    - short form of SaveAction is "s", ScaleBox has no short form anymore
    
    Testchanges:
    - copied all from Simple_configuration/2/pre to ./post.
    - changes to test.conf:
       MaxPsiStep (if 0 given, then 3 is set).
       MaxMinGapStopStep (if 0 given, then 1 is set).
       InitMaxMinGapStopStep (if 0 given, then 1 is set).
    - changes to test.pdb:
       segName is tes (from _tes_t.pdb) not non.
       Obtaining molecule names from pdb file's segName is not implemented yet.
    - ParserCommonUnitTest::rewriteAnXyzTest(), we don't check for string equality
      but parse the output stream again and check whether first and second half
      of all atoms are equal with respect to position and element.
    - all regression test that diff an xyz file now use -I '.*Created by....*'
    - changed regression tests with respect to changed short forms.

commit f03705f696ab4a9d6c37935af9a29048f199bdf9
Merge: 6e06bd5 e828c07
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 5 01:19:33 2010 +0100

    Merge branch 'SubspaceFactorizer' into stable

commit 6e06bd5894042aa085863fea17cf566f42e7a31b
Merge: 589112b bbf1bd9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 5 01:19:19 2010 +0100

    Merge branch 'MatrixVectorContentRefactoring' into stable

commit 589112be6795a12a7a887ba4005dda978bda9870
Merge: 5d4b731 a01144e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 5 01:18:31 2010 +0100

    Merge branch 'FixingMemDebugChunks' into stable

commit 5d4b731ab716069a5f604dfb95a1db006dfeaba1
Merge: 41e15b8 d754bbb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 5 01:17:34 2010 +0100

    Merge branch 'MenuStructureChange' into stable

commit 41e15b8d296401abbd6d9901e3ad1a9692986df2
Merge: 0af7ef3 b295ca6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 5 01:16:53 2010 +0100

    Merge branch 'FixLexicalCastTextDialog_QtQueryListPipe' into stable

commit 4fbca9c2b6785a7839394eeab5fe9c6dad6c28cd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 4 19:05:33 2010 +0100

    PdbParser::save() fully working.
    
    - added UnitTest for PdbParser.
    - split ParserUnitTest into Common and Tremolo.
    - split off classes PdbAtomInfoContainer and PdbKey into own modules.
    - PdbParser can now load ATOM and CONECT entries.

commit e828c07cc83828399b494f75295e73daf5ad0852
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 4 19:10:56 2010 +0100

    SubspaceFactorizer is now hierarchical.
    
    - higher order subspace matrices are only corrections to lower order ones.
    - i.e. eigenvectors obtained from there have all lower ones projected and
      substracted.

commit 1fb318e13ebc1029d5ba1a68d3b01c62237ab05b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 4 19:11:17 2010 +0100

    Added helper template function: ConvertTo() that converts a string to a desired value.

commit 286af5fb9ad803eaed15af491597fbf6b924d817
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 22 19:00:17 2010 +0100

    SubspaceFactorizerUnittest::SubspaceTest() - fully working compared to EigenvectorTest().
    
    - we also have an iteration and the results are exactly the same for a 3x3
      matrix at run 2 and 9.
    - classes Eigenspace and Subspace are thus for now fully working.

commit 7d059dd842ec69d4f92d90a9d682739b6028ab89
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 22 18:59:56 2010 +0100

    SMALLFIX: MatrixContent::setIdentity() - made cast from bool to double explicit.

commit 9f9b5a8050ebe660ec28f9e48b98cdc192c90821
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 22 18:27:26 2010 +0100

    Added some template operator<<() functions for std::list,map,multimap,set,vector.

commit a06042e843c266378c28a07d857634215eb6f8b9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 22 17:23:18 2010 +0100

    SubspaceFactorizerUnittest::SubspaceTest() enhanced.
    
    - Now projection matrices and therefrom eigenspace matrices are constructed
      correctly.

commit 58605562acab64d92776eafdb01c18caf23d7b60
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 22 17:22:59 2010 +0100

    Made VectorContent::operator=() ASSERT more verbose.

commit 9c529645733d09290760e9ebeff51081f40223b8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 22 15:57:20 2010 +0100

    New classes Eigenspace and Subspace that contain eigen(sub)spaces.
    
    - also added new test to SubspaceFactorizerUnitTest::Subspacetext().
     - so far only constructs the full and nested sub spaces.

commit f5bca22b78eaf9625472526767aee30ef21eac07
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 22 12:10:57 2010 +0100

    SubspaceFactorizer now has the matrix dimension as an enum.

commit 74237190563beadc942e60dbd56f5fd7b388031b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 19:24:28 2010 +0100

    Subspace Factorizer is almost working.
    
    - for the testing (4x4) matrix, the middle eigenvectors are good, but the
      smallest and biggest are off by a few percent, yet converged ...

commit a062e1a2664e207eac45146412e88672ce76b9c9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 19:22:14 2010 +0100

    BUGFIX: MatrixContent::operator*=(MatrixContent&)'ASSIGNS were wrong.
    
    - for a product with another matrix, not lhs.row==rhs.row, but rhs squared and
      lhs.columns == rhs.rows.

commit 14cce656977d7ff643161db58293c9cca7ab5f3b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 19:21:41 2010 +0100

    New getter for VectorContent::dimension.

commit aab177d98e690f1248a0b4baa792a2038f929536
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 19:20:51 2010 +0100

    BUGFIX: MatrixContent::getColumnVector() and MatrixContent::getRowVector() had calls to gsl_... swapped.

commit 35fbef23b9da4ffe3159ed9a4a1fd9672698a932
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 19:20:11 2010 +0100

    BUGFIX: MatrixContent::get...() not const member functions as should be.

commit 3da2fb469f9384e940eef17ba9935099f76b7967
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 15:55:04 2010 +0100

    New module MatrixVector_ops that contains matrix vector products.
    
    - all functions are made friend of Vector, VectorContent and MatrixContent as
      needed. Hence, has to be in distinct header file from these.

commit 694eaeaa8cfed90f0d1a6fcce33a04b118565314
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 15:53:46 2010 +0100

    Implemenation of Vector::Norm(), ... now depend on VectorContent.
    
    - made operator*[=](double) into member functions.

commit 3dd9c7ca1b89a4b30a84806b5db5b0fa21e6fcca
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 18 15:50:54 2010 +0100

    New functions for VectorContent, partially copied from Vector.
    
    - new: Norm(), NormSquared(), Normalize(), getNormalized().
    - implemented: DistanceSquared(), ScalarProduct(), Angle().
    - FIX: operator*(VectorContent) is const member now.

commit 40be553e468c5432cecad628aa323b3b2a23cf28
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 16:43:58 2010 +0100

    Current stable version of SubspaceFactorizer.
    
    can:
    - functions embedSubspaceMatrix() and getSubspaceMatrix() to embed and to
      obtain the small block matrix from/in a big one
    - we construct the index set
    - we construct the block matrices
    - we solve the eigensystems
    - we transfer the eigenvalues back
    - we associate to original eigenvectors by parallelness, uniquely within a
      subset of indices.
    - we construct the new set of eigenvectors by averaging.
    
    can't:
    - resulting ev are not orthonormalized or checked to be
    - no iteration yet

commit 0fd3f24772a3babab73bf386ab1328777738a36e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 16:43:30 2010 +0100

    Scalar product operator implemented, taken from Vector.

commit f453d2ed88e83b50d828778afe4b41f3afb313a3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 16:43:17 2010 +0100

    New VectorContent copy constructor for gsl_vector.

commit 60dada681c8d81d228c315a78be44fcee3bdc6f4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 16:41:53 2010 +0100

    Added getter for MatrixContent:rows and ::columns, and for Row/Column/DiagonalVector.
    
    - RealSpaceMatrix::createViews() uses these get functions now.

commit 4c57fbfc2c8aed284634ebccfde4fc6d01292498
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 14:20:29 2010 +0100

    FIX: _object for toString() can and has to be const without any loss.

commit d85c28d0a60ffc7686e3aab064475dce354a5cbb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 13:33:51 2010 +0100

    Added Hadamard product by overloading MatrixContent::operator&(..) and operator&=(..).
    
    - the Hadamard product is a component-wise product which we need for
      subspace factorization.

commit 04146220b0862ff96425b73f0ee9076a31b357ce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 13:22:39 2010 +0100

    BUGFIX: operator<< for VectorContent placed "," at wrong position.

commit 17fa816510f6b950b8a5edbeacf4f3cd95693f08
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 12:42:47 2010 +0100

    MatrixContent::transformToEigenbasis() also working for non-symmetric real matrices.
    
    - we don't have to look for zero columns OR rows, as eigenvectors are stored
      column-wise and eigenvalues give clear identification of the right/non-zero
      ones.
    - also added ASSERT to MatrixContent::operator*().

commit 5eec98fc74e20ebf464cd1f75c19e0d45b825c07
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 12:22:30 2010 +0100

    Subspacefactorizer can now be linked with just GSLLIBS.
    
    - i.e. we don't need ALLLIBS anymore.

commit 13d1504cb6c549a18c96fb24463172b5f411e4c2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 12:21:40 2010 +0100

    Moved leastsquaremin.?pp to LinearAlgebra.
    
    - changed Makefile.am and LinearAlgebra/Makefile.am.
    - changed include in molecule.cpp, molecule_geometry.cpp and vector_ops.cpp.

commit 6d5a104a348d8b5b9e69f59a022509811fb750cc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 12:17:37 2010 +0100

    Added/Sorted some includes in LinearAlgebra and Exceptions.

commit e4fe8d6bab9cf4dd5525442cf6174806c453318a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 12:16:06 2010 +0100

    Moved defs.?pp to subdir (and library) Helpers.
    
    - hence, include had to be changed to Helpers/defs.hpp
    - and Makefile.am and Helpers/Makefile.am adapted
    - also in LinearAlgebra where MYEPSILON appears we have added the above include

commit ef0c6bec93c0171ad946293a423b49bee2708b58
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 12:08:02 2010 +0100

    Deleted gslvector.?pp from repository.

commit 8e9ce1f9895161c968ecfcdfd3228bebdd711671
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 11:42:35 2010 +0100

    Added MatrixViewContent to allow views on blocks of a gsl_matrix.
    
    - dummy struct BaseCase is now Matrix/VectorBaseCase.

commit b4cf2b752620d3a300d2fa3fef55de302a2b7065
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 16 10:45:32 2010 +0100

    First commit of SubspaceFactorizerUnitTest.

commit bbf1bd95420fd2556318900509aeb2a2b49865e8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 21:00:30 2010 +0100

    Extended VectorContent class.
    
    - VectorContent formerly has been just a structure to contain the gsl_vector
      due to forward declaration reasons.
    - now VectorContent is a true wrapper to gsl_vector, i.e. all functionality
      that is now specific to 3 dimensions has been shifted from GSLVector over to
      VectorContent.
    - VectorContentView is preserved to allow for VectorContent as a view on a
      row or column of a matrix.
    - changed and renamed unit test gslvectorunittest -> VectorContentUnitTest
    - GSLVector is not used anymore anywhere
    - one long-sough error was a missing assignment operator filled-in in a wrong
      manner by the compiler for VectorContent.
    
    Note that:
    - gsl_vector is still used at many places

commit 5ada941f20587a943dbda6033b6e4d8c01b3ce67
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 15:06:20 2010 +0100

    Removed files gslmatrix.?pp.
    
    - also removed last include in vector_ops.cpp.

commit 6c1cd12eee33413bbb6cb70f425ff114bacb2e5b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 15:04:49 2010 +0100

    tempfix: typo in MatrixContent::...pointer contained ref to GSLMatrix.

commit c134d91b31b1473ed8101493c441a723f670152a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 15:04:02 2010 +0100

    tempfix: removed transpose ... messages.

commit 0d4424de796ea0eb6de8098859070b5acdb6edae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 15:02:38 2010 +0100

    Made gslmatrix obsolete.
    
    - Transfered property and swap...() functions from GSLMatrix to MatrixContent.
    - Line::getIntersection() uses now MatrixContent.
    - made unit tests for gslmatrix into unit test for MatrixContent.

commit cca9efb7bf18583f35d0380acb97e9034c42bbe7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 13:58:27 2010 +0100

    Renamed Matrix to RealSpaceMatrix.
    
    - class Matrix only represents 3x3 matrices, whereas we are now going to
      extend the class MatrixContent to contain arbritrary dimensions.
    - renamed class and file

commit 3bc9264606122a0c59b0d7bf20669cc353efbbec
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 13:36:18 2010 +0100

    Extended MatrixContent class.
    
    - MatrixContent formerly has been just a structure to contain the gsl_matrix
      due to forward declaration reasons.
    - now MatrixContent is a true wrapper to gsl_matrix, i.e. all functionality
      that is now specific to 3 dimensions has been shifted from Matrix over to
      MatrixContent.

commit 9eb7580cd9f1b192263dddcbef45a27b39fc5eca
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 11:29:25 2010 +0100

    Renamed Matrix setter functions to unify naming.
    
    - Matrix::one -> Matrix::setIdentity
    - Matrix::zero -> Matrix::setZero
    - Matrix::rotation -> Matrix::setRotation

commit cfc53b40fcd322688790ea68e3e591670d3880ae
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 15 11:24:24 2010 +0100

    Added template function toString(), is included in Assert.hpp.
    
    - std::string() only works on char* not e.g. int. There we have to use
      stringstream. This function encapsulates this conversion.

commit a01144ecd22d2dc72de922a73d53eb3e8a06c02b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 11 19:49:23 2010 +0100

    MEMFIX: quitAction is not free'd anymore.
    
    - this is done by ActionRegistry, as it is registered.
    - also we empty returnFromActions list properly.

commit 0e08d58b5b181aaa9bc39669605f110092dab17f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 11 19:48:45 2010 +0100

    MEMFIX: Submenus were not free'd.
    
    - introduced list of submenus to class TextMenu.
    - Submenu TextMenus are deleted in destructor of TextMenu.
    - also ShortcutMap is cleared there.
    - in TxMenu list of MenuItems is properly erased now.

commit b2151f5f3c6feafd6bdc52bcb8ae01e32953dec6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 11 19:45:09 2010 +0100

    Removed some virtual keywords in front of classes that are not base classes, but only derived ones.

commit c82d0c82d4b642535ea65dae019a045eb40cf376
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 11 19:43:28 2010 +0100

    MenuDescription is now a singleton.
    
    - also all Maps are static objects, allocated and filled dynamically in the
      constructor, removed in the destructor.

commit d5240d74405d4ff10e28079491467650d6a36d25
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Nov 11 15:39:10 2010 +0100

    FIX: Linking to non-system boost is working now.
    
    - FIX: BOOST_CPPFLAGS was not present in AM_CPPFLAGS in all Makefile.am
    - Hence, not the correct includes were used and linking occured with undefined
      reference errors (because of version conflict between system-wide installed
      and non-system boost)
    - validate()s now make version check of boost as signature of
      validation_error)_ changed in boost 1.42
    - added AX_BOOST_SYSTEM to configure.ac and BOOST_SYSTEM_LIB to src/Makefile.am
      and src/unittests/Makefile.am. Otherwise we have to set an rpath to let
      it find the lib needed by other boost libs in non-system boost configs.

commit ae21cbd6997bd376bb6a338f21a97f19796d175b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 10 15:21:55 2010 +0100

    MEMFIX: new function AddStaticEntitiestoIgnoreList() for putting static variables on ignore list.
    
    - static classes still may have dynamically allocated contents in their
      constructors. Hence, we have to put their contents - which will get
      deleted - into the Memory::ignore map to avoid their admonishing.

commit 41449c171ea776d7dcc91a7b1eaaa12893873edd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 22:56:18 2010 +0100

    MEMFIX: Action::success and Action::failure are not recognized by MemDebug.
    
    - Although these are placed into boost::share_ptr with Memory::ignore, this
      does not work out of the same reasons we have given in the last commit:
      boost::shared_ptr makes same dynamic allocation which is not ignored.
    - Hence, we have a new (static) function removeStaticStateEntities() that
      calls reset() on these shared_ptrs and which is called in cleanUp().

commit 052afe13bdc0d95e03536a565fb005e73ef89520
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 17:16:58 2010 +0100

    MEMFIX: ofstreams in ...logger.hpp as static objects were not recognized by MemDebug.
    
    - now they are allocated via new in the constructor of the ...logger's.
    - Calling new ofstream(..) globally would cause segfaults in some unit tests.
    - Constructor is private (due to logger's being singletons), hence this is safe.
    
    NOTE: the problem is not the static object itself, but what is allocated
    dynamically inside the object's constructor (this also concerns previous
    fixes)

commit 694d841455d8fa728517b6d9113d7a59531897be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 16:42:30 2010 +0100

    MEMFIX: static factories map of UIFactory was not clear()'ed in destructor.
    
    - hence, boost::shared_ptr still had a user and have not been deleted.
    - TESTFIX: ActionSequenceTest and manipulateAtomsTest segfault.
     - the problem was the static hasDescriptor boolean. It made the dummy factory
       getting registered only once, despite its being removed during UIFactory::
       purgeInstance() in tearDown().
     - hasDescriptor is now a member variable and set to false in tearDown().

commit 95c0abf00cb1dbccd2cda17e2e09fc0f295e2ffd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 16:16:40 2010 +0100

    MEMFIX: MemDebug was confused by const Action objects, changed to dynamically allocated.
    
    - before we used: const ACTION INSTANCE, now we allocate via new.

commit d2b28f15457da25888fab2bdd7e87cf6216948e4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 16:13:12 2010 +0100

    Added missing MemDebug include to various implementation files.

commit d754bbb30af7537ab3706f0b5cec46f0acb27940
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 16:03:10 2010 +0100

    All TextQuery now show getDescription()+": " on handle() call.
    
    - getTitle() is only a token ... not a description

commit 5eebbc78b9dba5f107dc6b3f23314d94c91f7469
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 16:02:27 2010 +0100

    FIX: FileTextQuery was not working properly.
    
    - somehow getline from std::cin does not work ... but std::cin >> ... does

commit 670cd1cb385612d421aad5ee421eab45bc65f878
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 18:19:07 2010 +0100

    FIX: Missing MemDebug.hpp before TextMenu template declaration.

commit 1e086111afdb5ad88cee32c659e63cfd0cef4a02
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 17:48:38 2010 +0100

    Qt stuff is not compiled into libMolecuilder but libMolecuilderQtUI.

commit 87db7aecda4c8363f0b67c5eab5d571842b9c9a0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 15:19:35 2010 +0100

    Moved declaration for all CommandLineQuery.. into own header file.
    
    - Query module just need this header file.
    - CommandLineDialog declaration just has forward declarations.

commit a5ddf04694c4e27ef6c7c442361c2092c16af622
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 15:06:23 2010 +0100

    All Qt...QueryPipe now have their own header file.
    
    - Query just include the QueryPipe they need.
    - old declarations moved out of QtDialog.hpp which became a lot slimmer in the
      process.

commit 308aa43f3e30fb9a88d9923d90ff3940289ce5a3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 14:22:05 2010 +0100

    Moved declaration for all QtQuery.. into own header file.
    
    - Query module just need this header file.
    - QtDialog declaration just has forward declarations.

commit 738ae1e8b6d1be253565c15e50c3cb7b0cdfabba
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 14:05:32 2010 +0100

    Moved declaration for all TextQuery.. into own header file.
    
    - Query module just need this header file.
    - TextDialog declaration just has forward declarations.

commit 3a21a725fe8654c46053fbab3d721519872c4fa0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 14:04:37 2010 +0100

    Moved validate() functions for boost::program_options into own module.
    
    - removed from CommandLineParser.cpp.

commit e9be39efd3548091ce2ee01c2e279982afc4c11d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 13:32:45 2010 +0100

    Renamed SeperatorItem -> SeparatorMenuItem.
    
    - in files and declarations.

commit f0f9a60bdc0af971268af45d96cd8b8a9875cb05
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 13:15:08 2010 +0100

    Placed TxMenu::LeaveAction implementation and declaration into its own module.
    
    - TxMenu now only contains forward declaration

commit 8f3f407211aab85d7d899e17a7d633813f02ad83
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 11:31:40 2010 +0100

    Added documentation on the new menu structure.

commit 0af7ef3b3ed30f65ad3059fd8a14ef773be0e070
Author: heber <heber at ins.uni-bonn.de>
Date:   Wed Nov 10 15:11:13 2010 +0100

    MEMFIX: quitAction is still deleted in TextWindow's destructor.
    
    - deletion is done by ActionRegistry, where is is registered.

commit b59da6e8dbaa0c9c1ed4e190d2b7cd4ccec6152a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 8 10:36:45 2010 +0100

    Refactoring of Menu structure for Qt and Text UI done.
    
    - Menu is now the initialising class for the menu structure.
    - MenuInterface contains virtual declarations of all functions that Menu needs
      to call.
    - TextMenu and QtMenu are templated classes which contain both Menu and
      MenuInterface and implement the virtual functions.
    - class TxMenu and its ...MenuItems contain most of the old Menu code for the
      text-based system. Most of the stuff, such as triggers, are now hidden
      internally.
    - in ..MainWindow() we basically just construct the desired Menu and
      call init at the correct time.

commit 5813ac0cc79578b47db146eb94c5be04a9e6ac7b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 4 23:54:22 2010 +0100

    FIX: forgot to move using boost::lexical_cast from TextDialog to QtQueryListPipe.

commit b295ca6bd0b38b48a6070c17818c7b8f1ab98686
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Dec 4 23:54:22 2010 +0100

    FIX: forgot to move using boost::lexical_cast from TextDialog to QtQueryListPipe.

commit ffb9ad3ad26c892a8aa0013c675637237728b887
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 1 21:29:58 2010 +0100

    FIX: Menu entries are again correctly added to QtGui part.
    
    - also expanded MenuDescriptions to contain position for each menu and submenuing.
    - MenuDescriptions::MenuSet was replaced by MenuPositionMap which is iterable.

commit e262c76e616587e3eb48650a71afa8c79d2eeb09
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 1 18:26:54 2010 +0100

    Removed conversion scripts for ActionTraits refactoring.

commit 7cb4501e7de75b105a08a21b90edfc17c59e2e9f
Merge: c38826b 76cec6c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 16:37:52 2010 +0100

    Merge branch 'FixOptionRegistryMemLeak' into stable

commit 76cec6c27521e13434c84ce3ad89ba64ea437510
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Nov 9 16:35:53 2010 +0100

    MEMFIX: OptionRegistry has not been purged in cleanUp().

commit c38826b3bf15f17943193456d55be73246628ebd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Nov 1 18:26:25 2010 +0100

    Removed debug statements in ..Traits() constructors.

commit e4afb4b989433224538ab4ba0f471e4573bbeaf2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 30 21:55:54 2010 +0200

    Huge refactoring: Introduction of Traits to Actions.
    
    This change is really big but the introduction of the Trait concept (at least
    in its current light form) is so fundamental that lots of pieces had to be
    changed in order to get everything working.
    
    The main point why it was necessary to add these traits in the first place was
    to comfortably allow for adding extension of Actions information-wise, i.e.
    with stuff that is only important for the QtUI, such as icons, or tooltips, ...
    This extra information should not be stored with Action itself, as it has
    nothing to do with the workings of the Action. And neither should it get
    stored with some blown-out-of-proportions MapOfActions class ...
    
    The gist of the change is as follows:
    - OptionTrait contains the token, description, shortform and type of an option,
      such as ("position", "position in space, none, typeid(Vector)).
    - ActionTrait is the derived form for actions where additionally MenuPosition
      and MenuName are stored (and probably more to come for the GUI), also
      we have a set of OptionTrait instances, one for each option of the Action.
    - Action then contains this ActionTrait, specialized for each Action.
    - the preprocessor macros have been enhanced to gather all this information
      from the .def files.
    - MapOfActions is gone. Completely. Most of its use was to store this extra
      information and the ValueStorage part now is just in class ValueStorage.
    - ValueStorage is no more an interface to MapOfActions but as the name says
      a (type-safe) ValueStorage.
    
    Listing the (remaining) changes in alphabetical order of the class:
    - Action
      - member value ::name dropped, ::getName() uses ActionTraits::getName()
      - new define NODEFAULT which is used in paramdefaults in .def files
      - all derived actions classes such as Process, Calculations, MakroAction,...
        have been adapated to use the ActionTrait concept as well.
    
    - ActionHistory
      - extraced RedoAction and UndoAction, shifted implementation into their own
        object files and they use .def files as well (i.e. streamlined with method
        used for other actions)
    
    - CommandLineParser
      - CommandLineParser goes through ActionRegistry to get arguments and types to
        add
      - we use TypeEnumContainer which before was present in MapOfActions,
        as CommandLineParser::AddOptionsToParser() needs enums in its switch
        statement, we can't switch on types and types are not known until
        run-time. Hence, templates won't do either.
      - ShortFormMap is created here now (and used here only)
      - File was moved over to UIElements/CommandLineUI.
    
    - MenuDescription
     - contain information on Menus such as name, ...
     - new unit test checks for consistency
    
    - molecule
      - const member functions: Copy(), Output() and OutputBonds()
    
    - OptionRegistry
      - new registry class for options only
      - we want the same type throughout the code for each token, e.g. "position"
      - the registry containts checks for consistency
    
    - OptionTrait
      - default values are specified in paramdefaults, none are given by NODEFAULT
      - introduced default for translate-atoms, point-correlation, pair-correlation
    
    - Registry pattern
     - new unit test, but only sceleton code so far
    
    - ...Query, also ...Pipe
     - atoms, molecule and elements are now all const
     - also ValueStorage's signatures all have const therein
    
    - ValueStorage
      - set/queryCurrentValue from MapOfActions
      - at times VectorValue has been in .def files where Vector was in the
        signature. This is cleared. Such stuff is only present for e.g. BoxVector
        being queried as a Vector. But this is a feature and intended.
    
    - World
     - most of the (un)selection functions now work on const atoms and molecules
     - in one case we need a const_cast to remove this, but this is intentional,
       as the vector of selected atoms stores non-const pointers and this is ok.
    
    There is only one test which had to be changed slightly because a specific
    option token as "position" must now have the same type everywhere, e.g. always
    Vector.
    - TESTFIX: Simple_configuration/2: --position -> --domain-position (and
      associated to BoxVector)

commit 23359f078466fee0fe57f86bed6e93885acb877e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 30 21:53:44 2010 +0200

    Assert's internal check now uses std::string instead of const char *.
    
    - This allows for stuff like: "i = "+std::string(i)+" is too big"
    - no changes are necessary elsewhere

commit c1012b535514cd90386af7e9511caed69adfc649
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 16:14:41 2010 +0200

    Constructor of TextMenu now takes const string as 2nd argument.

commit 20d46cdad72d15ed708a6d07cac8d9a32eacb773
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 16:14:20 2010 +0200

    FIX: Removed unnecessary MapOfActions include.

commit 53be342642ecc5d8c92481d78bf7924d629aad3f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 16:04:10 2010 +0200

    ActionTraits returns also MenuName(), MenuPosition(), and also OptionDescriptions().
    
    - is filled within ../src/Actions/Action_impl_header.hpp from MENUNAME and
      MENUPOSITION.
    - OptionDescriptions taken from paramdescriptions and paramtokens.
    - OptionDescrptions are also iterable.

commit 8bcf3f12b38ffa3e7252dadca491edacb57f7d05
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 15:57:49 2010 +0200

    New class MenuDescription containing information on menu items.
    
    - basically, shifted information away from MapOfActions.

commit d57341daabb0139273e143142890dd48dd9c3dd5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 15:56:46 2010 +0200

    Replaced ACTION::NAME in .def files by contents DESCRPTION.
    
    - in ActionTrait constructor we cannot access Action (i.e. NAME)
    - also, this is inconsistent and errorprone
      - ACTION::NAME has to be remembered as the shortform for an Action beloning
        to the action
      - ACTION may be spelled out and thus also mis-spelled.
    - conversion script contained in src/Actions/convert4.sh.

commit 052bfd8c4d6d461cd6c8c5091bd84124a8586af1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 14:24:03 2010 +0200

    Added MENUNAME and MENUPOSITION to each Action's .def.
    
    - MENUNAME is lower case of CATEGORY and within ticks "".
    - MENUPOSITION has been extracted from MapOfActions.
    - conversion script is in src/Actions/convert3.sh.

commit fc192f60e82753a72ba51f024fbbd313fb147f0f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 14:16:57 2010 +0200

    Added paramdescriptions to the .def of all Actions.
    
    - option descriptions from MapOfActions.
    - action description taken for (...::NAME) parameters.
    - conversion script is in src/Actions/convert2.sh.

commit 24fbf3fd91769be68fa1acf1a82f01ac52df3ca1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 12:43:36 2010 +0200

    All specialization of ActionTraits now contain specific information.
    
    - new defines in Action_impl_header.hpp: DEFAULTVALUE, DESCRiPTION, SHORTFORM,
      TYPEINFO.
    - i.e. removed the MapOfActions' short-wiring.
    - script used for extraction is in src/Actions/convert.sh.
    - we cause a compilation error if DESCRIPTION or TYPEINFO are missing.
    - FIX: added some typeinfos as void where missing.

commit 2a6a2c7c7d2319e0df9b71e8317ab569311ebbd8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 11:44:19 2010 +0200

    Removed MapOfActions::populateActions().
    
    - Action prototypes are now instantiated within the object file, as they
      register automatically with the ActionRegistry and can henceforth be used.
      - new define INSTANCE with a sort of unique name.
      - instance is const and hence not to be used directly.
      - MapOfActions::populateActions() removed in CommandLineWindow, QtMainWindow
        and TextWindow classes.
      - NOTE: this hopefully remedies the problem of forgetting to add new Actions.
    - Registry does not cleanup() in its destructor, but function may be called
      from derived class if desired.
      - All Action prototypes are destroyed at end of program and hence cleanup()
        would cause memory corruption.

commit bc2990df0e403a03ab9f9fcaeb6c54b49d50ae81
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 11:34:45 2010 +0200

    Using ActionTraits::getDescrption instead of MapOfActions::...
    
    - i.e. this is the short-wiring
    - note that third UI (CommandLine) uses MapOfActions indirectly (through
      CommandLineParser)

commit 4885f85a66df7b06abe99c32b66b07d82405fc5a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 11:27:08 2010 +0200

    Introduced new getters to MapOfActions and ValueStorage.
    
    - new functions are getCurrentValue (string not as type!), getDescription,
      getShortForm, getType
    - these are need to short-wire Traits through MapOfActions.

commit a8188deed094aea508332ee44b27c211808bf172
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 11:20:41 2010 +0200

    Renaming MapOfActions::CurrentValue -> CurrentValueMap.

commit df32eec66d050ebe15e7e87b16f4dc75abca8de8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 11:06:37 2010 +0200

    New class ActionTrait(s).
    
    - ActionTrait is the template class that is specialized for every Action.
    - ActionTraits is the interface that is inherited by every specialization.
    - the interface Action contains AcionTraits itself.
    - each specific Action has a specialized ActionTrait<> contained.
    
    note
    - so far, everything is short-wired through MapOfActions.
    - later the specialization will have specific constructors and get info therein.

commit 6e1e107497aecdfcac9e31ef5756edfec6b550c0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Oct 26 10:44:34 2010 +0200

    Put cleaning of Registry out of destructor into cleanup() function.

commit 573ca5fad13d63566ba36dd8f4507d519d51fa15
Merge: 8df74db 6940bb5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 30 20:43:54 2010 +0200

    Merge branch 'FixBoostFilesystem' into stable

commit 6940bb556236165ebf89b8495b117042efebb708
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 30 20:43:26 2010 +0200

    FIX: Forgot to add m4 scripts for boost::filesystem.

commit 8df74dbef13fb1628a8f98eeaac6b7c477e95818
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 19:11:33 2010 +0200

    Split off all ...Query and ...Pipe boilerplate classes.
    
    - each subclass in the dialog nor resides in its own file in a folder called Query (or Pipe).
    - only submoduled (no header files created, except for templated QtQueryListPipe class)
    - includes have been separated

commit 57a6ea1a91e89f394ecb0bdcf58b45e3ca1587e9
Merge: 9784cf6 379b7e0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 19:14:20 2010 +0200

    Merge branch 'FixQtRenamed' into RemainingQtQueries

commit 379b7e0da2e4b8cdad2824a51921e5596c46515c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 19:13:30 2010 +0200

    BUGFIX: Fixed wrong renaming of USE_GUI_QT to USE_GUI_Qt.

commit 9784cf64a18612bd681f2b6731f193dddc39cc25
Merge: 4cf323d bd23909
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 16:36:30 2010 +0200

    Merge branch 'FixBoostFilesystemintegration' into RemainingQtQueries

commit bd239098c2f3804d7b8294ca80990baa48c79c2e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 16:29:06 2010 +0200

    BUGFIX: new boost::filesystem led to non-parsing of files.
    
    - BUGFIX: MapOfActions::TypeMap is not only important for set/queryCurrentValue
      but also for CommandLineParser.
      - CommandLineDialog::FileCommandLineQuery::handle() expects
        boost::filesystem::path
      - new validate for boost::filesystem::path
      - AddOptionsToParser was missing case for enum File
      - no enum File in TypeEnumMap
    - BUGFIX: InputAction
     - now setting prefix for all parsers even if filename nor present
     - now always setting name of last inserted molecule in
       World::getInstance().getMolecules()
     - not returning Action::failure when not present, only when not has_filename()
    - BUGFIX: PdbParser and TremoloParser were not inserting, but only creating a new
      molecule
    - BUGFIX: TremoloParser::load() nad no ASSET(false) as it's not implemented.
    - BUGFIX: as molId of 0 may occur, PdbParser::save() prints -1 for homeless atoms now
    - TESTFIX: Simple_configuration/2/test.pdb has molnr of 0 instead of former 1 (see
      above)

commit 4cf323d81658274e55e522306030678b93d2c779
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 14:08:39 2010 +0200

    Renamed QT -> Qt in files, dirs, and class names.

commit 81126aaa1c532d13341be518be2f6758858a3902
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 11:13:19 2010 +0200

    Added ElementsQTQuery, MoleculesQTQuery, VectorsQTQuery.
    
    - note: implementation was present but queries were not registered.

commit 41167c8739c609a9dafeb48042b2cf1989edf758
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 11:10:22 2010 +0200

    Added BoxQTQuery.

commit c96c66b9929d064bdd99474f03b644e0fa4ea88d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Oct 25 10:32:49 2010 +0200

    Added Atom(s)QTQuery.

commit ee62e410040b62b213378576c1c85f0f6526af60
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Oct 24 22:24:01 2010 +0200

    Added BooleanQTQuery.

commit 9d457dd65f4781fc374f639f526e2d46b36dfbf0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 23 16:36:51 2010 +0200

    Added EmptyQTQuery.

commit f001ca4daf524d143bf68c17775ef50b2edf5a8a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 23 16:36:11 2010 +0200

    FIX: result variable Dialog::FileQuery::tmp is now set. Label added in front of QLineEdit.

commit db7cb048c490f5b4cabe2c62cd255faa628d2cca
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 23 16:32:46 2010 +0200

    DOCU: Added howto to add queries.

commit 6f5dfe559a8279d64fa1e293a546f8d74ece2ef3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 22 18:13:36 2010 +0200

    Added boost::filesystem usage for input files.
    
    - parameters for Action input now have type boost::filesystem.
    - rewritten Actions to use boost::filesystems
    - in the progress of writing FileQtQuery to present a file dialog.

commit e4decc83cfcf83ef6b15c6d95ce0c741a748f8dd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 22 18:12:42 2010 +0200

    Changed a bit the sequence of adding BOOST_LIBs.

commit 94962cafa77b2f6b6b6b08ea294de0af431f5009
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 14 14:56:21 2010 +0200

    boost::filesystem required in configure.ac

commit 7230be17a3c947931703abdd76da666a44588cf3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 14 11:57:24 2010 +0200

    Added WarrantyAction.
    
    This closed ticket #117.

commit ef3640ed17b05e29b1b7c6a1a72ba7e5024af5fc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 28 08:21:48 2010 +0200

    TESTFIX: Filling/3 does not need MaxDistance as parameter.

commit eee966fe34197e1773f114db10205f2b7ad6f78e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 28 08:08:52 2010 +0200

    New Action FillVoidWithMoleculeAction.
    
    - in contrast to FillWithMoleculeAction we fill all empty space, not just
      outside of surfaces.
    - TEST: new tests in Filling/3 that fill with butane and a tenside micelle.
    - new function FillVoidWithMolecule().

commit a42054a57dce05541025613b38ddca2bfb93603a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 28 08:07:02 2010 +0200

    Extended FormatParserStorage.
    
    - renamed ParserSuffix -> ParserSuffixes.
    - new lookup table ParserLookupSuffixes.
    - renamed getType -> getTypeFromName.
    - new function getTypeFromSuffix.

commit 1997630777d65898f53a1899c5ea260a2850aa17
Merge: a6e6b5c f8982c4
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 28 06:13:06 2010 +0200

    Merge branch 'FixDoublesinExceptionsMakefile.am' into stable

commit f8982c42eb467c7951ed37f012f50d6066733d46
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 28 06:12:50 2010 +0200

    FIX: NotInvertibleException.hpp was present twice.

commit a6e6b5ce7c3675b17615ce9fc4f938f0ccc32ef7
Merge: 6c438f9 45924c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 28 06:08:45 2010 +0200

    Merge branch 'FixExceptionsIncludeDir' into stable

commit 45924c1c4900321275c7d22c75650d2dcff4a2c1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Aug 28 06:08:25 2010 +0200

    FIX: include dir for Exceptions headers was wrong.

-----------------------------------------------------------------------


hooks/post-receive
-- 
MoleCuilder



More information about the Molecuilder-devel mailing list