DATRW++ library: seismic data I/O with multiple formats
tsoftsffcontainer.h
Go to the documentation of this file.
1 /*! \file tsoftsffcontainer.h
2  * \brief a container to hold SFF data for one file (prototypes)
3  * \ingroup group_tsoft
4  *
5  * ----------------------------------------------------------------------------
6  *
7  * \author Thomas Forbriger
8  * \date 11/11/2009
9  *
10  * a container to hold SFF data for one file (prototypes)
11  *
12  * Copyright (c) 2009 by Thomas Forbriger (BFO Schiltach)
13  *
14  * ----
15  * This program is free software; you can redistribute it and/or modify
16  * it under the terms of the GNU General Public License as published by
17  * the Free Software Foundation; either version 2 of the License, or
18  * (at your option) any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License
26  * along with this program; if not, write to the Free Software
27  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28  * ----
29  *
30  * REVISIONS and CHANGES
31  * - 11/11/2009 V1.0 Thomas Forbriger
32  *
33  * ============================================================================
34  */
35 
36 // include guard
37 #ifndef DATRW_TSOFTSFFCONTAINER_H_VERSION
38 
39 #define DATRW_TSOFTSFFCONTAINER_H_VERSION \
40  "DATRW_TSOFTSFFCONTAINER_H V1.0 "
41 
42 #include<iostream>
43 #include<sffxx.h>
44 #include<aff/series.h>
45 #include<datrwxx/datread.h>
46 #include<datrwxx/tsoftconfig.h>
47 
48 namespace datrw {
49 
50  namespace tsoft {
51 
52  /*! \brief contents for one trace of data
53  * \ingroup group_tsoft
54  */
55  struct Trace {
56  public:
57  //! \brief header
58  ::sff::WID2 Mwid2;
59  //! \brief free comment lines
60  ::sff::FREE Mfree;
61  //! \brief samples
63  }; // struct Trace
64 
65  /*----------------------------------------------------------------------*/
66 
67  //! \brief collection of traces
68  typedef aff::Series<datrw::tsoft::Trace> Ttraceseries;
69 
70  /*----------------------------------------------------------------------*/
71 
72  /*! \brief contents of a complete TSOFT file
73  * \ingroup group_tsoft
74  */
75  struct File {
76  //! \brief free comment lines
77  ::sff::FREE Mfree;
78  //! \brief all traces in file
80  }; // struct File
81 
82  /*----------------------------------------------------------------------*/
83 
84  /*! \brief function to read a complete TSOFT file
85  * \ingroup group_tsoft
86  */
87  File readfile(std::istream& is, const ReaderConfig& rc);
88 
89  } // namespace tsoft
90 
91 } // namespace datrw
92 
93 #endif // DATRW_TSOFTSFFCONTAINER_H_VERSION (includeguard)
94 
95 /* ----- END OF tsoftsffcontainer.h ----- */
config parameters for data extractionThese parameters control the way gaps in the input data are hand...
Definition: tsoftconfig.h:57
datrw::Tdseries Mseries
samples
contents for one trace of data
::sff::FREE Mfree
free comment lines
aff::Series< double > Tdseries
Definition: types.h:45
contents of a complete TSOFT file
File readfile(std::istream &is, const ReaderConfig &rc)
read complete file
Root namespace of library.
Definition: aalibdatrwxx.cc:16
aff::Series< datrw::tsoft::Trace > Ttraceseries
collection of traces
::sff::FREE Mfree
free comment lines
::sff::WID2 Mwid2
header
Ttraceseries Mtraces
all traces in file