ARTS  2.0.49
optproperties.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2008 Claudia Emde <claudia.emde@dlr.de>
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 
19 
20 /*===========================================================================
21  === File description
22  ===========================================================================*/
23 
36 #ifndef optproperties_h
37 #define optproperties_h
38 
39 #include "matpackVII.h"
40 #include "mystring.h"
41 #include "messages.h"
42 
43 
45 // structure.
60 };
61 
62 
63 
64 /*===========================================================================
65  === The SingleScatteringData structure
66  ===========================================================================*/
67 
69 // particle or a particle distribution.
84 };
85 
87 
88 ostream& operator<< (ostream& os, const SingleScatteringData& ssd);
89 ostream& operator<< (ostream& os, const ArrayOfSingleScatteringData& assd);
90 
91 
92 /*===========================================================================
93  === The ScatteringMetaData structure
94  ===========================================================================*/
108 };
109 
111 
112 ostream& operator<< (ostream& os, const ScatteringMetaData& ssd);
113 ostream& operator<< (ostream& os, const ArrayOfScatteringMetaData& assd);
114 
115 
116 
117 // General functions:
118 // =============================================================
119 
120 void abs_vecTransform(//Output and Input
121  VectorView abs_vec_lab,
122  //Input
123  ConstTensor3View abs_vec_data,
124  ConstVectorView za_datagrid,
125  ConstVectorView aa_datagrid,
126  const ParticleType& ptype,
127  const Numeric& za_sca,
128  const Numeric& aa_sca,
129  const Verbosity& verbosity);
130 
131 
132 void ext_matTransform(//Output and Input
133  MatrixView ext_mat_lab,
134  //Input
135  ConstTensor3View ext_mat_data,
136  ConstVectorView za_datagrid,
137  ConstVectorView aa_datagrid,
138  const ParticleType& ptype,
139  const Numeric& za_sca,
140  const Numeric& aa_sca,
141  const Verbosity& verbosity);
142 
143 
144 void pha_matTransform(//Output
145  MatrixView pha_mat_lab,
146  //Input
147  ConstTensor5View pha_mat_data,
148  ConstVectorView za_datagrid,
149  ConstVectorView aa_datagrid,
150  const ParticleType& ptype,
151  const Index& za_sca_idx,
152  const Index& aa_sca_idx,
153  const Index& za_inc_idx,
154  const Index& aa_inc_idx,
155  ConstVectorView scat_za_grid,
156  ConstVectorView scat_aa_grid,
157  const Verbosity& verbosity);
158 
159 
160 
161 // Functions for the case: Randomly oriented particles:
162 // ========================================================
163 
164 void interpolate_scat_angle(//Output:
165  VectorView pha_mat_int,
166  Numeric& theta_rad,
167  //Input:
168  ConstTensor5View pha_mat_data,
169  ConstVectorView za_datagrid,
170  const Numeric& za_sca,
171  const Numeric& aa_sca,
172  const Numeric& za_inc,
173  const Numeric& aa_inc);
174 
175 
176 void pha_mat_labCalc(//Output:
177  MatrixView pha_mat_lab,
178  //Input:
179  ConstVectorView pha_mat_int,
180  const Numeric& za_sca,
181  const Numeric& aa_sca,
182  const Numeric& za_inc,
183  const Numeric& aa_inc,
184  const Numeric& theta_rad);
185 
186 
187 #endif //optproperties_h
ScatteringMetaData::V
Numeric V
Definition: optproperties.h:105
SingleScatteringData::za_grid
Vector za_grid
Definition: optproperties.h:79
MatrixView
The MatrixView class.
Definition: matpackI.h:668
PARTICLE_TYPE_GENERAL
@ PARTICLE_TYPE_GENERAL
Definition: optproperties.h:56
SingleScatteringData::f_grid
Vector f_grid
Definition: optproperties.h:77
pha_mat_labCalc
void pha_mat_labCalc(MatrixView pha_mat_lab, ConstVectorView pha_mat_int, const Numeric &za_sca, const Numeric &aa_sca, const Numeric &za_inc, const Numeric &aa_inc, const Numeric &theta_rad)
Calculate phase matrix in laboratory coordinate system.
Definition: optproperties.cc:705
pha_matTransform
void pha_matTransform(MatrixView pha_mat_lab, ConstTensor5View pha_mat_data, ConstVectorView za_datagrid, ConstVectorView aa_datagrid, const ParticleType &ptype, const Index &za_sca_idx, const Index &aa_sca_idx, const Index &za_inc_idx, const Index &aa_inc_idx, ConstVectorView scat_za_grid, ConstVectorView scat_aa_grid, const Verbosity &verbosity)
Transformation of phase matrix.
Definition: optproperties.cc:345
interpolate_scat_angle
void interpolate_scat_angle(VectorView pha_mat_int, Numeric &theta_rad, ConstTensor5View pha_mat_data, ConstVectorView za_datagrid, const Numeric &za_sca, const Numeric &aa_sca, const Numeric &za_inc, const Numeric &aa_inc)
Interpolate data on the scattering angle.
Definition: optproperties.cc:614
operator<<
ostream & operator<<(ostream &os, const SingleScatteringData &ssd)
Definition: optproperties.cc:890
SingleScatteringData::description
String description
Definition: optproperties.h:76
SingleScatteringData::ptype
ParticleType ptype
Definition: optproperties.h:75
ParticleType
ParticleType
An attribute to classify the particle type in a SingleScatteringData.
Definition: optproperties.h:55
SingleScatteringData::aa_grid
Vector aa_grid
Definition: optproperties.h:80
PARTICLE_TYPE_MACROS_ISO
@ PARTICLE_TYPE_MACROS_ISO
Definition: optproperties.h:57
PARTICLE_TYPE_SPHERICAL
@ PARTICLE_TYPE_SPHERICAL
Definition: optproperties.h:59
ArrayOfScatteringMetaData
Array< ScatteringMetaData > ArrayOfScatteringMetaData
Definition: optproperties.h:110
SingleScatteringData
Structure which describes the single scattering properties of a.
Definition: optproperties.h:74
Array
This can be used to make arrays out of anything.
Definition: array.h:103
messages.h
Declarations having to do with the four output streams.
ScatteringMetaData::density
Numeric density
Definition: optproperties.h:103
my_basic_string< char >
ScatteringMetaData
Definition: optproperties.h:99
SingleScatteringData::ext_mat_data
Tensor5 ext_mat_data
Definition: optproperties.h:82
ScatteringMetaData::A_projec
Numeric A_projec
Definition: optproperties.h:106
VectorView
The VectorView class.
Definition: matpackI.h:373
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Verbosity
Definition: messages.h:50
ScatteringMetaData::shape
String shape
Definition: optproperties.h:102
abs_vecTransform
void abs_vecTransform(VectorView abs_vec_lab, ConstTensor3View abs_vec_data, ConstVectorView za_datagrid, ConstVectorView aa_datagrid, const ParticleType &ptype, const Numeric &za_sca, const Numeric &aa_sca, const Verbosity &verbosity)
Transformation of absorption vector.
Definition: optproperties.cc:85
Tensor5
The Tensor5 class.
Definition: matpackV.h:443
ScatteringMetaData::description
String description
Definition: optproperties.h:100
ScatteringMetaData::d_max
Numeric d_max
Definition: optproperties.h:104
ConstTensor3View
A constant view of a Tensor3.
Definition: matpackIII.h:147
ScatteringMetaData::asratio
Numeric asratio
Definition: optproperties.h:107
PARTICLE_TYPE_HORIZ_AL
@ PARTICLE_TYPE_HORIZ_AL
Definition: optproperties.h:58
SingleScatteringData::abs_vec_data
Tensor5 abs_vec_data
Definition: optproperties.h:83
ext_matTransform
void ext_matTransform(MatrixView ext_mat_lab, ConstTensor3View ext_mat_data, ConstVectorView za_datagrid, ConstVectorView aa_datagrid, const ParticleType &ptype, const Numeric &za_sca, const Numeric &aa_sca, const Verbosity &verbosity)
Transformation of extinction matrix.
Definition: optproperties.cc:190
ArrayOfSingleScatteringData
Array< SingleScatteringData > ArrayOfSingleScatteringData
Definition: optproperties.h:86
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
ScatteringMetaData::type
String type
Definition: optproperties.h:101
Vector
The Vector class.
Definition: matpackI.h:555
SingleScatteringData::pha_mat_data
Tensor7 pha_mat_data
Definition: optproperties.h:81
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:300
SingleScatteringData::T_grid
Vector T_grid
Definition: optproperties.h:78
ConstTensor5View
A constant view of a Tensor5.
Definition: matpackV.h:160
mystring.h
This file contains the definition of String, the ARTS string class.
Tensor7
The Tensor7 class.
Definition: matpackVII.h:1912
matpackVII.h