ARTS  2.3.1285(git:92a29ea9-dirty)
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 */
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Template functions for general supergeneric ws methods.
This file contains the definition of the TELSEM atlas format.
Header file for work with HITRAN collision induced absorption (CIA).
Class to keep track of Transmission Matrices for Stokes Dim 1-4.
The Agenda class.
Definition: agenda_class.h:44
Interpolation classes and functions created for use within Monte Carlo scattering simulations...
Declarations having to do with the four output streams.
Routines for setting up the jacobian.
The Vector class.
Definition: matpackI.h:860
Class to handle time in ARTS.
Definition: artstime.h:40
The Sparse class.
Definition: matpackII.h:60
The Tensor4 class.
Definition: matpackIV.h:421
Namespace and functions to deal with HITRAN linemixing.
The Tensor7 class.
Definition: matpackVII.h:2382
Contains the absorption namespace.
Stokes vector is as Propagation matrix but only has 4 possible values.
A 2D sequential linear interpolation (SLI) lookup table This class holds the gridded for 2D SLI as we...
Definition: mc_interp.h:56
Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods...
Structure to store a grid position.
Definition: interpolation.h:73
Deals with internal derivatives, Jacobian definition, and OEM calculations.
Definition: jacobian.h:120
This file contains the definition of Array.
The ARTS XML tag class.
Header files of CovarianceMatrix class.
The Tensor3 class.
Definition: matpackIII.h:339
Header file for sparse matrices.
Stuff related to the propagation matrix.
Stuff related to the transmission matrix.
Declarations for agendas.
Methods and classes for HITRAN absorption cross section data.
Binary output file stream class.
Definition: bifstream.h:42
Implements rational numbers to work with other ARTS types.
Definition: rational.h:54
This file contains the class declaration of bifstream.
This file contains the class declaration of bofstream.
Contains the lookup data for one species.
Definition: absorption.h:144
This file contains functions that are adapted from TESSEM code which is used to calculate surface emi...
A tag group can consist of the sum of several of these.
An absorption lookup table.
Class to identify and match lines by their quantum numbers.
Definition: quantum.h:390
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
The Matrix class.
Definition: matpackI.h:1193
Declarations for the gas absorption lookup table.
Declarations required for the calculation of absorption coefficients.
An Antenna object used by MCGeneral.
Definition: mc_antenna.h:51
Radiation Vector for Stokes dimension 1-4.
Propagation path structure and functions.
Container class for Quantum Numbers.
Definition: quantum.h:222
This can be used to make arrays out of anything.
Definition: array.h:40
Contains the lookup data for one isotopologue.
Definition: absorption.h:45
Stuff related to time in ARTS.
A telsem atlas.
Definition: telsem.h:57
The Tensor6 class.
Definition: matpackVI.h:1088
CIA data for a single pair of molecules.
Definition: cia.h:67
Implementation of gridded fields.
#define TMPL_XML_READ_WRITE_STREAM(what)
Definition: xml_io_types.h:64
void xml_parse_from_stream(istream &, Vector &, bifstream *, ArtsXMLTag &, const Verbosity &verbosity)
Parses Vector from XML input stream.
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:48
Auxiliary data for isotopologues.
Definition: absorption.h:217
This file contains private function declarations and template instantiation to handle XML data files...
Scattering database structure and functions.
The Tensor5 class.
Definition: matpackV.h:506