ARTS  2.4.0(git:4fb77825)
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 
19 // File description
21 
31 #ifndef xml_io_types_h
32 #define xml_io_types_h
33 
34 #include <cfloat>
35 #include <stdexcept>
36 #include "absorption.h"
37 #include "agenda_class.h"
38 #include "array.h"
39 #include "artstime.h"
40 #include "bifstream.h"
41 #include "bofstream.h"
42 #include "cia.h"
43 #include "covariance_matrix.h"
44 #include "gas_abs_lookup.h"
45 #include "gridded_fields.h"
46 #include "hitran_xsec.h"
47 #include "jacobian.h"
48 #include "linemixing_hitran.h"
49 #include "m_general.h"
50 #include "matpackII.h"
51 #include "matpackVII.h"
52 #include "mc_antenna.h"
53 #include "mc_interp.h"
54 #include "messages.h"
55 #include "optproperties.h"
56 #include "ppath.h"
57 #include "propagationmatrix.h"
58 #include "telsem.h"
59 #include "tessem.h"
60 #include "transmissionmatrix.h"
61 #include "xml_io_private.h"
62 #include "absorptionlines.h"
63 
64 #define TMPL_XML_READ_WRITE_STREAM(what) \
65  void xml_read_from_stream( \
66  istream &, what &, bifstream *, const Verbosity &); \
67  void xml_write_to_stream(ostream &, \
68  const what &, \
69  bofstream *, \
70  const String &, \
71  const Verbosity &);
72 
74 // Overloaded reading/writing routines for XML streams
76 
77 //=== Basic Types ==========================================================
78 
93 
94 //=== Compound Types =======================================================
95 
126 
127 //=== Array Types ==========================================================
128 
187 
188 //==========================================================================
189 
190 // Undefine the macro to avoid it being used anywhere else
191 #undef TMPL_XML_READ_WRITE_STREAM
192 
194  istream &, Vector &, bifstream *, ArtsXMLTag &, const Verbosity &verbosity);
195 
197  istream &, ArrayOfString &, bifstream *, ArtsXMLTag &, const Verbosity &);
198 
199 #endif /* xml_io_types_h */
GriddedField2
Definition: gridded_fields.h:237
Matrix
The Matrix class.
Definition: matpackI.h:1193
gridded_fields.h
Implementation of gridded fields.
hitran_xsec.h
Methods and classes for HITRAN absorption cross section data.
QuantumNumbers
Container class for Quantum Numbers.
Definition: quantum.h:222
StokesVector
Stokes vector is as Propagation matrix but only has 4 possible values.
Definition: propagationmatrix.h:1075
QuantumIdentifier
Class to identify and match lines by their quantum numbers.
Definition: quantum.h:390
TMPL_XML_READ_WRITE_STREAM
#define TMPL_XML_READ_WRITE_STREAM(what)
Definition: xml_io_types.h:64
absorption.h
Declarations required for the calculation of absorption coefficients.
Tensor3
The Tensor3 class.
Definition: matpackIII.h:339
mc_interp.h
Interpolation classes and functions created for use within Monte Carlo scattering simulations.
GriddedField6
Definition: gridded_fields.h:455
absorptionlines.h
Contains the absorption namespace.
ARTS::Var::verbosity
Verbosity verbosity(Workspace &ws) noexcept
Definition: autoarts.h:7112
Sparse
The Sparse class.
Definition: matpackII.h:60
CovarianceMatrix
Definition: covariance_matrix.h:226
PropagationMatrix
Definition: propagationmatrix.h:87
TelsemAtlas
A telsem atlas.
Definition: telsem.h:57
TessemNN
Definition: tessem.h:33
MCAntenna
An Antenna object used by MCGeneral.
Definition: mc_antenna.h:51
covariance_matrix.h
Header files of CovarianceMatrix class.
Tensor4
The Tensor4 class.
Definition: matpackIV.h:421
array.h
This file contains the definition of Array.
Ppath
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:48
SpeciesAuxData
Auxiliary data for isotopologues.
Definition: absorption.h:217
Agenda
The Agenda class.
Definition: agenda_class.h:44
GriddedField3
Definition: gridded_fields.h:284
SingleScatteringData
Definition: optproperties.h:80
GasAbsLookup
An absorption lookup table.
Definition: gas_abs_lookup.h:45
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:1204
Timer
Definition: m_general.h:68
artstime.h
Stuff related to time in ARTS.
Array
This can be used to make arrays out of anything.
Definition: array.h:108
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:44
agenda_class.h
Declarations for agendas.
tessem.h
This file contains functions that are adapted from TESSEM code which is used to calculate surface emi...
HitranRelaxationMatrixData
Definition: linemixing_hitran.h:38
messages.h
Declarations having to do with the four output streams.
my_basic_string< char >
ScatteringMetaData
Definition: optproperties.h:109
optproperties.h
Scattering database structure and functions.
jacobian.h
Routines for setting up the jacobian.
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Verbosity
Definition: messages.h:49
bifstream
Binary output file stream class.
Definition: bifstream.h:42
XsecRecord
Definition: hitran_xsec.h:37
GriddedField4
Definition: gridded_fields.h:340
Absorption::Lines
Definition: absorptionlines.h:547
mc_antenna.h
Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods....
EnergyLevelMap
Definition: energylevelmap.h:60
propagationmatrix.h
Stuff related to the propagation matrix.
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:144
Tensor5
The Tensor5 class.
Definition: matpackV.h:506
GridPos
Structure to store a grid position.
Definition: interpolation.h:73
RadiationVector
Radiation Vector for Stokes dimension 1-4.
Definition: transmissionmatrix.h:395
ppath.h
Propagation path structure and functions.
IsotopologueRecord
Contains the lookup data for one isotopologue.
Definition: absorption.h:45
Time
Class to handle time in ARTS.
Definition: artstime.h:40
SLIData2
A 2D sequential linear interpolation (SLI) lookup table This class holds the gridded for 2D SLI as we...
Definition: mc_interp.h:56
CIARecord
CIA data for a single pair of molecules.
Definition: cia.h:67
GriddedField1
Definition: gridded_fields.h:196
matpackII.h
Header file for sparse matrices.
ArtsXMLTag
The ARTS XML tag class.
Definition: xml_io_private.h:90
transmissionmatrix.h
Stuff related to the transmission matrix.
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
RetrievalQuantity
Deals with internal derivatives, Jacobian definition, and OEM calculations.
Definition: jacobian.h:120
Tensor6
The Tensor6 class.
Definition: matpackVI.h:1088
Vector
The Vector class.
Definition: matpackI.h:860
TransmissionMatrix
Class to keep track of Transmission Matrices for Stokes Dim 1-4.
Definition: transmissionmatrix.h:38
GriddedField5
Definition: gridded_fields.h:395
telsem.h
This file contains the definition of the TELSEM atlas format.
Rational
Implements rational numbers to work with other ARTS types.
Definition: rational.h:54
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:2382
matpackVII.h
m_general.h
Template functions for general supergeneric ws methods.
linemixing_hitran.h
Namespace and functions to deal with HITRAN linemixing.