Main Lemma Repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /* This file is part of Lemma, a geophysical modelling and inversion API */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. /**
  6. @file
  7. @author M. Andy Kass
  8. @date 02/18/2011
  9. @version $Id: modelreader.h 201 2015-01-03 00:07:47Z tirons $
  10. **/
  11. #ifndef __MODELREADER_H
  12. #define __MODELREADER_H
  13. #include "LemmaObject.h"
  14. #include "layeredearthem.h"
  15. #include "PolygonalWireAntenna.h"
  16. #include "receiverpoints.h"
  17. namespace Lemma {
  18. // ===================================================================
  19. // Class: ModelReader
  20. /// \brief Model and instrument reader for forward modelling.
  21. /// \details This is an abstract class.
  22. // ===================================================================
  23. class ModelReader : public LemmaObject {
  24. friend std::ostream &operator<<(std::ostream &stream,
  25. const ModelReader &ob);
  26. public:
  27. // ==================== LIFECYCLE =======================
  28. static ModelReader* New();
  29. void Delete();
  30. // ==================== OPERATORS =======================
  31. // ==================== OPERATIONS =======================
  32. // ==================== ACCESS =======================
  33. // ==================== INQUIRY =======================
  34. protected:
  35. // ==================== LIFECYCLE =======================
  36. /// Default protected constructor.
  37. ModelReader (const std::string &name);
  38. /// Default protected constructor.
  39. ~ModelReader ();
  40. /**
  41. * @copybrief LemmaObject::Release()
  42. * @copydetails LemmaObject::Release()
  43. */
  44. void Release();
  45. // ==================== DATA MEMBERS =========================
  46. private:
  47. }; // ----- end of class ModelReader -----
  48. } // end of namespace lemma
  49. #endif // __MODELREADER_H