stfinvfixedstf.h 2.76 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
/*! \file stfinvfixedstf.h
 * \brief always return a fixed stf as read from file (prototypes)
 * 
 * ----------------------------------------------------------------------------
 * 
 * \author Thomas Forbriger
 * \date 06/05/2011
 * 
 * always return a fixed stf as read from file (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 
 *  - 06/05/2011   V1.0   Thomas Forbriger
 * 
 * ============================================================================
 */

// include guard
#ifndef STFINV_STFINVFIXEDSTF_H_VERSION

#define STFINV_STFINVFIXEDSTF_H_VERSION \
40
  "STFINV_STFINVFIXEDSTF_H   V1.0"
41 42 43 44 45 46

#include<stfinv/stfinvfourier.h>

namespace stfinv {

  /*! \brief Engine to provide a fixed wavelet
47
   * \ingroup group_engines
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
   */
  class STFEngineFixedWavelet: public stfinv::STFFourierDomainEngine {
    public:
      //! \brief typedef to refer to base class
      typedef stfinv::STFFourierDomainEngine Tbase;
      //! \brief ID used to select thsi engine
      static const char* const ID;
      //! \brief short description of this engine
      static const char* const description;
      /*! \brief Constructor.
       */
      STFEngineFixedWavelet(const stfinv::Tvectoroftriples& triples,
                            const stfinv::Waveform& stf,
                            const std::string& parameters)
        :Tbase(triples, stf, parameters) { }
      //! \brief abstract base requires virtual destructor
      virtual ~STFEngineFixedWavelet() { }
      //! \brief Start engine 
      virtual void exec();
      //! \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);
      //! \brief return name of engine
      virtual const char* name() const;
    protected:
      //! \brief initialize work space
      void initialize() { }
  }; // class STFEngineFixedWavelet

} // namespace stfinv

#endif // STFINV_STFINVFIXEDSTF_H_VERSION (includeguard)

/* ----- END OF stfinvfixedstf.h ----- */