/*! \file libcalexxx/README * \brief libcalexxx: Library to use Erhard Wielandt's calex program together * with liboptimizexx. * * ---------------------------------------------------------------------------- * * $Id: $ * * Copyright (c) 2012 by Daniel Armbruster (Black Forest observatory - BFO) * * libcalexxx: Library to use Erhard Wielandt's calex program together * with liboptimizexx. * * This file contains: * - documentation of namespace optimize * - mainpage text * * REVISIONS and CHANGES * - 15/03/2012 V1.0 Daniel Armbruster * * ============================================================================ */ /*===========================================================================*/ /*! \mainpage \author Daniel Armbruster \since March 2012 \date March 2012 \version V0.1 $Id: $ \warning <b>The library until now only provides a parser \c calex.out files with up to \c 4 parameters to optimize. Parsing such files will fail in case more parameters are given. </b> Contents of this page: - \ref sec_concept - \ref sec_dependencies - \ref sec_libboost_issues \section sec_concept Concept of the library \a libcalexxx is a small library acctually acting as a wrapper for <em>Erhard Wielandt's</em> <a href="http://www.software-for-seismometry.de/software/calex/">calex</a> seimometer simulation program making use of impulse response invariant filters. For that reason the library provides a class to generate \a calex parameter files and to read relevant data from \a calex \c out files.\n Additionally this library implements the possibility that simple system parameters both work as calex::SystemParameter one one hand and on the other hand can be passed as a grid system parameter (optimize::StandardSystemParameter) to the global algorithm of \a liboptimizexx. Besides this library declares the class template calex::CalexApplication which implements a concrete parameter space visitor. Parameter space visitors actually serve as applications (forward algorithms) for a global algorithm of \a liboptimizexx. Global algorithms will administer calex::CalexApplication and will send it through the \a liboptimizexx parameter space grid regarding their own rules.\n \section sec_dependencies Library dependencies As mentioned above \a libcalexxx depends heavily on \a liboptimizexx. Furthermore while building the library the following <a href="http://www.boost.org/">Boost C++ libraries</a> must be provided: - <a href="http://www.boost.org/doc/libs/release/libs/filesystem/"> Boost filesystem</a> - <a href="http://www.boost.org/doc/libs/release/libs/thread/">Boost thread</a>.\n Notice that \a liboptimizexx depends on boost's thread library, too. \section sec_libboost_issues Boost dependency issues To install the library there must be taken care to set the environment variable \c BOOST_FILESYSTEM_VERSION appropriately.\n To ease the transition, Boost releases 1.44 through 1.47 supply both V2 and V3 of the filesystem library so that setting the variable according \code BOOST_FILESYSTEM_VERSION=3 \endcode in your \a ~/.bashrc file will do its job. Boost releases greater than 1.47 do not support anymore Version 2 of the filesystem library such that setting the variable to \c 3 is highly recommended.\n In case there are minor releases than Boost version 1.44 in use just set this variable to \code BOOST_FILESYSTEM_VERSION=2 \endcode For further information read the <a href="http://www.boost.org/doc/libs/release/libs/filesystem/">Boost Filesystem library documentation</a>. Regarding \a libcalexxx if V2 is in use additionally there must be a linked against <a href="http://www.boost.org/doc/libs/release/libs/thread/">Boost Thread library </a>. \note While testing V3 of the Boost filesystem library in Boost release 1.44 filenames weren't read properly which means that always the first letter always had been cut off. As a consequence I recommend using V2 of the Boost filesystem library if working with Boost release 1.44. */