Index: src/Fragmentation/Automation/Jobs/MPQCCommandJob.cpp
===================================================================
--- src/Fragmentation/Automation/Jobs/MPQCCommandJob.cpp	(revision 917be8b2ef9da0d7774581a46ba0ecc45a38e985)
+++ 	(revision )
@@ -1,155 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2012 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * MPQCCommandJob.cpp
- *
- *  Created on: Feb 05, 2012
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-// include headers that implement a archive in simple text format
-// otherwise BOOST_CLASS_EXPORT_IMPLEMENT has no effect
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-#include "MPQCCommandJob.hpp"
-
-// include headers that implement a archive in simple text format
-#include <boost/archive/text_oarchive.hpp>
-
-#include <boost/algorithm/string.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/tokenizer.hpp>
-#include <sstream>
-
-#include "CodePatterns/Assert.hpp"
-#include "CodePatterns/Log.hpp"
-
-const std::string MPQCCommandJob::keyword_hartreefock_energy("total scf energy");
-const std::string MPQCCommandJob::keyword_moellerplesset_energy("MP2 energy [au]:");
-const std::string MPQCCommandJob::keyword_hartreefock_forces("Total Gradient");
-const std::string MPQCCommandJob::keyword_moellerplesset_forces("Total MP2 gradient [au]:");
-
-/** Default constructor for class MPQCCommandJob.
- *
- */
-MPQCCommandJob::MPQCCommandJob()
-{}
-
-/** Constructor for class MPQCCommandJob.
- *
- * @param _inputfile string of inputfile contents
- * @param _JobId id of this job
- * @param command mpqc command, "mpqc" as default
- */
-MPQCCommandJob::MPQCCommandJob(
-    const std::string &_inputfile,
-    const JobId_t _JobId,
-    const std::string &command) :
-    SystemCommandJob(command, _inputfile, _JobId)
-{}
-
-/** Destructor for class MPQCCommandJob.
- *
- */
-MPQCCommandJob::~MPQCCommandJob()
-{}
-
-/** Extracts energy and forces from the output of the command.
- *
- * @param resultstring output of the command to parse
- * @return FragmentResult with energy and forces
- */
-FragmentResult::ptr MPQCCommandJob::extractResult(const std::string &resultstring)
-{
-  std::stringstream returnstream;
-  // tokenizers
-  typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
-  boost::char_separator<char> keyvalue_separator("=:");
-  boost::char_separator<char> whitespace(" \t");
-
-  // split into lines
-  std::vector<std::string> lines;
-  boost::split(lines, resultstring, boost::is_any_of("\n"));
-
-  // go through each line
-  bool gradient_section = false;
-  for (std::vector<std::string>::const_iterator iter = lines.begin();
-      iter != lines.end();++iter) {
-    LOG(3, "DEBUG: Current line is '" << *iter << "'.");
-    if (gradient_section) {
-      tokenizer tokens(*iter, whitespace);
-      if (*iter != std::string("")) {
-        tokenizer::iterator tok_iter = tokens.begin();
-        tok_iter++;
-        tok_iter++;
-        MPQCData::vector_type forcevector(NDIM);
-        try { // first col is index, second is element
-          for (size_t index = 0;index < NDIM; ++index)
-            forcevector[index] = boost::lexical_cast<double>(*(tok_iter++));
-          LOG(2, "INFO: Recognized force vector in '"+*iter+"'.");
-          data.forces.push_back( forcevector );
-        } catch(boost::bad_lexical_cast){
-          LOG(2, "INFO: Did not recognize a force vector, hence ending section at '"+*iter+"'.");
-          gradient_section = false;
-        }
-      } else {
-        LOG(2, "INFO: Recognized gradient section end in '"+*iter+"'.");
-        gradient_section = false;
-      }
-    }
-    // extract energy ("total scf energy") ...
-    if (((*iter).find(keyword_hartreefock_energy) != std::string::npos)
-        || ((*iter).find(keyword_moellerplesset_energy) != std::string::npos))
-    {
-      LOG(2, "INFO: Recognized energy in '"+*iter+"'.");
-      tokenizer tokens(*iter, keyvalue_separator);
-      tokenizer::iterator tok_iter = tokens.begin();
-      tok_iter++;
-      std::stringstream energystring(*tok_iter);
-      energystring >> data.energy;
-    }
-    // ... and forces ("Total Gradient") from resultstring
-    if (((*iter).find(keyword_hartreefock_forces) != std::string::npos)
-        || ((*iter).find(keyword_moellerplesset_forces) != std::string::npos))
-    {
-      LOG(2, "INFO: Recognized gradient section init in '"+*iter+"'.");
-      gradient_section=true;
-      data.forces.clear();
-    }
-  }
-
-  // place into returnstream
-  boost::archive::text_oarchive oa(returnstream);
-  oa << data;
-
-  FragmentResult::ptr s( new FragmentResult(getId(), returnstream.str()) );
-  return s;
-}
-
-bool MPQCCommandJob::operator==(const MPQCCommandJob &other) const
-{
-  if (data != other.data) {
-    LOG(2, "INFO: data's of both MPQCCommandJob don't match.");
-    return false;
-  }
-  return (static_cast<const SystemCommandJob &>(*this)
-      == static_cast<const SystemCommandJob &>(other));
-}
-
-
-// we need to explicitly instantiate the serialization functions as
-// its is only serialized through its base class FragmentJob
-BOOST_CLASS_EXPORT_IMPLEMENT(MPQCCommandJob)
Index: src/Fragmentation/Automation/Jobs/MPQCCommandJob.hpp
===================================================================
--- src/Fragmentation/Automation/Jobs/MPQCCommandJob.hpp	(revision 917be8b2ef9da0d7774581a46ba0ecc45a38e985)
+++ 	(revision )
@@ -1,72 +1,0 @@
-/*
- * MPQCJob.hpp
- *
- *  Created on: Feb 05, 2012
- *      Author: heber
- */
-
-#ifndef MPQCCOMMANDJOB_HPP_
-#define MPQCCOMMANDJOB_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <boost/serialization/export.hpp>
-
-#include <string>
-
-#include "Results/FragmentResult.hpp"
-#include "Jobs/SystemCommandJob.hpp"
-
-#include "Jobs/MPQCCommandJob_MPQCData.hpp"
-
-class MPQCCommandJobTest;
-
-/** This class calls mpqc for solving a specific Hartree Fock problem.
- *
- */
-class MPQCCommandJob : public SystemCommandJob
-{
-  //!> grant unit test access
-  friend class MPQCCommandJobTest;
-public:
-  MPQCCommandJob(const std::string &_inputfile, const JobId_t _JobId, const std::string &_command = std::string("mpqc"));
-  ~MPQCCommandJob();
-
-  bool operator==(const MPQCCommandJob &other) const;
-
-  bool operator!=(const MPQCCommandJob &other) const {
-    return !(*this == other);
-  }
-
-private:
-  //!> private default cstor only for serializatio
-  MPQCCommandJob();
-
-  friend class boost::serialization::access;
-  // serialization
-  template <typename Archive>
-  void serialize(Archive& ar, const unsigned int version)
-  {
-    ar & boost::serialization::base_object<SystemCommandJob>(*this);
-    ar & data;
-  }
-
-private:
-  //!> class that contains energy and forces and serialization capabilities
-  MPQCData data;
-
-  FragmentResult::ptr extractResult(const std::string &resultstring);
-  static const std::string keyword_hartreefock_energy;
-  static const std::string keyword_hartreefock_forces;
-  static const std::string keyword_moellerplesset_energy;
-  static const std::string keyword_moellerplesset_forces;
-};
-
-// we need to give this class a unique key for serialization
-// its is only serialized through its base class FragmentJob
-BOOST_CLASS_EXPORT_KEY(MPQCCommandJob)
-
-#endif /* MPQCCOMMANDJOB_HPP_ */
Index: src/Fragmentation/Automation/Jobs/MPQCCommandJob_MPQCData.cpp
===================================================================
--- src/Fragmentation/Automation/Jobs/MPQCCommandJob_MPQCData.cpp	(revision 917be8b2ef9da0d7774581a46ba0ecc45a38e985)
+++ 	(revision )
@@ -1,73 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2012 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * MPQCCommandJob_MPQCData.cpp
- *
- *  Created on: Feb 08, 2012
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "MPQCCommandJob_MPQCData.hpp"
-
-#include <iostream>
-#include <limits>
-
-#include "CodePatterns/Log.hpp"
-
-/** Constructor for class MPQCData.
- *
- */
-MPQCData::MPQCData() :
-    energy(0.)
-{}
-
-/** Destructor for class MPQCData.
- *
- */
-MPQCData::~MPQCData()
-{}
-
-/** Comparator for class MPQCData.
- *
- */
-bool MPQCData::operator==(const MPQCData &other) const
-{
-  if (fabs(energy - other.energy) > std::numeric_limits<double>::epsilon()) {
-    LOG(1, "INFO: Energy's in MPQCData differ: "
-        << energy << " != " << other.energy << ".");
-    return false;
-  }
-  if (forces.size() != other.forces.size()) {
-    LOG(1, "INFO: Forces's in MPQCData differ in size: "
-        << forces.size() << " != " << other.forces.size() << ".");
-    return false;
-  }
-  for (size_t i = 0; i < forces.size(); ++i)
-    for (size_t index = 0; index < NDIM; ++index)
-      if (fabs(forces[i][index] - other.forces[i][index]) > std::numeric_limits<double>::epsilon()) {
-        LOG(1, "INFO: " << index << "th component of force of particle "
-            << i << " in MPQCData differ: " << forces[i][index]
-            << " != " << other.forces[i][index] << ".");
-        return false;
-      }
-  return true;
-}
-
-std::ostream & operator<<(std::ostream &ost, const MPQCData &data)
-{
-  ost << "Energy: " << data.energy << "\t";
-  ost << "Forces: " << data.forces;
-  return ost;
-}
Index: src/Fragmentation/Automation/Jobs/MPQCCommandJob_MPQCData.hpp
===================================================================
--- src/Fragmentation/Automation/Jobs/MPQCCommandJob_MPQCData.hpp	(revision 917be8b2ef9da0d7774581a46ba0ecc45a38e985)
+++ 	(revision )
@@ -1,68 +1,0 @@
-/*
- * MPQCCommandJob_MPQCData.hpp
- *
- *  Created on: Feb 08, 2012
- *      Author: heber
- */
-
-#ifndef MPQCCOMMANDJOB_MPQCDATA_HPP_
-#define MPQCCOMMANDJOB_MPQCDATA_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/vector.hpp>
-
-#include <iosfwd>
-#include <vector>
-
-#include "LinearAlgebra/defs.hpp"
-
-class MPQCCommandJob;
-class MPQCCommandJobTest;
-class MPQCDataTest;
-
-/** Internal class that holds the data and can be serialized.
- *
- */
-class MPQCData {
-  //!> allow MPQCCommandJob access to member variables directly
-  friend class MPQCCommandJob;
-  //!> grant MPQCCommandJob's unit test access
-  friend class MPQCCommandJobTest;
-  //!> grant unit test access
-  friend class MPQCDataTest;
-  //!> grant access to output stream operator
-  friend std::ostream & operator<<(std::ostream &ost, const MPQCData &data);
-public:
-  MPQCData();
-  ~MPQCData();
-
-  bool operator==(const MPQCData &other) const;
-
-  bool operator!=(const MPQCData &other) const {
-    return !(*this == other);
-  }
-
-  typedef std::vector<double> vector_type;
-
-  double energy;
-  std::vector< vector_type  > forces;
-
-private:
-  friend class boost::serialization::access;
-  // serialization
-  template <typename Archive>
-  void serialize(Archive& ar, const unsigned int version)
-  {
-    ar & energy;
-    ar & forces;
-  }
-};
-
-std::ostream & operator<<(std::ostream &ost, const MPQCData &data);
-
-#endif /* MPQCCOMMANDJOB_MPQCDATA_HPP_ */
