ARTS  2.2.66
xml_io_types.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2012 Oliver Lemke <olemke@core-dump.info>
2 
3  This program is free software; you can redistribute it and/or modify it
4  under the terms of the GNU General Public License as published by the
5  Free Software Foundation; either version 2, or (at your option) any
6  later version.
7 
8  This program is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with this program; if not, write to the Free Software
15  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
16  USA. */
17 
18 
20 // File description
22 
32 #ifndef xml_io_types_h
33 #define xml_io_types_h
34 
35 #include <stdexcept>
36 #include <cfloat>
37 #include "absorption.h"
38 #include "agenda_class.h"
39 #include "array.h"
40 #include "bifstream.h"
41 #include "bofstream.h"
42 #include "cia.h"
43 #include "gas_abs_lookup.h"
44 #include "gridded_fields.h"
45 #include "jacobian.h"
46 #include "m_general.h"
47 #include "mc_antenna.h"
48 #include "mc_interp.h"
49 #include "matpackII.h"
50 #include "matpackVII.h"
51 #include "messages.h"
52 #include "optproperties.h"
53 #include "ppath.h"
54 #include "xml_io_private.h"
55 
56 #define TMPL_XML_READ_WRITE_STREAM(what) \
57  void xml_read_from_stream(istream&, what&, bifstream *, const Verbosity&); \
58  void xml_write_to_stream(ostream&, const what&, bofstream *, \
59  const String&, const Verbosity&);
60 
61 
63 // Overloaded reading/writing routines for XML streams
65 
66 //=== Basic Types ==========================================================
67 
80 
81 //=== Compound Types =======================================================
82 
107 
108 //=== Array Types ==========================================================
109 
149 
150 //==========================================================================
151 
152 // Undefine the macro to avoid it being used anywhere else
153 #undef TMPL_XML_READ_WRITE_STREAM
154 
155 void xml_parse_from_stream(istream&, Vector&, bifstream*, ArtsXMLTag&, const Verbosity& verbosity);
156 
157 void xml_read_from_stream(istream&, ArrayOfLineRecord&, const Numeric, const Numeric, bifstream*,
158  const Verbosity&);
159 
161 
162 #endif /* xml_io_types_h */
GriddedField2
Definition: gridded_fields.h:250
Matrix
The Matrix class.
Definition: matpackI.h:788
gridded_fields.h
Implementation of gridded fields.
QuantumNumbers
Container class for Quantum Numbers.
Definition: quantum.h:58
TMPL_XML_READ_WRITE_STREAM
#define TMPL_XML_READ_WRITE_STREAM(what)
Definition: xml_io_types.h:56
absorption.h
Declarations required for the calculation of absorption coefficients.
Tensor3
The Tensor3 class.
Definition: matpackIII.h:348
mc_interp.h
Interpolation classes and functions created for use within Monte Carlo scattering simulations.
GriddedField6
Definition: gridded_fields.h:505
Sparse
The Sparse class.
Definition: matpackII.h:55
MCAntenna
An Antenna object used by MCGeneral.
Definition: mc_antenna.h:56
Tensor4
The Tensor4 class.
Definition: matpackIV.h:383
array.h
This file contains the definition of Array.
LineMixingRecord
Definition: linemixingrecord.h:34
Ppath
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:59
SpeciesAuxData
Auxiliary data for isotopologues.
Definition: absorption.h:440
Agenda
The Agenda class.
Definition: agenda_class.h:44
GriddedField3
Definition: gridded_fields.h:307
SingleScatteringData
Structure which describes the single scattering properties of a particle or a particle distribution.
Definition: optproperties.h:84
GasAbsLookup
An absorption lookup table.
Definition: gas_abs_lookup.h:46
xml_parse_from_stream
void xml_parse_from_stream(istream &, Vector &, bifstream *, ArtsXMLTag &, const Verbosity &verbosity)
Parses Vector from XML input stream.
Definition: xml_io_basic_types.cc:1319
Timer
Definition: m_general.h:59
Array< IsotopologueRecord >
xml_io_private.h
This file contains private function declarations and template instantiation to handle XML data files.
SpeciesTag
A tag group can consist of the sum of several of these.
Definition: abs_species_tags.h:46
agenda_class.h
Declarations for agendas.
messages.h
Declarations having to do with the four output streams.
my_basic_string
The implementation for String, the ARTS string class.
Definition: mystring.h:64
ScatteringMetaData
Definition: optproperties.h:109
optproperties.h
Scattering database structure and functions.
jacobian.h
Declarations required for the calculation of jacobians.
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:29
Verbosity
Definition: messages.h:50
bifstream
Binary output file stream class.
Definition: bifstream.h:45
GriddedField4
Definition: gridded_fields.h:374
mc_antenna.h
Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods....
bifstream.h
This file contains the class declaration of bifstream.
bofstream.h
This file contains the class declaration of bofstream.
SpeciesRecord
Contains the lookup data for one species.
Definition: absorption.h:367
Tensor5
The Tensor5 class.
Definition: matpackV.h:451
GridPos
Structure to store a grid position.
Definition: interpolation.h:74
ppath.h
Propagation path structure and functions.
IsotopologueRecord
Contains the lookup data for one isotopologue.
Definition: absorption.h:191
SLIData2
A 2D sequential linear interpolation (SLI) lookup table.
Definition: mc_interp.h:58
CIARecord
CIA data for a single pair of molecules.
Definition: cia.h:68
GriddedField1
Definition: gridded_fields.h:199
matpackII.h
Header file for sparse matrices.
QuantumNumberRecord
Record containing upper and lower quantum numbers.
Definition: quantum.h:94
xml_read_from_stream
void xml_read_from_stream(istream &, ArrayOfLineRecord &, const Numeric, const Numeric, bifstream *, const Verbosity &)
Reads ArrayOfLineRecord from XML input stream within specified frequency range.
Definition: xml_io_array_types.cc:2466
ArtsXMLTag
The ARTS XML tag class.
Definition: xml_io_private.h:79
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:35
RetrievalQuantity
Contains the data for one retrieval quantity.
Definition: jacobian.h:45
Tensor6
The Tensor6 class.
Definition: matpackVI.h:950
Vector
The Vector class.
Definition: matpackI.h:556
GriddedField5
Definition: gridded_fields.h:438
cia.h
Header file for work with HITRAN collision induced absorption (CIA).
gas_abs_lookup.h
Declarations for the gas absorption lookup table.
Tensor7
The Tensor7 class.
Definition: matpackVII.h:1931
matpackVII.h
m_general.h
Template functions for general supergeneric ws methods.