Go to the documentation of this file.
55 const Index& manual_zeeman_tag,
56 const Numeric& manual_zeeman_magnetic_field_strength,
57 const Numeric& manual_zeeman_theta,
58 const Numeric& manual_zeeman_eta,
63 throw "Only for 3D *atmosphere_dim* or a manual magnetic field";
65 if ((ppath_los.
nelem() not_eq 2) and (not manual_zeeman_tag))
66 throw "Only for 2D *ppath_los* or a manual magnetic field";
69 throw "Please set lbl_checked true to use this function";
94 manual_zeeman_magnetic_field_strength,
97 }
catch (
const char* e) {
98 std::ostringstream os;
99 os <<
"Errors raised by *propmat_clearskyAddZeeman*:\n";
100 os <<
"\tError: " << e <<
'\n';
101 throw std::runtime_error(os.str());
102 }
catch (
const std::exception& e) {
103 std::ostringstream os;
104 os <<
"Errors in calls by *propmat_clearskyAddZeeman*:\n";
106 throw std::runtime_error(os.str());
Index atmosphere_dim(Workspace &ws) noexcept
Vector rtp_mag(Workspace &ws) noexcept
Vector rtp_los(Workspace &ws) noexcept
ArrayOfRetrievalQuantity jacobian_quantities(Workspace &ws) noexcept
ArrayOfStokesVector dnlte_dx_source(Workspace &ws) noexcept
ArrayOfArrayOfAbsorptionLines abs_lines_per_species(Workspace &ws) noexcept
Vector rtp_vmr(Workspace &ws) noexcept
Auxiliary data for isotopologues.
This can be used to make arrays out of anything.
EnergyLevelMap rtp_nlte(Workspace &ws) noexcept
ArrayOfStokesVector nlte_source(Workspace &ws) noexcept
Index nelem() const
Returns the number of elements.
ArrayOfArrayOfSpeciesTag abs_species(Workspace &ws) noexcept
NUMERIC Numeric
The type to use for all floating point numbers.
Vector f_grid(Workspace &ws) noexcept
Stuff related to the propagation matrix.
Numeric rtp_pressure(Workspace &ws) noexcept
Index lbl_checked(Workspace &ws) noexcept
ArrayOfPropagationMatrix dpropmat_clearsky_dx(Workspace &ws) noexcept
Numeric rtp_temperature(Workspace &ws) noexcept
void mirror_los(Vector &los_mirrored, ConstVectorView los, const Index &atmosphere_dim)
Determines the backward direction for a given line-of-sight.
void zeeman_on_the_fly(ArrayOfPropagationMatrix &propmat_clearsky, ArrayOfStokesVector &nlte_source, ArrayOfPropagationMatrix &dpropmat_clearsky_dx, ArrayOfStokesVector &dnlte_dx_source, ArrayOfStokesVector &nlte_dsource_dx, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const SpeciesAuxData &isotopologue_ratios, const SpeciesAuxData &partition_functions, const Vector &f_grid, const Vector &rtp_vmr, const EnergyLevelMap &rtp_nlte, const Vector &rtp_mag, const Vector &rtp_los, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Index &manual_tag, const Numeric &H0, const Numeric &theta0, const Numeric &eta0)
Main and only way to compute Zeeman effect.
SpeciesAuxData partition_functions(Workspace &ws) noexcept
SpeciesAuxData isotopologue_ratios(Workspace &ws) noexcept
INDEX Index
The type to use for all integer numbers and indices.
ArrayOfStokesVector nlte_dsource_dx(Workspace &ws) noexcept
void propmat_clearskyAddZeeman(ArrayOfPropagationMatrix &propmat_clearsky, ArrayOfStokesVector &nlte_source, ArrayOfPropagationMatrix &dpropmat_clearsky_dx, ArrayOfStokesVector &dnlte_dx_source, ArrayOfStokesVector &nlte_dsource_dx, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Vector &f_grid, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfRetrievalQuantity &jacobian_quantities, const SpeciesAuxData &isotopologue_ratios, const SpeciesAuxData &partition_functions, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const EnergyLevelMap &rtp_nlte, const Vector &rtp_vmr, const Vector &rtp_mag, const Vector &ppath_los, const Index &atmosphere_dim, const Index &lbl_checked, const Index &manual_zeeman_tag, const Numeric &manual_zeeman_magnetic_field_strength, const Numeric &manual_zeeman_theta, const Numeric &manual_zeeman_eta, const Verbosity &)
WORKSPACE METHOD: propmat_clearskyAddZeeman.
ArrayOfPropagationMatrix propmat_clearsky(Workspace &ws) noexcept