/*! \file stfinvfourier.h * \brief a base class for all engines which operate in the Fourier domain (prototypes) * * ---------------------------------------------------------------------------- * * $Id$ * \author Thomas Forbriger * \date 08/05/2011 * * a base class for all engines which operate in the Fourier domain (prototypes) * * Copyright (c) 2011 by Thomas Forbriger (BFO Schiltach) * * ---- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * ---- * * * REVISIONS and CHANGES * - 08/05/2011 V1.0 Thomas Forbriger * * ============================================================================ */ // include guard #ifndef STFINV_STFINVFOURIER_H_VERSION #define STFINV_STFINVFOURIER_H_VERSION \ "STFINV_STFINVFOURIER_H V1.0 " #define STFINV_STFINVFOURIER_H_CVSID \ "$Id$" #include namespace stfinv { /*! \brief Base class for all engines which operate in the Fourier domain * * This is just a base class. * The constructor is protected and should only be called from a derived * class. */ class STFFourierDomainEngine: public stfinv::STFBaseEngine { public: //! \brief typedef to refer to base class typedef stfinv::STFBaseEngine Tbase; protected: /*! \brief Constructor. */ STFFourierDomainEngine(const stfinv::Tvectoroftriples& triples, const stfinv::Waveform& stf, const std::string& parameters) :Tbase(triples, stf, parameters) { } //! \brief abstract base requires virtual destructor public: virtual ~STFFourierDomainEngine() { } //! \brief Start engine and return source time function. virtual stfinv::Waveform run(); //! \brief print online help virtual void help(std::ostream& os=std::cout) const; //! \brief print online help static void classhelp(std::ostream& os=std::cout); }; // class STFFourierDomainEngine } #endif // STFINV_STFINVFOURIER_H_VERSION (includeguard) /* ----- END OF stfinvfourier.h ----- */