ARTS  2.4.0(git:4fb77825)
arts_api_classes.h
Go to the documentation of this file.
1 /* Copyright (C) 2020 Richard Larsson <larsson@mps.mpg.de>
2 
3  This program is free software; you can redistribute it and/or
4  modify it under the terms of the GNU General Public License as
5  published by the Free Software Foundation; either version 2 of the
6  License, or (at your option) any 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 
29 #ifndef _ARTS_ARTS_API_CLASS_H_
30 #define _ARTS_ARTS_API_CLASS_H_
31 
32 #include "matpack.h"
33 
34 #ifndef DLL_PUBLIC
35 #define DLL_PUBLIC __attribute__((visibility("default")))
36 #define REMOVE_DLL_PUBLIC 1
37 #else
38 #define REMOVE_DLL_PUBLIC 0
39 #endif
40 
41 #define BasicInterfaceCAPI(TYPE) \
42 __attribute__((visibility("default"))) \
43 void * create##TYPE(); \
44 __attribute__((visibility("default"))) \
45 void delete##TYPE(void * data); \
46 __attribute__((visibility("default"))) \
47 void print##TYPE(void * data);
48 
49 
50 #define GetterSetterCAPI(TYPE, VALUE, BASETYPE) \
51 __attribute__((visibility("default"))) \
52 BASETYPE get##VALUE##TYPE(void * data); \
53 __attribute__((visibility("default"))) \
54 void set##VALUE##TYPE(void * data, BASETYPE newval);
55 
56 
57 #define EnumGetterSetterCAPI(TYPE, VALUE, ENUM) \
58 __attribute__((visibility("default"))) \
59 Index get##VALUE##TYPE(void * data); \
60 __attribute__((visibility("default"))) \
61 Index set##VALUE##TYPE(void * data, Index newval); \
62 __attribute__((visibility("default"))) \
63 Index string2index##VALUE##TYPE(void * data, char * newval);
64 
65 
66 #define VoidGetterCAPI(TYPE, VALUE) \
67 __attribute__((visibility("default"))) \
68 void * get##VALUE##TYPE(void * data);
69 
70 
71 #define VoidStructGetterCAPI(TYPE, VALUE) \
72 __attribute__((visibility("default"))) \
73 void * get##VALUE##TYPE(void * data);
74 
75 
76 #define BasicInputOutputCAPI(TYPE) \
77 __attribute__((visibility("default"))) \
78 Index xmlread##TYPE(void * data, char * filepath); \
79 __attribute__((visibility("default"))) \
80 Index xmlsave##TYPE(void * data, char * filepath, Index filetype, Index clobber);
81 
82 
83 #define VoidArrayCAPI(TYPE) \
84 __attribute__((visibility("default"))) \
85 Index size##TYPE(void * data); \
86 __attribute__((visibility("default"))) \
87 void resize##TYPE(Index n, void * data); \
88 __attribute__((visibility("default"))) \
89 void * getelem##TYPE(Index i, void * data);
90 
91 
92 #define VoidArrayElemCAPI(TYPE, ELEM) \
93 __attribute__((visibility("default"))) \
94 Index size##ELEM##TYPE(void * data); \
95 __attribute__((visibility("default"))) \
96 void resize##ELEM##TYPE(Index n, void * data); \
97 __attribute__((visibility("default"))) \
98 void * getelem##ELEM##TYPE(Index i, void * data);
99 
100 
101 extern "C" {
102  // Index
111  DLL_PUBLIC Index getIndex(void *);
112  DLL_PUBLIC void setIndex(void *, Index);
113 
114  // Numeric
117  DLL_PUBLIC Numeric getNumeric(void * data);
118  DLL_PUBLIC void setNumeric(void * data, Numeric newval);
119 
120  // ZeemanModel
124 
125  // Rational
130  DLL_PUBLIC void simplifyRational(void *);
131 
132  // LineShape::ModelParameters
135 
136  // LineShape::SingleSpeciesModel
147 
148  // LineShape::Model
151 
152  // Absorption::SingleLine
162  VoidArrayElemCAPI(AbsorptionSingleLine, LowerQuantumNumbers)
164 
165  // QuantumNumbers
167  DLL_PUBLIC void * getelemQuantumNumbers(Index, void *);
170 
171  // QuantumIdentifier
177  VoidGetterCAPI(QuantumIdentifier, EnergyLevelQuantumNumbers)
178  VoidGetterCAPI(QuantumIdentifier, LowerQuantumNumbers)
179  VoidGetterCAPI(QuantumIdentifier, UpperQuantumNumbers)
180 
181  // ArrayOfQuantumIdentifier
185 
186  // SpeciesTag
202  DLL_PUBLIC Index setSpeciesTag(void *, char *);
207 
208  // AbsorptionLines
221  VoidGetterCAPI(AbsorptionLines, QuantumIdentity)
223  VoidGetterCAPI(AbsorptionLines, BroadeningSpecies)
231  DLL_PUBLIC void printmetaAbsorptionLines(void *);
234 
235  // EnergyLevelMap
240  VoidGetterCAPI(EnergyLevelMap, Energies)
242  DLL_PUBLIC bool getOKEnergyLevelMap(void *);
243 
244  // Vector
253  DLL_PUBLIC void resizeVector(Index, void *);
256 
257  // Matrix
266  DLL_PUBLIC void resizeMatrix(Index, Index, void *);
270 
271  // Tensor3
280  DLL_PUBLIC void resizeTensor3(Index, Index, Index, void *);
285 
286  // Tensor4
292 // VoidArrayCAPI(ArrayOfArrayOfTensor4)
293 // BasicInterfaceCAPI(ArrayOfArrayOfTensor4)
294 // BasicInputOutputCAPI(ArrayOfArrayOfTensor4)
295  DLL_PUBLIC void resizeTensor4(Index, Index, Index, Index, void *);
301 
302  // Tensor5
308 // VoidArrayCAPI(ArrayOfArrayOfTensor5)
309 // BasicInterfaceCAPI(ArrayOfArrayOfTensor5)
310 // BasicInputOutputCAPI(ArrayOfArrayOfTensor5)
311  DLL_PUBLIC void resizeTensor5(Index, Index, Index, Index, Index, void *);
318 
319  // Tensor6
328  DLL_PUBLIC void resizeTensor6(Index, Index, Index, Index, Index, Index, void *);
336 
337  // Tensor7
343 // VoidArrayCAPI(ArrayOfArrayOfTensor7)
344 // BasicInterfaceCAPI(ArrayOfArrayOfTensor7)
345 // BasicInputOutputCAPI(ArrayOfArrayOfTensor7)
346  DLL_PUBLIC void resizeTensor7(Index, Index, Index, Index, Index, Index, Index, void *);
355 
356  // PropagationMatrix
366  DLL_PUBLIC Index stokesPropagationMatrix(void *);
372 
373  // StokesVector
383  DLL_PUBLIC Index stokesStokesVector(void *);
389 
390  // String
399  DLL_PUBLIC void setString(void * data, char * newdata);
400  DLL_PUBLIC char * getString(void * data);
401 
402  // GridPos
410 
411  // GridPosPoly
418 
419  // Ppath
424  VoidStructGetterCAPI(Ppath, constant)
426  VoidStructGetterCAPI(Ppath, start_pos)
428  VoidStructGetterCAPI(Ppath, start_lstep)
434  VoidStructGetterCAPI(Ppath, end_los)
440  VoidStructGetterCAPI(Ppath, gp_lon)
444 
445  // TransmissionMatrix
454  DLL_PUBLIC Numeric * getMat1TransmissionMatrix(Index, void *);
461 
462  // RadiationVector
471  DLL_PUBLIC Numeric * getVec1RadiationVector(Index, void *);
478 
479  // GriddedField1
488  DLL_PUBLIC Index get_dimGriddedField1(void * data);
500 
501  // GriddedField2
510  DLL_PUBLIC Index get_dimGriddedField2(void * data);
522 
523  // GriddedField3
532  DLL_PUBLIC Index get_dimGriddedField3(void * data);
544 
545  // GriddedField4
551  DLL_PUBLIC Index get_dimGriddedField4(void * data);
563 
564  // GriddedField5
567  DLL_PUBLIC Index get_dimGriddedField5(void * data);
579 
580  // GriddedField6
583  DLL_PUBLIC Index get_dimGriddedField6(void * data);
595 
596  // SpeciesAuxData
599  DLL_PUBLIC void initSpeciesAuxData(void * data);
604 
605  // CIARecord
612  DLL_PUBLIC Index getSpecies1CIARecord(void *);
615 
616  // Verbosity
619  DLL_PUBLIC Index getAgendaVerbosity(void *);
623  DLL_PUBLIC void setVerbosity(void *, Index, Index, Index, bool);
624 
625  // TessemNN
628  VoidStructGetterCAPI(TessemNN, nb_inputs)
630  VoidStructGetterCAPI(TessemNN, nb_cache)
639 
640  // SingleScatteringData
658 
659  // ScatteringMetaData
668  VoidStructGetterCAPI(ScatteringMetaData, diameter_area_equ_aerodynamical)
675 
676  // Timer
679  DLL_PUBLIC bool getrunningTimer(void *);
691  DLL_PUBLIC void setrunningTimer(void *, bool);
692  DLL_PUBLIC void setfinishedTimer(void *, bool);
705 
706  // TelsemAtlas
709  VoidGetterCAPI(TelsemAtlas, DataCount)
715  VoidGetterCAPI(TelsemAtlas, FirstCells)
717  VoidGetterCAPI(TelsemAtlas, Emis_err)
719  VoidGetterCAPI(TelsemAtlas, Classes1)
721  VoidGetterCAPI(TelsemAtlas, Cellnumber)
722  VoidGetterCAPI(TelsemAtlas, Correspondance)
726  DLL_PUBLIC Numeric getA0_K0TelsemAtlas(Index, void*);
739 
740  // MCAntenna
750 
751  // GasAbsLookup
755  VoidGetterCAPI(GasAbsLookup, NonLinearSpecies)
765 
766  // XsecRecord
769  VoidGetterCAPI(XsecRecord, Coeffs)
771  VoidGetterCAPI(XsecRecord, RefTemperature)
773  VoidGetterCAPI(XsecRecord, Xsecs)
774  VoidGetterCAPI(XsecRecord, TemperatureSlope)
775  VoidGetterCAPI(XsecRecord, TemperatureIntersect)
779  DLL_PUBLIC Index getSpeciesXsecRecord(void *);
781 
782  // Sparse
788  DLL_PUBLIC void resizeSparse(Index, Index, void *);
792  DLL_PUBLIC int * rowsptrSparse(void *);
793  DLL_PUBLIC int * colsptrSparse(void *);
796 
797  // CovarianceMatrix
801  VoidArrayElemCAPI(CovarianceMatrix, get_inverse_blocks)
802 
803  // Any
806 
807  // Agenda
813 
814  // RetrievalQuantity
821  VoidGetterCAPI(RetrievalQuantity, Analytical)
825  VoidGetterCAPI(RetrievalQuantity, TransformationFunc)
827  VoidGetterCAPI(RetrievalQuantity, Transformation)
833  DLL_PUBLIC Index getTypeRetrievalQuantity(void *);
835 
836  // Range
838  DLL_PUBLIC Index get_startRange(void *);
842 
843  // Block
845  VoidGetterCAPI(Block, get_row_range)
846  VoidGetterCAPI(Block, get_column_range)
847  VoidGetterCAPI(Block, get_dense)
848  VoidGetterCAPI(Block, get_sparse)
849  DLL_PUBLIC Index get_matrix_typeBlock(void *);
853  DLL_PUBLIC void set_matrixBlock(void *, void *, bool);
854 
855  // Time
865  DLL_PUBLIC void setTime(void *, void *);
866  DLL_PUBLIC bool equalTime(void *, void *);
867  DLL_PUBLIC bool lessTime(void *, void *);
868 
869  // HitranRelaxationMatrixData
890 
891  // generic
892  DLL_PUBLIC Index string2filetypeindex(char *);
894 }
895 
896 
897 #undef BasicInterfaceCAPI
898 #undef GetterSetterCAPI
899 #undef EnumGetterSetterCAPI
900 #undef VoidGetterCAPI
901 #undef VoidStructGetterCAPI
902 #undef BasicInputOutputCAPI
903 #undef VoidArrayCAPI
904 #undef VoidArrayElemCAPI
905 
906 
907 #if REMOVE_DLL_PUBLIC
908 #undef DLL_PUBLIC
909 #endif
910 #undef REMOVE_DLL_PUBLIC
911 
912 #endif // _ARTS_ARTS_API_CLASS_H_
913 
GriddedField2
Definition: gridded_fields.h:237
setPropagationMatrix
DLL_PUBLIC Index setPropagationMatrix(void *, Index, Index, Index, Index, Numeric)
Matrix
The Matrix class.
Definition: matpackI.h:1193
getA0_EVEHTelsemAtlas
DLL_PUBLIC Numeric getA0_EVEHTelsemAtlas(Index, void *)
Self
Self
Definition: arts_api_classes.h:211
getDataTensor3
DLL_PUBLIC Numeric * getDataTensor3(void *)
set_gridGriddedField6
DLL_PUBLIC void set_gridGriddedField6(Index i, void *data, void *newdata, bool NumericType)
get_grid_typeIndexGriddedField3
DLL_PUBLIC Index get_grid_typeIndexGriddedField3(Index i, void *data)
checksizeGriddedField1
DLL_PUBLIC bool checksizeGriddedField1(void *data)
Zeeman::Model
Main Zeeman Model.
Definition: zeemandata.h:358
NumericType
NumericType
Definition: xml_io.h:43
getDataTensor7
DLL_PUBLIC Numeric * getDataTensor7(void *)
get_string_gridGriddedField6
DLL_PUBLIC void * get_string_gridGriddedField6(Index i, void *data)
vitrinesTensor6
void *DLL_PUBLIC Index vitrinesTensor6(void *)
setrunningTimer
DLL_PUBLIC void setrunningTimer(void *, bool)
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
getDataVector
DLL_PUBLIC Numeric * getDataVector(void *)
dataGriddedField3
DLL_PUBLIC void * dataGriddedField3(void *data)
rowsTensor4
DLL_PUBLIC Index rowsTensor4(void *)
matpack.h
QuantumIdentifier
Class to identify and match lines by their quantum numbers.
Definition: quantum.h:390
get_nameGriddedField6
DLL_PUBLIC char * get_nameGriddedField6(void *data)
VoidGetterCAPI
#define VoidGetterCAPI(TYPE, VALUE)
Definition: arts_api_classes.h:66
VoidStructGetterCAPI
#define VoidStructGetterCAPI(TYPE, VALUE)
Definition: arts_api_classes.h:71
get_grid_nameGriddedField3
DLL_PUBLIC char * get_grid_nameGriddedField3(Index i, void *data)
set_matrixBlock
DLL_PUBLIC void set_matrixBlock(void *, void *, bool)
getcputime_start_cutimeTimer
DLL_PUBLIC Index getcputime_start_cutimeTimer(void *)
w
Complex w(Complex z) noexcept
The Faddeeva function.
Definition: linefunctions.cc:42
pagesTensor7
DLL_PUBLIC Index pagesTensor7(void *)
checksizeGriddedField2
DLL_PUBLIC bool checksizeGriddedField2(void *data)
get_grid_sizeGriddedField5
DLL_PUBLIC Index get_grid_sizeGriddedField5(Index i, void *data)
rowsMatrix
void *DLL_PUBLIC Index rowsMatrix(void *)
get_grid_sizeGriddedField6
DLL_PUBLIC Index get_grid_sizeGriddedField6(Index i, void *data)
get_grid_sizeGriddedField3
DLL_PUBLIC Index get_grid_sizeGriddedField3(Index i, void *data)
Tensor3
The Tensor3 class.
Definition: matpackIII.h:339
librariesTensor7
void *DLL_PUBLIC Index librariesTensor7(void *)
get_index1Block
DLL_PUBLIC Index get_index1Block(void *)
get_grid_typeIndexGriddedField6
DLL_PUBLIC Index get_grid_typeIndexGriddedField6(Index i, void *data)
getDataTensor6
DLL_PUBLIC Numeric * getDataTensor6(void *)
Mirroring
bool Absorption::CutoffType Mirroring
Definition: arts_api_classes.h:215
setcputime_start_cstimeTimer
DLL_PUBLIC void setcputime_start_cstimeTimer(void *, Index)
set_grid_nameGriddedField1
DLL_PUBLIC void set_grid_nameGriddedField1(Index i, void *data, char *newdata)
getOKPropagationMatrix
DLL_PUBLIC bool getOKPropagationMatrix(void *)
get_grid_typeIndexGriddedField5
DLL_PUBLIC Index get_grid_typeIndexGriddedField5(Index i, void *data)
set_gridGriddedField5
DLL_PUBLIC void set_gridGriddedField5(Index i, void *data, void *newdata, bool NumericType)
setrealtime_endTimer
DLL_PUBLIC void setrealtime_endTimer(void *, Index)
getcputime_end_cutimeTimer
DLL_PUBLIC Index getcputime_end_cutimeTimer(void *)
GriddedField6
Definition: gridded_fields.h:455
F0
G0 G2 FVC Y DV F0
Definition: arts_api_classes.h:154
getA0_K1TelsemAtlas
DataCount Name Lat FirstCells Emis_err Classes1 Cellnumber void *DLL_PUBLIC Numeric getA0_K1TelsemAtlas(Index, void *)
shelvesTensor7
DLL_PUBLIC Index shelvesTensor7(void *)
tickTimer
DLL_PUBLIC Index tickTimer()
Species
QuantumIdentifier::QType Index LowerQuantumNumbers Species
Definition: arts_api_classes.h:189
set_gridGriddedField2
DLL_PUBLIC void set_gridGriddedField2(Index i, void *data, void *newdata, bool NumericType)
get_grid_sizeGriddedField1
DLL_PUBLIC Index get_grid_sizeGriddedField1(Index i, void *data)
setIndex
DLL_PUBLIC void setIndex(void *, Index)
Definition: arts_api_classes.cc:163
getcputime_start_cstimeTimer
DLL_PUBLIC Index getcputime_start_cstimeTimer(void *)
Absorption::NormalizationType
NormalizationType
Describes the type of normalization line effects.
Definition: absorptionlines.h:97
get_nameGriddedField5
DLL_PUBLIC char * get_nameGriddedField5(void *data)
nelemVector
void *DLL_PUBLIC Index nelemVector(void *)
setcputime_end_stimeTimer
DLL_PUBLIC void setcputime_end_stimeTimer(void *, Index)
getcputime_end_stimeTimer
DLL_PUBLIC Index getcputime_end_stimeTimer(void *)
getA3_EVEHTelsemAtlas
DLL_PUBLIC Numeric getA3_EVEHTelsemAtlas(Index, void *)
getDataMatrix
DLL_PUBLIC Numeric * getDataMatrix(void *)
get_numeric_gridGriddedField6
DLL_PUBLIC void * get_numeric_gridGriddedField6(Index i, void *data)
set_gridGriddedField1
DLL_PUBLIC void set_gridGriddedField1(Index i, void *data, void *newdata, bool NumericType)
DLL_PUBLIC
#define DLL_PUBLIC
Definition: arts_api_classes.h:35
Sparse
The Sparse class.
Definition: matpackII.h:60
getDataSparse
DLL_PUBLIC Numeric * getDataSparse(void *)
frequenciesPropagationMatrix
DLL_PUBLIC Index frequenciesPropagationMatrix(void *)
get_extentRange
DLL_PUBLIC Index get_extentRange(void *)
setSpeciesCIARecord
DLL_PUBLIC void setSpeciesCIARecord(void *, Index, Index)
set_grid_nameGriddedField2
DLL_PUBLIC void set_grid_nameGriddedField2(Index i, void *data, char *newdata)
getString
DLL_PUBLIC char * getString(void *data)
getcputime_start_stimeTimer
DLL_PUBLIC Index getcputime_start_stimeTimer(void *)
CovarianceMatrix
Definition: covariance_matrix.h:226
PropagationMatrix
Definition: propagationmatrix.h:87
Zeeman
Implements Zeeman modeling.
Definition: zeemandata.h:40
get_grid_nameGriddedField5
DLL_PUBLIC char * get_grid_nameGriddedField5(Index i, void *data)
lessTime
DLL_PUBLIC bool lessTime(void *, void *)
pagesTensor3
void *DLL_PUBLIC Index pagesTensor3(void *)
TelsemAtlas
A telsem atlas.
Definition: telsem.h:57
rowsTensor5
DLL_PUBLIC Index rowsTensor5(void *)
data
G0 G2 FVC Y DV Numeric Numeric Numeric Zeeman LowerQuantumNumbers void * data
Definition: arts_api_classes.cc:232
TessemNN
Definition: tessem.h:33
get_index2Block
DLL_PUBLIC Index get_index2Block(void *)
setTransmissionMatrix
DLL_PUBLIC void setTransmissionMatrix(void *, Index, Index)
MCAntenna
An Antenna object used by MCGeneral.
Definition: mc_antenna.h:51
colsMatrix
DLL_PUBLIC Index colsMatrix(void *)
CIASecond
QuantumIdentifier::QType Index LowerQuantumNumbers Index Numeric CIASecond
Definition: arts_api_classes.h:193
equalTime
Numeric void *DLL_PUBLIC bool equalTime(void *, void *)
getOKStokesVector
DLL_PUBLIC bool getOKStokesVector(void *)
setTypeRetrievalQuantity
DLL_PUBLIC Index setTypeRetrievalQuantity(void *, Index)
set_gridGriddedField3
DLL_PUBLIC void set_gridGriddedField3(Index i, void *data, void *newdata, bool NumericType)
get_numeric_gridGriddedField4
DLL_PUBLIC void * get_numeric_gridGriddedField4(Index i, void *data)
Absorption::SingleLine
Computations and data for a single absorption line.
Definition: absorptionlines.h:246
get_nameGriddedField3
DLL_PUBLIC char * get_nameGriddedField3(void *data)
get_nameGriddedField1
DLL_PUBLIC char * get_nameGriddedField1(void *data)
b2
#define b2
Definition: complex.h:59
get_numeric_gridGriddedField2
DLL_PUBLIC void * get_numeric_gridGriddedField2(Index i, void *data)
Tensor4
The Tensor4 class.
Definition: matpackIV.h:421
rowsTensor6
DLL_PUBLIC Index rowsTensor6(void *)
rowsSparse
void *DLL_PUBLIC Index rowsSparse(void *)
VoidArrayElemCAPI
#define VoidArrayElemCAPI(TYPE, ELEM)
Definition: arts_api_classes.h:92
getFileVerbosity
DLL_PUBLIC Index getFileVerbosity(void *)
vitrinesTensor7
DLL_PUBLIC Index vitrinesTensor7(void *)
CutoffFreqValue
bool Absorption::CutoffType Absorption::MirroringType Absorption::NormalizationType CutoffFreqValue
Definition: arts_api_classes.h:219
Ppath
The structure to describe a propagation path and releated quantities.
Definition: ppath.h:48
SpeciesAuxData
Auxiliary data for isotopologues.
Definition: absorption.h:217
colsTensor7
DLL_PUBLIC Index colsTensor7(void *)
Agenda
The Agenda class.
Definition: agenda_class.h:44
setNumeric
DLL_PUBLIC void setNumeric(void *data, Numeric newval)
Definition: arts_api_classes.cc:176
GriddedField3
Definition: gridded_fields.h:284
SingleScatteringData
Definition: optproperties.h:80
pagesTensor6
DLL_PUBLIC Index pagesTensor6(void *)
GasAbsLookup
An absorption lookup table.
Definition: gas_abs_lookup.h:45
colsTensor6
DLL_PUBLIC Index colsTensor6(void *)
getTypeMCAntenna
saa aag G DLL_PUBLIC Index getTypeMCAntenna(void *)
Timer
Definition: m_general.h:68
setrealtime_startTimer
DLL_PUBLIC void setrealtime_startTimer(void *, Index)
getMat4TransmissionMatrix
DLL_PUBLIC Numeric * getMat4TransmissionMatrix(Index, void *)
checksizeGriddedField3
DLL_PUBLIC bool checksizeGriddedField3(void *data)
getDataSpeciesAuxData
DLL_PUBLIC void * getDataSpeciesAuxData(void *data, Index s, Index i)
getLineShapeModelParametersType
DLL_PUBLIC Index getLineShapeModelParametersType(char *)
Definition: arts_api_classes.cc:195
validindexSpeciesAuxData
DLL_PUBLIC bool validindexSpeciesAuxData(void *data, Index s, Index i)
Array
This can be used to make arrays out of anything.
Definition: array.h:108
E0
G0 G2 FVC Y DV Numeric E0
Definition: arts_api_classes.h:156
SpeciesTag
A tag group can consist of the sum of several of these.
Definition: abs_species_tags.h:44
setStokesVector
DLL_PUBLIC Index setStokesVector(void *, Index, Index, Index, Index, Numeric)
LineShape::Model
Main line shape model class.
Definition: lineshapemodel.h:972
validSpecies
QuantumIdentifier::QType Index LowerQuantumNumbers Index Numeric Index Index char *DLL_PUBLIC Index validSpecies(Index)
get_grid_typeIndexGriddedField1
DLL_PUBLIC Index get_grid_typeIndexGriddedField1(Index i, void *data)
get_grid_sizeGriddedField2
DLL_PUBLIC Index get_grid_sizeGriddedField2(Index i, void *data)
checksizeGriddedField6
DLL_PUBLIC bool checksizeGriddedField6(void *data)
booksTensor5
DLL_PUBLIC Index booksTensor5(void *)
g_upp
G0 G2 FVC Y DV Numeric Numeric g_upp
Definition: arts_api_classes.h:158
string2quantumnumbersindex
DLL_PUBLIC Index string2quantumnumbersindex(char *)
Definition: arts_api_classes.cc:234
setcputime_start_stimeTimer
DLL_PUBLIC void setcputime_start_stimeTimer(void *, Index)
validAllIsotopologues
DLL_PUBLIC Index validAllIsotopologues(Index, Index)
set_grid_nameGriddedField5
DLL_PUBLIC void set_grid_nameGriddedField5(Index i, void *data, char *newdata)
getSpeciesNameAbsorptionLines
DLL_PUBLIC void * getSpeciesNameAbsorptionLines(void *)
Absorption
Namespace to contain things required for absorption calculations.
Definition: absorptionlines.h:44
zenithsPropagationMatrix
DLL_PUBLIC Index zenithsPropagationMatrix(void *)
getB1_EVEHTelsemAtlas
DLL_PUBLIC Numeric getB1_EVEHTelsemAtlas(Index, void *)
HitranRelaxationMatrixData
Definition: linemixing_hitran.h:38
LineShape::SingleSpeciesModel
Compute the line shape parameters for a single broadening species.
Definition: lineshapemodel.h:359
getFrequenciesRadiationVector
DLL_PUBLIC Index getFrequenciesRadiationVector(void *)
set_nameGriddedField2
DLL_PUBLIC void set_nameGriddedField2(void *data, char *newdata)
pagesTensor4
DLL_PUBLIC Index pagesTensor4(void *)
getfinishedTimer
DLL_PUBLIC bool getfinishedTimer(void *)
GridPosPoly
Structure to store a grid position for higher order interpolation.
Definition: interpolation_poly.h:64
getRAPPORT54_43TelsemAtlas
DLL_PUBLIC Numeric getRAPPORT54_43TelsemAtlas(Index, void *)
my_basic_string< char >
getrealtime_endTimer
DLL_PUBLIC Index getrealtime_endTimer(void *)
get_numeric_gridGriddedField1
DLL_PUBLIC void * get_numeric_gridGriddedField1(Index i, void *data)
Nom
Numeric Nom
Definition: arts_api_classes.h:128
ScatteringMetaData
Definition: optproperties.h:109
getVec3RadiationVector
DLL_PUBLIC Numeric * getVec3RadiationVector(Index, void *)
printLineShapeModelParameters
DLL_PUBLIC void printLineShapeModelParameters(void *)
Definition: arts_api_classes.cc:194
isAbsorptionLinesOK
DLL_PUBLIC Index isAbsorptionLinesOK(void *)
get_grid_nameGriddedField6
DLL_PUBLIC char * get_grid_nameGriddedField6(Index i, void *data)
setDataSparse
DLL_PUBLIC void setDataSparse(void *, Index, Index, Numeric)
pagesTensor5
DLL_PUBLIC Index pagesTensor5(void *)
get_grid_nameGriddedField1
DLL_PUBLIC char * get_grid_nameGriddedField1(Index i, void *data)
BasicInputOutputCAPI
#define BasicInputOutputCAPI(TYPE)
Definition: arts_api_classes.h:76
get_string_gridGriddedField2
DLL_PUBLIC void * get_string_gridGriddedField2(Index i, void *data)
getVec4RadiationVector
DLL_PUBLIC Numeric * getVec4RadiationVector(Index, void *)
shelvesTensor6
DLL_PUBLIC Index shelvesTensor6(void *)
getrealtime_startTimer
DLL_PUBLIC Index getrealtime_startTimer(void *)
setfinishedTimer
DLL_PUBLIC void setfinishedTimer(void *, bool)
checksizeGriddedField4
DLL_PUBLIC bool checksizeGriddedField4(void *data)
getcputime_start_utimeTimer
DLL_PUBLIC Index getcputime_start_utimeTimer(void *)
getB0_EVEHTelsemAtlas
DLL_PUBLIC Numeric getB0_EVEHTelsemAtlas(Index, void *)
get_numeric_gridGriddedField5
DLL_PUBLIC void * get_numeric_gridGriddedField5(Index i, void *data)
set_nameGriddedField3
DLL_PUBLIC void set_nameGriddedField3(void *data, char *newdata)
colsTensor5
DLL_PUBLIC Index colsTensor5(void *)
Cutoff
bool Cutoff
Definition: arts_api_classes.h:213
getA1_EVEHTelsemAtlas
DLL_PUBLIC Numeric getA1_EVEHTelsemAtlas(Index, void *)
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Verbosity
Definition: messages.h:49
rowsTensor7
DLL_PUBLIC Index rowsTensor7(void *)
setRange
DLL_PUBLIC void setRange(void *, Index, Index, Index)
getDataTensor4
DLL_PUBLIC Numeric * getDataTensor4(void *)
getMat3TransmissionMatrix
DLL_PUBLIC Numeric * getMat3TransmissionMatrix(Index, void *)
XsecRecord
Definition: hitran_xsec.h:37
getB3_EVEHTelsemAtlas
DLL_PUBLIC Numeric getB3_EVEHTelsemAtlas(Index, void *)
GriddedField4
Definition: gridded_fields.h:340
dataGriddedField4
DLL_PUBLIC void * dataGriddedField4(void *data)
getMat2TransmissionMatrix
idx idx dim constant start_pos start_lstep los lstep end_los nreal gp_p gp_lon void *DLL_PUBLIC Numeric * getMat2TransmissionMatrix(Index, void *)
getA2_EVEHTelsemAtlas
DLL_PUBLIC Numeric getA2_EVEHTelsemAtlas(Index, void *)
setcputime_end_cstimeTimer
DLL_PUBLIC void setcputime_end_cstimeTimer(void *, Index)
Absorption::MirroringType
MirroringType
Describes the type of mirroring line effects.
Definition: absorptionlines.h:49
ARTS::Var::f_grid
Vector f_grid(Workspace &ws) noexcept
Definition: autoarts.h:3449
Absorption::Lines
Definition: absorptionlines.h:547
validContinuum
DLL_PUBLIC Index validContinuum(Index, Index)
booksTensor7
DLL_PUBLIC Index booksTensor7(void *)
EnergyLevelMap
Definition: energylevelmap.h:60
sizeQuantumNumbers
G0 G2 FVC Y DV Numeric Numeric Numeric Zeeman LowerQuantumNumbers void *DLL_PUBLIC Index sizeQuantumNumbers()
Definition: arts_api_classes.cc:233
Uf
QuantumIdentifier::QType Index LowerQuantumNumbers Index Uf
Definition: arts_api_classes.h:191
getcputime_end_utimeTimer
DLL_PUBLIC Index getcputime_end_utimeTimer(void *)
get_grid_nameGriddedField4
DLL_PUBLIC char * get_grid_nameGriddedField4(Index i, void *data)
ARTS::Var::za_grid
Vector za_grid(Workspace &ws) noexcept
Definition: autoarts.h:7771
Isotopologue
QuantumIdentifier::QType Isotopologue
Definition: arts_api_classes.h:176
get_strideRange
DLL_PUBLIC Index get_strideRange(void *)
set_grid_nameGriddedField3
DLL_PUBLIC void set_grid_nameGriddedField3(Index i, void *data, char *newdata)
get_nameGriddedField4
DLL_PUBLIC char * get_nameGriddedField4(void *data)
zenithsStokesVector
DLL_PUBLIC Index zenithsStokesVector(void *)
get_grid_sizeGriddedField4
DLL_PUBLIC Index get_grid_sizeGriddedField4(Index i, void *data)
get_numeric_gridGriddedField3
DLL_PUBLIC void * get_numeric_gridGriddedField3(Index i, void *data)
Tensor5
The Tensor5 class.
Definition: matpackV.h:506
frequenciesStokesVector
DLL_PUBLIC Index frequenciesStokesVector(void *)
getScreenVerbosity
DLL_PUBLIC Index getScreenVerbosity(void *)
Range
The range class.
Definition: matpackI.h:160
GridPos
Structure to store a grid position.
Definition: interpolation.h:73
RadiationVector
Radiation Vector for Stokes dimension 1-4.
Definition: transmissionmatrix.h:395
set_indicesBlock
DLL_PUBLIC void set_indicesBlock(void *, Index, Index)
set_grid_nameGriddedField6
DLL_PUBLIC void set_grid_nameGriddedField6(Index i, void *data, char *newdata)
Type
Type
Definition: arts_api_classes.h:174
getcputime_end_cstimeTimer
DLL_PUBLIC Index getcputime_end_cstimeTimer(void *)
Normalization
bool Absorption::CutoffType Absorption::MirroringType Normalization
Definition: arts_api_classes.h:217
setcputime_end_cutimeTimer
DLL_PUBLIC void setcputime_end_cutimeTimer(void *, Index)
BasicInterfaceCAPI
#define BasicInterfaceCAPI(TYPE)
Definition: arts_api_classes.h:41
getB2_EVEHTelsemAtlas
DLL_PUBLIC Numeric getB2_EVEHTelsemAtlas(Index, void *)
LineShape
Computations of line shape derived parameters.
Definition: lineshapemodel.h:67
Time
Class to handle time in ARTS.
Definition: artstime.h:40
set_gridGriddedField4
DLL_PUBLIC void set_gridGriddedField4(Index i, void *data, void *newdata, bool NumericType)
get_nameGriddedField2
DLL_PUBLIC char * get_nameGriddedField2(void *data)
checksizeGriddedField5
DLL_PUBLIC bool checksizeGriddedField5(void *data)
colsTensor4
DLL_PUBLIC Index colsTensor4(void *)
gu
gu
Definition: arts_api_classes.h:122
get_grid_typeIndexGriddedField2
DLL_PUBLIC Index get_grid_typeIndexGriddedField2(Index i, void *data)
getRAPPORT43_32TelsemAtlas
DLL_PUBLIC Numeric getRAPPORT43_32TelsemAtlas(Index, void *)
getStokesDimRadiationVector
DLL_PUBLIC Index getStokesDimRadiationVector(void *)
CIARecord
CIA data for a single pair of molecules.
Definition: cia.h:67
GriddedField1
Definition: gridded_fields.h:196
set_nameGriddedField1
DLL_PUBLIC void set_nameGriddedField1(void *data, char *newdata)
VoidArrayCAPI
#define VoidArrayCAPI(TYPE)
Definition: arts_api_classes.h:83
validIsotopologue
DLL_PUBLIC Index validIsotopologue(Index, Index)
colsTensor3
DLL_PUBLIC Index colsTensor3(void *)
EnumGetterSetterCAPI
#define EnumGetterSetterCAPI(TYPE, VALUE, ENUM)
Definition: arts_api_classes.h:57
Seconds
Seconds
Definition: arts_api_classes.h:858
setVerbosity
DLL_PUBLIC void setVerbosity(void *, Index, Index, Index, bool)
Block
Definition: covariance_matrix.h:62
get_string_gridGriddedField4
DLL_PUBLIC void * get_string_gridGriddedField4(Index i, void *data)
rowsTensor3
DLL_PUBLIC Index rowsTensor3(void *)
get_grid_nameGriddedField2
DLL_PUBLIC char * get_grid_nameGriddedField2(Index i, void *data)
setRadiationVector
DLL_PUBLIC void setRadiationVector(void *, Index, Index)
colsptrSparse
DLL_PUBLIC int * colsptrSparse(void *)
set_nameGriddedField5
DLL_PUBLIC void set_nameGriddedField5(void *data, char *newdata)
getTypeSpeciesAuxData
DLL_PUBLIC Index getTypeSpeciesAuxData(void *data, Index s, Index i)
dataGriddedField1
DLL_PUBLIC void * dataGriddedField1(void *data)
getFrequenciesTransmissionMatrix
DLL_PUBLIC Index getFrequenciesTransmissionMatrix(void *)
setcputime_start_utimeTimer
DLL_PUBLIC void setcputime_start_utimeTimer(void *, Index)
rowsptrSparse
DLL_PUBLIC int * rowsptrSparse(void *)
get_string_gridGriddedField3
DLL_PUBLIC void * get_string_gridGriddedField3(Index i, void *data)
Integration
get_blocks MainTag SubSubTag Analytical Grids TransformationFunc Transformation Integration
Definition: arts_api_classes.h:829
set_nameGriddedField6
DLL_PUBLIC void set_nameGriddedField6(void *data, char *newdata)
set_nameGriddedField4
DLL_PUBLIC void set_nameGriddedField4(void *data, char *newdata)
get_list_of_all_workspace_classes
DLL_PUBLIC void * get_list_of_all_workspace_classes()
Absorption::CutoffType
CutoffType
Describes the type of cutoff calculations.
Definition: absorptionlines.h:207
get_grid_typeIndexGriddedField4
DLL_PUBLIC Index get_grid_typeIndexGriddedField4(Index i, void *data)
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
get_string_gridGriddedField5
DLL_PUBLIC void * get_string_gridGriddedField5(Index i, void *data)
RetrievalQuantity
Deals with internal derivatives, Jacobian definition, and OEM calculations.
Definition: jacobian.h:120
GetterSetterCAPI
#define GetterSetterCAPI(TYPE, VALUE, BASETYPE)
Definition: arts_api_classes.h:50
azimuthsPropagationMatrix
DLL_PUBLIC Index azimuthsPropagationMatrix(void *)
Tensor6
The Tensor6 class.
Definition: matpackVI.h:1088
getA0_K2TelsemAtlas
DLL_PUBLIC Numeric getA0_K2TelsemAtlas(Index, void *)
setSpeciesXsecRecord
DLL_PUBLIC void setSpeciesXsecRecord(void *, Index)
EnergyLevelMapType
EnergyLevelMapType
Definition: energylevelmap.h:49
Any
A placeholder for any type.
Definition: supergeneric.h:36
dataGriddedField2
DLL_PUBLIC void * dataGriddedField2(void *data)
Vector
The Vector class.
Definition: matpackI.h:860
Absorption::PopulationType
PopulationType
Describes the type of population level counter.
Definition: absorptionlines.h:148
colsSparse
DLL_PUBLIC Index colsSparse(void *)
TransmissionMatrix
Class to keep track of Transmission Matrices for Stokes Dim 1-4.
Definition: transmissionmatrix.h:38
sizeSparse
DLL_PUBLIC Index sizeSparse(void *)
dataGriddedField5
DLL_PUBLIC void * dataGriddedField5(void *data)
GriddedField5
Definition: gridded_fields.h:395
ARTS::Var::aa_grid
Vector aa_grid(Workspace &ws) noexcept
Definition: autoarts.h:1717
azimuthsStokesVector
DLL_PUBLIC Index azimuthsStokesVector(void *)
booksTensor6
DLL_PUBLIC Index booksTensor6(void *)
getStokesDimTransmissionMatrix
DLL_PUBLIC Index getStokesDimTransmissionMatrix(void *)
getMainVerbosity
DLL_PUBLIC bool getMainVerbosity(void *)
b1
#define b1
Definition: complex.h:57
setcputime_end_utimeTimer
DLL_PUBLIC void setcputime_end_utimeTimer(void *, Index)
setcputime_start_cutimeTimer
DLL_PUBLIC void setcputime_start_cutimeTimer(void *, Index)
booksTensor4
void *DLL_PUBLIC Index booksTensor4(void *)
get_string_gridGriddedField1
DLL_PUBLIC void * get_string_gridGriddedField1(Index i, void *data)
getDataTensor5
DLL_PUBLIC Numeric * getDataTensor5(void *)
supportTimer
DLL_PUBLIC bool supportTimer()
getSpecies2CIARecord
DLL_PUBLIC Index getSpecies2CIARecord(void *)
Rational
Implements rational numbers to work with other ARTS types.
Definition: rational.h:54
newdata
char * newdata
Definition: arts_api_classes.h:399
shelvesTensor5
void *DLL_PUBLIC Index shelvesTensor5(void *)
getVec2RadiationVector
void *DLL_PUBLIC Numeric * getVec2RadiationVector(Index, void *)
Tensor7
The Tensor7 class.
Definition: matpackVII.h:2382
setTypeFromIndexSpeciesAuxData
DLL_PUBLIC Index setTypeFromIndexSpeciesAuxData(void *data, Index s, Index i, Index t)
set_grid_nameGriddedField4
DLL_PUBLIC void set_grid_nameGriddedField4(Index i, void *data, char *newdata)
setTypeMCAntenna
DLL_PUBLIC Index setTypeMCAntenna(void *, Index)
dataGriddedField6
DLL_PUBLIC void * dataGriddedField6(void *data)