Go to the documentation of this file.
29 #ifndef _ARTS_ARTS_API_CLASS_H_
30 #define _ARTS_ARTS_API_CLASS_H_
35 #define DLL_PUBLIC __attribute__((visibility("default")))
36 #define REMOVE_DLL_PUBLIC 1
38 #define REMOVE_DLL_PUBLIC 0
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);
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);
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);
66 #define VoidGetterCAPI(TYPE, VALUE) \
67 __attribute__((visibility("default"))) \
68 void * get##VALUE##TYPE(void * data);
71 #define VoidStructGetterCAPI(TYPE, VALUE) \
72 __attribute__((visibility("default"))) \
73 void * get##VALUE##TYPE(void * data);
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);
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);
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);
231 DLL_PUBLIC void printmetaAbsorptionLines(
void *);
897 #undef BasicInterfaceCAPI
898 #undef GetterSetterCAPI
899 #undef EnumGetterSetterCAPI
900 #undef VoidGetterCAPI
901 #undef VoidStructGetterCAPI
902 #undef BasicInputOutputCAPI
904 #undef VoidArrayElemCAPI
907 #if REMOVE_DLL_PUBLIC
910 #undef REMOVE_DLL_PUBLIC
912 #endif // _ARTS_ARTS_API_CLASS_H_
DLL_PUBLIC Index setPropagationMatrix(void *, Index, Index, Index, Index, Numeric)
DLL_PUBLIC Numeric getA0_EVEHTelsemAtlas(Index, void *)
DLL_PUBLIC Numeric * getDataTensor3(void *)
DLL_PUBLIC void set_gridGriddedField6(Index i, void *data, void *newdata, bool NumericType)
DLL_PUBLIC Index get_grid_typeIndexGriddedField3(Index i, void *data)
DLL_PUBLIC bool checksizeGriddedField1(void *data)
DLL_PUBLIC Numeric * getDataTensor7(void *)
DLL_PUBLIC void * get_string_gridGriddedField6(Index i, void *data)
void *DLL_PUBLIC Index vitrinesTensor6(void *)
DLL_PUBLIC void setrunningTimer(void *, bool)
Container class for Quantum Numbers.
Stokes vector is as Propagation matrix but only has 4 possible values.
DLL_PUBLIC Numeric * getDataVector(void *)
DLL_PUBLIC void * dataGriddedField3(void *data)
DLL_PUBLIC Index rowsTensor4(void *)
Class to identify and match lines by their quantum numbers.
DLL_PUBLIC char * get_nameGriddedField6(void *data)
#define VoidGetterCAPI(TYPE, VALUE)
#define VoidStructGetterCAPI(TYPE, VALUE)
DLL_PUBLIC char * get_grid_nameGriddedField3(Index i, void *data)
DLL_PUBLIC void set_matrixBlock(void *, void *, bool)
DLL_PUBLIC Index getcputime_start_cutimeTimer(void *)
Complex w(Complex z) noexcept
The Faddeeva function.
DLL_PUBLIC Index pagesTensor7(void *)
DLL_PUBLIC bool checksizeGriddedField2(void *data)
DLL_PUBLIC Index get_grid_sizeGriddedField5(Index i, void *data)
void *DLL_PUBLIC Index rowsMatrix(void *)
DLL_PUBLIC Index get_grid_sizeGriddedField6(Index i, void *data)
DLL_PUBLIC Index get_grid_sizeGriddedField3(Index i, void *data)
void *DLL_PUBLIC Index librariesTensor7(void *)
DLL_PUBLIC Index get_index1Block(void *)
DLL_PUBLIC Index get_grid_typeIndexGriddedField6(Index i, void *data)
DLL_PUBLIC Numeric * getDataTensor6(void *)
bool Absorption::CutoffType Mirroring
DLL_PUBLIC void setcputime_start_cstimeTimer(void *, Index)
DLL_PUBLIC void set_grid_nameGriddedField1(Index i, void *data, char *newdata)
DLL_PUBLIC bool getOKPropagationMatrix(void *)
DLL_PUBLIC Index get_grid_typeIndexGriddedField5(Index i, void *data)
DLL_PUBLIC void set_gridGriddedField5(Index i, void *data, void *newdata, bool NumericType)
DLL_PUBLIC void setrealtime_endTimer(void *, Index)
DLL_PUBLIC Index getcputime_end_cutimeTimer(void *)
DataCount Name Lat FirstCells Emis_err Classes1 Cellnumber void *DLL_PUBLIC Numeric getA0_K1TelsemAtlas(Index, void *)
DLL_PUBLIC Index shelvesTensor7(void *)
DLL_PUBLIC Index tickTimer()
QuantumIdentifier::QType Index LowerQuantumNumbers Species
DLL_PUBLIC void set_gridGriddedField2(Index i, void *data, void *newdata, bool NumericType)
DLL_PUBLIC Index get_grid_sizeGriddedField1(Index i, void *data)
DLL_PUBLIC void setIndex(void *, Index)
DLL_PUBLIC Index getcputime_start_cstimeTimer(void *)
NormalizationType
Describes the type of normalization line effects.
DLL_PUBLIC char * get_nameGriddedField5(void *data)
void *DLL_PUBLIC Index nelemVector(void *)
DLL_PUBLIC void setcputime_end_stimeTimer(void *, Index)
DLL_PUBLIC Index getcputime_end_stimeTimer(void *)
DLL_PUBLIC Numeric getA3_EVEHTelsemAtlas(Index, void *)
DLL_PUBLIC Numeric * getDataMatrix(void *)
DLL_PUBLIC void * get_numeric_gridGriddedField6(Index i, void *data)
DLL_PUBLIC void set_gridGriddedField1(Index i, void *data, void *newdata, bool NumericType)
DLL_PUBLIC Numeric * getDataSparse(void *)
DLL_PUBLIC Index frequenciesPropagationMatrix(void *)
DLL_PUBLIC Index get_extentRange(void *)
DLL_PUBLIC void setSpeciesCIARecord(void *, Index, Index)
DLL_PUBLIC void set_grid_nameGriddedField2(Index i, void *data, char *newdata)
DLL_PUBLIC char * getString(void *data)
DLL_PUBLIC Index getcputime_start_stimeTimer(void *)
Implements Zeeman modeling.
DLL_PUBLIC char * get_grid_nameGriddedField5(Index i, void *data)
DLL_PUBLIC bool lessTime(void *, void *)
void *DLL_PUBLIC Index pagesTensor3(void *)
DLL_PUBLIC Index rowsTensor5(void *)
G0 G2 FVC Y DV Numeric Numeric Numeric Zeeman LowerQuantumNumbers void * data
DLL_PUBLIC Index get_index2Block(void *)
DLL_PUBLIC void setTransmissionMatrix(void *, Index, Index)
An Antenna object used by MCGeneral.
DLL_PUBLIC Index colsMatrix(void *)
QuantumIdentifier::QType Index LowerQuantumNumbers Index Numeric CIASecond
Numeric void *DLL_PUBLIC bool equalTime(void *, void *)
DLL_PUBLIC bool getOKStokesVector(void *)
DLL_PUBLIC Index setTypeRetrievalQuantity(void *, Index)
DLL_PUBLIC void set_gridGriddedField3(Index i, void *data, void *newdata, bool NumericType)
DLL_PUBLIC void * get_numeric_gridGriddedField4(Index i, void *data)
Computations and data for a single absorption line.
DLL_PUBLIC char * get_nameGriddedField3(void *data)
DLL_PUBLIC char * get_nameGriddedField1(void *data)
DLL_PUBLIC void * get_numeric_gridGriddedField2(Index i, void *data)
DLL_PUBLIC Index rowsTensor6(void *)
void *DLL_PUBLIC Index rowsSparse(void *)
#define VoidArrayElemCAPI(TYPE, ELEM)
DLL_PUBLIC Index getFileVerbosity(void *)
DLL_PUBLIC Index vitrinesTensor7(void *)
bool Absorption::CutoffType Absorption::MirroringType Absorption::NormalizationType CutoffFreqValue
The structure to describe a propagation path and releated quantities.
Auxiliary data for isotopologues.
DLL_PUBLIC Index colsTensor7(void *)
DLL_PUBLIC void setNumeric(void *data, Numeric newval)
DLL_PUBLIC Index pagesTensor6(void *)
An absorption lookup table.
DLL_PUBLIC Index colsTensor6(void *)
saa aag G DLL_PUBLIC Index getTypeMCAntenna(void *)
DLL_PUBLIC void setrealtime_startTimer(void *, Index)
DLL_PUBLIC Numeric * getMat4TransmissionMatrix(Index, void *)
DLL_PUBLIC bool checksizeGriddedField3(void *data)
DLL_PUBLIC void * getDataSpeciesAuxData(void *data, Index s, Index i)
DLL_PUBLIC Index getLineShapeModelParametersType(char *)
DLL_PUBLIC bool validindexSpeciesAuxData(void *data, Index s, Index i)
This can be used to make arrays out of anything.
G0 G2 FVC Y DV Numeric E0
A tag group can consist of the sum of several of these.
DLL_PUBLIC Index setStokesVector(void *, Index, Index, Index, Index, Numeric)
Main line shape model class.
QuantumIdentifier::QType Index LowerQuantumNumbers Index Numeric Index Index char *DLL_PUBLIC Index validSpecies(Index)
DLL_PUBLIC Index get_grid_typeIndexGriddedField1(Index i, void *data)
DLL_PUBLIC Index get_grid_sizeGriddedField2(Index i, void *data)
DLL_PUBLIC bool checksizeGriddedField6(void *data)
DLL_PUBLIC Index booksTensor5(void *)
G0 G2 FVC Y DV Numeric Numeric g_upp
DLL_PUBLIC Index string2quantumnumbersindex(char *)
DLL_PUBLIC void setcputime_start_stimeTimer(void *, Index)
DLL_PUBLIC Index validAllIsotopologues(Index, Index)
DLL_PUBLIC void set_grid_nameGriddedField5(Index i, void *data, char *newdata)
DLL_PUBLIC void * getSpeciesNameAbsorptionLines(void *)
Namespace to contain things required for absorption calculations.
DLL_PUBLIC Index zenithsPropagationMatrix(void *)
DLL_PUBLIC Numeric getB1_EVEHTelsemAtlas(Index, void *)
Compute the line shape parameters for a single broadening species.
DLL_PUBLIC Index getFrequenciesRadiationVector(void *)
DLL_PUBLIC void set_nameGriddedField2(void *data, char *newdata)
DLL_PUBLIC Index pagesTensor4(void *)
DLL_PUBLIC bool getfinishedTimer(void *)
Structure to store a grid position for higher order interpolation.
DLL_PUBLIC Numeric getRAPPORT54_43TelsemAtlas(Index, void *)
DLL_PUBLIC Index getrealtime_endTimer(void *)
DLL_PUBLIC void * get_numeric_gridGriddedField1(Index i, void *data)
DLL_PUBLIC Numeric * getVec3RadiationVector(Index, void *)
DLL_PUBLIC void printLineShapeModelParameters(void *)
DLL_PUBLIC Index isAbsorptionLinesOK(void *)
DLL_PUBLIC char * get_grid_nameGriddedField6(Index i, void *data)
DLL_PUBLIC void setDataSparse(void *, Index, Index, Numeric)
DLL_PUBLIC Index pagesTensor5(void *)
DLL_PUBLIC char * get_grid_nameGriddedField1(Index i, void *data)
#define BasicInputOutputCAPI(TYPE)
DLL_PUBLIC void * get_string_gridGriddedField2(Index i, void *data)
DLL_PUBLIC Numeric * getVec4RadiationVector(Index, void *)
DLL_PUBLIC Index shelvesTensor6(void *)
DLL_PUBLIC Index getrealtime_startTimer(void *)
DLL_PUBLIC void setfinishedTimer(void *, bool)
DLL_PUBLIC bool checksizeGriddedField4(void *data)
DLL_PUBLIC Index getcputime_start_utimeTimer(void *)
DLL_PUBLIC Numeric getB0_EVEHTelsemAtlas(Index, void *)
DLL_PUBLIC void * get_numeric_gridGriddedField5(Index i, void *data)
DLL_PUBLIC void set_nameGriddedField3(void *data, char *newdata)
DLL_PUBLIC Index colsTensor5(void *)
DLL_PUBLIC Numeric getA1_EVEHTelsemAtlas(Index, void *)
NUMERIC Numeric
The type to use for all floating point numbers.
DLL_PUBLIC Index rowsTensor7(void *)
DLL_PUBLIC void setRange(void *, Index, Index, Index)
DLL_PUBLIC Numeric * getDataTensor4(void *)
DLL_PUBLIC Numeric * getMat3TransmissionMatrix(Index, void *)
DLL_PUBLIC Numeric getB3_EVEHTelsemAtlas(Index, void *)
DLL_PUBLIC void * dataGriddedField4(void *data)
idx idx dim constant start_pos start_lstep los lstep end_los nreal gp_p gp_lon void *DLL_PUBLIC Numeric * getMat2TransmissionMatrix(Index, void *)
DLL_PUBLIC Numeric getA2_EVEHTelsemAtlas(Index, void *)
DLL_PUBLIC void setcputime_end_cstimeTimer(void *, Index)
MirroringType
Describes the type of mirroring line effects.
Vector f_grid(Workspace &ws) noexcept
DLL_PUBLIC Index validContinuum(Index, Index)
DLL_PUBLIC Index booksTensor7(void *)
G0 G2 FVC Y DV Numeric Numeric Numeric Zeeman LowerQuantumNumbers void *DLL_PUBLIC Index sizeQuantumNumbers()
QuantumIdentifier::QType Index LowerQuantumNumbers Index Uf
DLL_PUBLIC Index getcputime_end_utimeTimer(void *)
DLL_PUBLIC char * get_grid_nameGriddedField4(Index i, void *data)
Vector za_grid(Workspace &ws) noexcept
QuantumIdentifier::QType Isotopologue
DLL_PUBLIC Index get_strideRange(void *)
DLL_PUBLIC void set_grid_nameGriddedField3(Index i, void *data, char *newdata)
DLL_PUBLIC char * get_nameGriddedField4(void *data)
DLL_PUBLIC Index zenithsStokesVector(void *)
DLL_PUBLIC Index get_grid_sizeGriddedField4(Index i, void *data)
DLL_PUBLIC void * get_numeric_gridGriddedField3(Index i, void *data)
DLL_PUBLIC Index frequenciesStokesVector(void *)
DLL_PUBLIC Index getScreenVerbosity(void *)
Structure to store a grid position.
Radiation Vector for Stokes dimension 1-4.
DLL_PUBLIC void set_indicesBlock(void *, Index, Index)
DLL_PUBLIC void set_grid_nameGriddedField6(Index i, void *data, char *newdata)
DLL_PUBLIC Index getcputime_end_cstimeTimer(void *)
bool Absorption::CutoffType Absorption::MirroringType Normalization
DLL_PUBLIC void setcputime_end_cutimeTimer(void *, Index)
#define BasicInterfaceCAPI(TYPE)
DLL_PUBLIC Numeric getB2_EVEHTelsemAtlas(Index, void *)
Computations of line shape derived parameters.
Class to handle time in ARTS.
DLL_PUBLIC void set_gridGriddedField4(Index i, void *data, void *newdata, bool NumericType)
DLL_PUBLIC char * get_nameGriddedField2(void *data)
DLL_PUBLIC bool checksizeGriddedField5(void *data)
DLL_PUBLIC Index colsTensor4(void *)
DLL_PUBLIC Index get_grid_typeIndexGriddedField2(Index i, void *data)
DLL_PUBLIC Numeric getRAPPORT43_32TelsemAtlas(Index, void *)
DLL_PUBLIC Index getStokesDimRadiationVector(void *)
CIA data for a single pair of molecules.
DLL_PUBLIC void set_nameGriddedField1(void *data, char *newdata)
#define VoidArrayCAPI(TYPE)
DLL_PUBLIC Index validIsotopologue(Index, Index)
DLL_PUBLIC Index colsTensor3(void *)
#define EnumGetterSetterCAPI(TYPE, VALUE, ENUM)
DLL_PUBLIC void setVerbosity(void *, Index, Index, Index, bool)
DLL_PUBLIC void * get_string_gridGriddedField4(Index i, void *data)
DLL_PUBLIC Index rowsTensor3(void *)
DLL_PUBLIC char * get_grid_nameGriddedField2(Index i, void *data)
DLL_PUBLIC void setRadiationVector(void *, Index, Index)
DLL_PUBLIC int * colsptrSparse(void *)
DLL_PUBLIC void set_nameGriddedField5(void *data, char *newdata)
DLL_PUBLIC Index getTypeSpeciesAuxData(void *data, Index s, Index i)
DLL_PUBLIC void * dataGriddedField1(void *data)
DLL_PUBLIC Index getFrequenciesTransmissionMatrix(void *)
DLL_PUBLIC void setcputime_start_utimeTimer(void *, Index)
DLL_PUBLIC int * rowsptrSparse(void *)
DLL_PUBLIC void * get_string_gridGriddedField3(Index i, void *data)
get_blocks MainTag SubSubTag Analytical Grids TransformationFunc Transformation Integration
DLL_PUBLIC void set_nameGriddedField6(void *data, char *newdata)
DLL_PUBLIC void set_nameGriddedField4(void *data, char *newdata)
DLL_PUBLIC void * get_list_of_all_workspace_classes()
CutoffType
Describes the type of cutoff calculations.
DLL_PUBLIC Index get_grid_typeIndexGriddedField4(Index i, void *data)
INDEX Index
The type to use for all integer numbers and indices.
DLL_PUBLIC void * get_string_gridGriddedField5(Index i, void *data)
Deals with internal derivatives, Jacobian definition, and OEM calculations.
#define GetterSetterCAPI(TYPE, VALUE, BASETYPE)
DLL_PUBLIC Index azimuthsPropagationMatrix(void *)
DLL_PUBLIC Numeric getA0_K2TelsemAtlas(Index, void *)
DLL_PUBLIC void setSpeciesXsecRecord(void *, Index)
A placeholder for any type.
DLL_PUBLIC void * dataGriddedField2(void *data)
PopulationType
Describes the type of population level counter.
DLL_PUBLIC Index colsSparse(void *)
Class to keep track of Transmission Matrices for Stokes Dim 1-4.
DLL_PUBLIC Index sizeSparse(void *)
DLL_PUBLIC void * dataGriddedField5(void *data)
Vector aa_grid(Workspace &ws) noexcept
DLL_PUBLIC Index azimuthsStokesVector(void *)
DLL_PUBLIC Index booksTensor6(void *)
DLL_PUBLIC Index getStokesDimTransmissionMatrix(void *)
DLL_PUBLIC bool getMainVerbosity(void *)
DLL_PUBLIC void setcputime_end_utimeTimer(void *, Index)
DLL_PUBLIC void setcputime_start_cutimeTimer(void *, Index)
void *DLL_PUBLIC Index booksTensor4(void *)
DLL_PUBLIC void * get_string_gridGriddedField1(Index i, void *data)
DLL_PUBLIC Numeric * getDataTensor5(void *)
DLL_PUBLIC bool supportTimer()
DLL_PUBLIC Index getSpecies2CIARecord(void *)
Implements rational numbers to work with other ARTS types.
void *DLL_PUBLIC Index shelvesTensor5(void *)
void *DLL_PUBLIC Numeric * getVec2RadiationVector(Index, void *)
DLL_PUBLIC Index setTypeFromIndexSpeciesAuxData(void *data, Index s, Index i, Index t)
DLL_PUBLIC void set_grid_nameGriddedField4(Index i, void *data, char *newdata)
DLL_PUBLIC Index setTypeMCAntenna(void *, Index)
DLL_PUBLIC void * dataGriddedField6(void *data)