//! \brief Last scattered radiation elevation angle.
double_phslst;
public:
//! \brief Read only view on number of spheres.
constint&nsph=_nsph;
//! \brief Read only view on maximum internal field expansion order.
constint&li=_li;
//! \brief Read only view on maximum external field expansion order.
constint&le=_le;
//! \brief Read only view on maximum field expansion order.
constint&lm=_lm;
//! \brief Read only view on maximum coefficient matrix dimesnion.
constnp_int&mxndm=_mxndm;
//! \brief Read only view on incident field polarization flag.
constint&inpol=_inpol;
//! \brief Read only view on number of points for transition layer integration.
constint&npnt=_npnt;
//! \brief Read only view on number of points for non-transition layer integration.
constint&npntts=_npntts;
//! \brief Read only view on intensity flag.
constint&iavm=_iavm;
//! \brief Read only view on meridional plane reference flag.
constint&isam=_isam;
//! \brief Read only view on type of output represented.
constshort&out_type=_out_type;
//! \brief Read only view on first incident radiation azimuth angle.
constdouble&th=_th;
//! \brief Read only view on incident radiation azimuth angle step.
constdouble&thstp=_thstp;
//! \brief Read only view on last incident radiation azimuth angle.
constdouble&thlst=_thlst;
//! \brief Read only view on first scattered radiation azimuth angle.
constdouble&ths=_ths;
//! \brief Read only view on scattered radiation azimuth angle step.
constdouble&thsstp=_thsstp;
//! \brief Read only view on last scattered radiation azimuth angle.
constdouble&thslst=_thslst;
//! \brief Read only view on first incident radiation elevation angle.
constdouble&ph=_ph;
//! \brief Read only view on incident radiation elevation angle step.
constdouble&phstp=_phstp;
//! \brief Read only view on last incident radiation elevation angle.
constdouble&phlst=_phlst;
//! \brief Read only view on first scattered radiation elevation angle.
constdouble&phs=_phs;
//! \brief Read only view on scattered radiation elevation angle step.
constdouble&phsstp=_phsstp;
//! \brief Read only view on last scattered radiation elevation angle.
constdouble&phslst=_phslst;
doublephslst;
//! \brief Number of computed directions.
intnum_angles;
//! \brief Refractive index of external medium.
doubleexri;
//! \brief Number of scales (wavelengths)
intnxi;
//! \brief Number of scales handled by the current process.
intxi_block_size;
//! \brief Number of directions to be explicitly solved.
intndirs;
//! \brief Index of the wavelength for T-matrix output.
intjwtm;
//! \brief Vector of scale (wavelength) indices.
int*vec_jxi;
//! \brief Vector of vacuum wave numbers.
double*vec_vk;
//! \brief Vector of computed scales.
double*vec_xi;
//! \brief Number of sphere configurations.
intconfigurations;
//! \brief Vector of sphere sizes.
double*vec_sphere_sizes;
//! \brief Sphere sizes arranged for scale (rows) and configurations (columns).
double**sphere_sizes;
//! \brief Vector of sphere refractive indices.
dcomplex*vec_sphere_ref_indices;
//! \brief Sphere refractive indices arranged for scale (rows) and configurations (columns).
dcomplex**sphere_ref_indices;
//! \brief Vector of sphere scattering cross-sections.
double*vec_sphere_scs;
//! \brief Sphere scattering cross-sections for scale (rows) and configurations (columns).
double**sphere_scs;
//! \brief Vector of sphere absorption cross-sections.
double*vec_sphere_abs;
//! \brief Sphere scattering cross-sections for scale (rows) and configurations (columns).
double**sphere_scs;
//! \brief Vector of sphere extinction cross-sections.
double*vec_sphere_exs;
//! \brief Sphere extinction cross-sections for scale (rows) and configurations (columns).
double**sphere_exs;
//! \brief Vector of sphere albedos.
double*vec_sphere_albs;
//! \brief Sphere albedos for scale (rows) and configurations (columns).
double**sphere_albeds;
//! \brief Sphere geometric cross-sections for configurations.
double*gs;
//! \brief Vector of sphere forward scattering amplitudes.
dcomplex*vec_fsas;
//! \brief Sphere forward scattering amplitudes for scale (rows) and configuration (columns).
dcomplex**fsas;
//! \brief Vector of QSCHU = 4 pi IMAG(FSAS) / TOTAL_GEOM_SECTION.
dcomplex*vec_qschus;
//! \brief Sphere QSCHU for scale (rows) and configuration (columns).
dcomplex**qschus;
//! \brief Vector of PSCHU = 4 pi REAL(FSAS) / TOTAL_GEOM_SECTION.
dcomplex*vec_pschus;
//! \brief Sphere PSCHU for scale (rows) and configuration (columns).
dcomplex**pschus;
//! \brief Vector of S0MAG = ABS(FSAS) / (4 pi k^3).
dcomplex*vec_s0mags;
//! \brief Sphere S0MAG for scale (rows) and configuration (columns).
dcomplex**s0mags;
//! \brief Vector of asymmetry parameters.
dcomplex*vec_cosavs;
//! \brief Sphere asymmetry parameters for scale (rows) and configuration (columns).
dcomplex**cosavs;
//! \brief Vector of extinction contributions to radiation torques along k for parallel linear polarization.
dcomplex*vec_tqek1;
//! \brief Sphere extinction contributions to radiation torques along k for parallel linear polarization (scales along rows, configurations along columns).
dcomplex**tqek1;
//! \brief Vector of scattering contributions to radiation torques along k for parallel linear polarization.
dcomplex*vec_tqsk1;
//! \brief Sphere scattering contributions to radiation torques along k for parallel linear polarization (scales along rows, configurations along columns).
dcomplex**tqsk1;
//! \brief Vector of extinction contributions to radiation torques along k for perpendicular linear polarization.
dcomplex*vec_tqek2;
//! \brief Sphere extinction contributions to radiation torques along k for perpendicular linear polarization (scales along rows, configurations along columns).
dcomplex**tqek2;
//! \brief Vector of scattering contributions to radiation torques along k for perpendicular linear polarization.
dcomplex*vec_tqsk2;
//! \brief Sphere scattering contributions to radiation torques along k for perpendicular linear polarization (scales along rows, configurations along columns).
dcomplex**tqsk2;
//! \brief Vector of total forward scattering amplitudes.
dcomplex*vec_fsat;
//! \brief Vector of total QSCHU.
double*vec_qschut;
//! \brief Vector of total PSCHU.
double*vec_pschut;
//! \brief Vector of total S0MAG.
double*vec_s0magt;
//! \brief Total geometric section.
doubletgs;
//! \brief Vector of cluster scattering cross-sections.
double*vec_scc;
//! \brief Cluster scattering cross-sections for scales (rows) and polarization (columns)
double**scc;
//! \brief Vector of cluster absorption cross-sections.
double*vec_abc;
//! \brief Cluster absorption cross-sections for scales (rows) and polarization (columns)
double**abc;
//! \brief Vector of cluster extinction cross-sections.
double*vec_exc;
//! \brief Cluster extinction cross-sections for scales (rows) and polarization (columns)
double**exc;
//! \brief Vector of cluster albedos.
double*vec_albedc;
//! \brief Cluster albedos for scales (rows) and polarization (columns)
double**albedc;
//! \brief Vector of cluster-to-sum-of-spheres scattering cross-section ratios.
double*vec_sccrt;
//! \brief Cluster-to-sum-of-spheres scattering cross-section ratios for scales (rows) and polarization (columns).
double**sccrt;
//! \brief Vector of cluster-to-sum-of-spheres absorption cross-section ratios.
double*vec_abcrt;
//! \brief Cluster-to-sum-of-spheres absorption cross-section ratios for scales (rows) and polarization (columns).
double**abcrt;
//! \brief Vector of cluster-to-sum-of-spheres extinction cross-section ratios.
double*vec_excrt;
//! \brief Cluster-to-sum-of-spheres extinction cross-section ratios for scales (rows) and polarization (columns).
double**excrt;
//! \brief Vector of forward scattering amplitudes for polarization parallel to incidence.
dcomplex*vec_fsac11;
//! \brief Vector of forward scattering amplitudes for polarization perpendicular to incidence.
dcomplex*vec_fsac21;
//! \brief Vector of forward scattering amplitudes for polarization parallel to incidence.
dcomplex*vec_fsac22;
//! \brief Vector of forward scattering amplitudes for polarization perpendicular to incidence.
dcomplex*vec_fsac12;
//! \brief Vector of cluster QSCHU.
dcomplex*vec_qschuc;
//! \brief Cluster QSCHU for scales (rows) and polarization (columns).
dcomplex**qschuc;
//! \brief Vector of cluster PSCHU.
dcomplex*vec_pschuc;
//! \brief Cluster PSCHU for scales (rows) and polarization (columns).
dcomplex**pschuc;
//! \brief Vector of cluster S0MAG.
dcomplex*vec_s0magc;
//! \brief Cluster S0MAG for scales (rows) and polarization (columns).
dcomplex**s0magc;
//! \brief Vector of cluster asymmetry parameters.
dcomplex*vec_cosavc;
//! \brief Cluster asymmetry parameters for scales (rows) and polarization (columns).
dcomplex**cosavc;
//! \brief Vector of optical forces along incidence direction [N].
dcomplex*vec_fkc;
//! \brief Optical forces along incidence direction for scales (rows) and polarization (columns).
dcomplex**fkc;
//! \brief Vector of incidence azimuth directions.
double*vec_dir_tidg;
//! \brief Vector of incidence elevation directions.
double*vec_dir_pidg;
//! \brief Vector of scattering azimuth directions.
double*vec_dir_tsdg;
//! \brief Vector of scattering elevation directions.
double*vec_dir_psdg;
//! \brief Vector of scattering angles.
double*vec_dir_scand;
//! \brief Control parameter for incidence plane referred to meridional plane.
double*vec_dir_cfmp;
//! \brief Control parameter for scattering plane referred to meridional plane.
double*vec_dir_sfmp;
//! \brief Control parameter for incidence plane referred to scattering plane.
double*vec_dir_cfsp;
//! \brief Control parameter for scattering plane referred to scattering plane.
double*vec_dir_sfsp;
//! \brief Components of the unitary vector perpendicular to incidence plane.
double*vec_dir_uni;
//! \brief Components of the unitary vector perpendicular to scattering plane.
double*vec_dir_uns;
//! \brief Vector of sphere differential scattering amplitude with polarization parallel to parallel incidence field.
dcomplex*vec_dir_sas11;
//! \brief Vector of sphere differential scattering amplitude with polarization perpendicular to the parallel incidence field.
dcomplex*vec_dir_sas21;
//! \brief Vector of sphere differential scattering amplitude with polarization perpendicular to perpendicular incidence field.
dcomplex*vec_dir_sas12;
//! \brief Vector of sphere differential scattering amplitude with polarization parallel the perpendicular incidence field.
dcomplex*vec_dir_sas22;
//! \brief Vector of sphere Mueller transormation matrices referred to meridional plane.
dcomplex*vec_dir_muls;
//! \brief Vector of sphere Mueller transormation matrices referred to scattering plane.
dcomplex*vec_dir_mulslr;
//! \brief Vector of sphere total differential scattering amplitude with polarization parallel to parallel incidence field.
dcomplex*vec_dir_sat_11;
//! \brief Vector of sphere total differential scattering amplitude with polarization perpendicular to the parallel incidence field.
dcomplex*vec_dir_sat_21;
//! \brief Vector of sphere total differential scattering amplitude with polarization perpendicular to perpendicular incidence field.
dcomplex*vec_dir_sat_12;
//! \brief Vector of sphere total differential scattering amplitude with polarization parallel the perpendicular incidence field.
dcomplex*vec_dir_sat_22;
//! \brief Vector of cluster differential scattering cross-sections.
double*vec_dir_scc;
//! \brief Vector of cluster differential absorption cross-sections.
double*vec_dir_abc;
//! \brief Vector of cluster differential extinction cross-sections.
double*vec_dir_exc;
//! \brief Vector of cluster differential albedos.
double*vec_dir_albedc;
//! \brief Vector of differential cluster-to-total scattering cross-section ratios.
double*vec_dir_sccrt;
//! \brief Vector of differential cluster-to-total absorption cross-section ratios.
double*vec_dir_abcrt;
//! \brief Vector of differential cluster-to-total extinction cross-section ratios.
double*vec_dir_excrt;
//! \brief Vector of differential cluster forward scattering amplitude with polarization parallel to parallel incidence field.
dcomplex*vec_dir_fsac11;
//! \brief Vector of differential cluster forward scattering amplitude with polarization perpendicular to the parallel incidence field.
dcomplex*vec_dir_fsac21;
//! \brief Vector of differential cluster forward scattering amplitude with polarization perpendicular to perpendicular incidence field.
dcomplex*vec_dir_fsac12;
//! \brief Vector of differential cluster forward scattering amplitude with polarization parallel the perpendicular incidence field.
dcomplex*vec_dir_fsac22;
//! \brief Vector of differential cluster scattering amplitude with polarization parallel to parallel incidence field.
dcomplex*vec_dir_sac11;
//! \brief Vector of differential cluster scattering amplitude with polarization perpendicular to the parallel incidence field.
dcomplex*vec_dir_sac21;
//! \brief Vector of differential cluster scattering amplitude with polarization perpendicular to perpendicular incidence field.
dcomplex*vec_dir_sac12;
//! \brief Vector of differential cluster scattering amplitude with polarization parallel the perpendicular incidence field.
dcomplex*vec_dir_sac22;
//! \brief Vector of differential cluster QSCHU.
double*vec_dir_qschu;
//! \brief Vector of differential cluster PSCHU.
double*vec_dir_pschu;
//! \brief Vector of differential cluster asymmetry parameters.
double*vec_dir_cosav;
//! \brief Vector of differential cluster radiation pressure forces.
double*vec_dir_rapr;
//! \brief Vector of differential radiation pressure force components along the polarization direction.
double*vec_dir_fl;
//! \brief Vector of differential radiation pressure force components perpendicular to the polarization direction.
double*vec_dir_fr;
//! \brief Vector of differential radiation pressure force components along the incidence direction.
double*vec_dir_fk;
//! \brief Vector of differential radiation pressure force components along the X axis.
double*vec_dir_fx;
//! \brief Vector of differential radiation pressure force components along the Y axis.
double*vec_dir_fy;
//! \brief Vector of differential radiation pressure force components along the Z axis.
double*vec_dir_fx;
//! \brief Vector of differential extinction contribution to radiation torque components along the polarization direction.
double*vec_dir_tqer;
//! \brief Vector of differential extinction contribution to radiation torque components perpendicular to the polarization direction.
double*vec_dir_tqel;
//! \brief Vector of differential extinction contribution to radiation torque components along the incidence direction.
double*vec_dir_tqek;
//! \brief Vector of differential extinction contribution to radiation torque components along the X axis.
double*vec_dir_tqex;
//! \brief Vector of differential extinction contribution to radiation torque components along the Y axis.
double*vec_dir_tqey;
//! \brief Vector of differential extinction contribution to radiation torque components along the Z axis.
double*vec_dir_tqez;
//! \brief Vector of differential scattering contribution to radiation torque components along the polarization direction.
double*vec_dir_tqsr;
//! \brief Vector of differential scattering contribution to radiation torque components perpendicular to the polarization direction.
double*vec_dir_tqsl;
//! \brief Vector of differential scattering contribution to radiation torque components along the incidence direction.
double*vec_dir_tqsk;
//! \brief Vector of differential scattering contribution to radiation torque components along X axis.
double*vec_dir_tqsx;
//! \brief Vector of differential scattering contribution to radiation torque components along Y axis.
double*vec_dir_tqsy;
//! \brief Vector of differential scattering contribution to radiation torque components along Z axis.
double*vec_dir_tqsz;
//! \brief Vector of cluster Mueller transormation matrices referred to meridional plane.
dcomplex*vec_dir_mulc;
//! \brief Vector of cluster Mueller transormation matrices referred to scattering plane.