Commit 4ffc6e29 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Use different vectors for polarization state dependent quantities

parent 5db5f663
Loading
Loading
Loading
Loading
+168 −84
Original line number Diff line number Diff line
@@ -173,20 +173,34 @@ public:
  double *vec_s0magt;
  //! \brief Total geometric section.
  double tgs;
  //! \brief Vector of cluster scattering cross-sections (two polarization states per scale).
  double *vec_scc;
  //! \brief Vector of cluster absorption cross-sections (two polarization states per scale).
  double *vec_abc;
  //! \brief Vector of cluster extinction cross-sections (two polarization states per scale).
  double *vec_exc;
  //! \brief Vector of cluster albedos (two polarization states per scale).
  double *vec_albedc;
  //! \brief Vector of cluster-to-sum-of-spheres scattering cross-section ratios (two polarization states per scale).
  double *vec_sccrt;
  //! \brief Vector of cluster-to-sum-of-spheres absorption cross-section ratios (two polarization states per scale).
  double *vec_abcrt;
  //! \brief Vector of cluster-to-sum-of-spheres extinction cross-section ratios (two polarization states per scale).
  double *vec_excrt;
  //! \brief Vector of cluster scattering cross-sections (parallel polarization).
  double *vec_scc1;
  //! \brief Vector of cluster scattering cross-sections (perpendicular polarization).
  double *vec_scc2;
  //! \brief Vector of cluster absorption cross-sections (parallel polarization).
  double *vec_abc1;
  //! \brief Vector of cluster absorption cross-sections (perpendicular polarization).
  double *vec_abc2;
  //! \brief Vector of cluster extinction cross-sections (parallel polarization).
  double *vec_exc1;
  //! \brief Vector of cluster extinction cross-sections (perpendicular polarization).
  double *vec_exc2;
  //! \brief Vector of cluster albedos (parallel polarization).
  double *vec_albedc1;
  //! \brief Vector of cluster albedos (perpendicular polarization).
  double *vec_albedc2;
  //! \brief Vector of cluster-to-sum-of-spheres scattering cross-section ratios (parallel polarization).
  double *vec_sccrt1;
  //! \brief Vector of cluster-to-sum-of-spheres scattering cross-section ratios (parallel polarization).
  double *vec_sccrt2;
  //! \brief Vector of cluster-to-sum-of-spheres absorption cross-section ratios (parallel polarization).
  double *vec_abcrt1;
  //! \brief Vector of cluster-to-sum-of-spheres absorption cross-section ratios (perpendicular polarization).
  double *vec_abcrt2;
  //! \brief Vector of cluster-to-sum-of-spheres extinction cross-section ratios (parallel polarization).
  double *vec_excrt1;
  //! \brief Vector of cluster-to-sum-of-spheres extinction cross-section ratios (perpendicular polarization).
  double *vec_excrt2;
  //! \brief Vector of forward scattering amplitudes for polarization parallel to incidence (one per scale).
  dcomplex *vec_fsac11;
  //! \brief Vector of forward scattering amplitudes for polarization perpendicular to incidence (one per scale).
@@ -195,18 +209,30 @@ public:
  dcomplex *vec_fsac22;
  //! \brief Vector of forward scattering amplitudes for polarization perpendicular to incidence (one per scale).
  dcomplex *vec_fsac12;
  //! \brief Vector of cluster QSCHU (two polarization states per scale).
  double *vec_qschuc;
  //! \brief Vector of cluster PSCHU (two polarization states per scale).
  double *vec_pschuc;
  //! \brief Vector of cluster S0MAG (two polarization states per scale).
  double *vec_s0magc;
  //! \brief Vector of cluster asymmetry parameters (two polarization states per scale).
  double *vec_cosavc;
  //! \brief Vector of cluster radiation pressure forces (two polarization states per scale).
  double *vec_raprc;
  //! \brief Vector of optical forces along incidence direction [N] (two polarization states per scale).
  double *vec_fkc;
  //! \brief Vector of cluster QSCHU (parallel polarization).
  double *vec_qschuc1;
  //! \brief Vector of cluster QSCHU (perpendicular polarization).
  double *vec_qschuc2;
  //! \brief Vector of cluster PSCHU (parallel polarization).
  double *vec_pschuc1;
  //! \brief Vector of cluster PSCHU (perpendicular polarization).
  double *vec_pschuc2;
  //! \brief Vector of cluster S0MAG (parallel polarization).
  double *vec_s0magc1;
  //! \brief Vector of cluster S0MAG (perpendicular polarization).
  double *vec_s0magc2;
  //! \brief Vector of cluster asymmetry parameters (parallel polarization).
  double *vec_cosavc1;
  //! \brief Vector of cluster asymmetry parameters (perpendicular polarization).
  double *vec_cosavc2;
  //! \brief Vector of cluster radiation pressure forces (parallel polarization).
  double *vec_raprc1;
  //! \brief Vector of cluster radiation pressure forces (perpendicular polarization).
  double *vec_raprc2;
  //! \brief Vector of optical forces along incidence direction [N] (parallel polarization).
  double *vec_fkc1;
  //! \brief Vector of optical forces along incidence direction [N] (perpendicular polarization).
  double *vec_fkc2;
  //! \brief Vector of incidence azimuth directions (one per direction).
  double *vec_dir_tidg;
  //! \brief Vector of incidence elevation directions (one per direction).
@@ -249,20 +275,34 @@ public:
  dcomplex *vec_dir_sat12;
  //! \brief Vector of sphere total differential scattering amplitude with polarization parallel the perpendicular incidence field.
  dcomplex *vec_dir_sat22;
  //! \brief Vector of cluster differential scattering cross-sections (two polarization states per direction and scale).
  double *vec_dir_scc;
  //! \brief Vector of cluster differential absorption cross-sections (two polarization states per direction and scale).
  double *vec_dir_abc;
  //! \brief Vector of cluster differential extinction cross-sections (two polarization states per direction and scale).
  double *vec_dir_exc;
  //! \brief Vector of cluster differential albedos (two polarization states per direction and scale).
  double *vec_dir_albedc;
  //! \brief Vector of differential cluster-to-total scattering cross-section ratios (two polarization states per direction and scale).
  double *vec_dir_sccrt;
  //! \brief Vector of differential cluster-to-total absorption cross-section ratios (two polarization states per direction and scale).
  double *vec_dir_abcrt;
  //! \brief Vector of differential cluster-to-total extinction cross-section ratios (two polarization states per direction and scale).
  double *vec_dir_excrt;
  //! \brief Vector of cluster differential scattering cross-sections (parallel polarization).
  double *vec_dir_scc1;
  //! \brief Vector of cluster differential scattering cross-sections (perpendicular polarization).
  double *vec_dir_scc2;
  //! \brief Vector of cluster differential absorption cross-sections (parallel polarization).
  double *vec_dir_abc1;
  //! \brief Vector of cluster differential absorption cross-sections (perpendicular polarization).
  double *vec_dir_abc2;
  //! \brief Vector of cluster differential extinction cross-sections (parallel polarization).
  double *vec_dir_exc1;
  //! \brief Vector of cluster differential extinction cross-sections (perpendicular polarization).
  double *vec_dir_exc2;
  //! \brief Vector of cluster differential albedos (parallel polarization).
  double *vec_dir_albedc1;
  //! \brief Vector of cluster differential albedos (perpendicular polarization).
  double *vec_dir_albedc2;
  //! \brief Vector of differential cluster-to-total scattering cross-section ratios (parallel polarization).
  double *vec_dir_sccrt1;
  //! \brief Vector of differential cluster-to-total scattering cross-section ratios (perpendicular polarization).
  double *vec_dir_sccrt2;
  //! \brief Vector of differential cluster-to-total absorption cross-section ratios (parallel polarization).
  double *vec_dir_abcrt1;
  //! \brief Vector of differential cluster-to-total absorption cross-section ratios (perpendicular polarization).
  double *vec_dir_abcrt2;
  //! \brief Vector of differential cluster-to-total extinction cross-section ratios (parallel polarization).
  double *vec_dir_excrt1;
  //! \brief Vector of differential cluster-to-total extinction cross-section ratios (perpendicular polarization).
  double *vec_dir_excrt2;
  //! \brief Vector of differential cluster forward scattering amplitude with polarization parallel to parallel incidence field (one per direction and scale).
  dcomplex *vec_dir_fsac11;
  //! \brief Vector of differential cluster forward scattering amplitude with polarization perpendicular to the parallel incidence field (one per direction and scale).
@@ -279,50 +319,94 @@ public:
  dcomplex *vec_dir_sac12;
  //! \brief Vector of differential cluster scattering amplitude with polarization parallel the perpendicular incidence field (one per direction and scale).
  dcomplex *vec_dir_sac22;
  //! \brief Vector of differential cluster QSCHU (two polarization states per direction and scale).
  double *vec_dir_qschuc;
  //! \brief Vector of differential cluster PSCHU (two polarization states per direction and scale).
  double *vec_dir_pschuc;
  //! \brief Vector of differential cluster asymmetry parameters (two polarization states per direction and scale).
  double *vec_dir_cosavc;
  //! \brief Vector of differential cluster radiation pressure forces (two polarization states per direction and scale).
  double *vec_dir_raprc;
  //! \brief Vector of differential radiation pressure force components along the polarization direction (two polarization states per direction and scale).
  double *vec_dir_flc;
  //! \brief Vector of differential radiation pressure force components perpendicular to the polarization direction (two polarization states per direction and scale).
  double *vec_dir_frc;
  //! \brief Vector of differential radiation pressure force components along the incidence direction (two polarization states per direction and scale).
  double *vec_dir_fkc;
  //! \brief Vector of differential radiation pressure force components along the X axis (two polarization states per direction and scale).
  double *vec_dir_fxc;
  //! \brief Vector of differential radiation pressure force components along the Y axis (two polarization states per direction and scale).
  double *vec_dir_fyc;
  //! \brief Vector of differential radiation pressure force components along the Z axis (two polarization states per direction and scale).
  double *vec_dir_fzc;
  //! \brief Vector of differential extinction contribution to radiation torque components along the polarization direction (two polarization states per direction and scale).
  double *vec_dir_tqelc;
  //! \brief Vector of differential extinction contribution to radiation torque components perpendicular to the polarization direction (two polarization states per direction and scale).
  double *vec_dir_tqerc;
  //! \brief Vector of differential extinction contribution to radiation torque components along the incidence direction (two polarization states per direction and scale).
  double *vec_dir_tqekc;
  //! \brief Vector of differential extinction contribution to radiation torque components along the X axis (two polarization states per direction and scale).
  double *vec_dir_tqexc;
  //! \brief Vector of differential extinction contribution to radiation torque components along the Y axis (two polarization states per direction and scale).
  double *vec_dir_tqeyc;
  //! \brief Vector of differential extinction contribution to radiation torque components along the Z axis (two polarization states per direction and scale).
  double *vec_dir_tqezc;
  //! \brief Vector of differential scattering contribution to radiation torque components along the polarization direction (two polarization states per direction and scale).
  double *vec_dir_tqslc;
  //! \brief Vector of differential scattering contribution to radiation torque components perpendicular to the polarization direction (two polarization states per direction and scale).
  double *vec_dir_tqsrc;
  //! \brief Vector of differential scattering contribution to radiation torque components along the incidence direction (two polarization states per direction and scale).
  double *vec_dir_tqskc;
  //! \brief Vector of differential scattering contribution to radiation torque components along X axis (two polarization states per direction and scale).
  double *vec_dir_tqsxc;
  //! \brief Vector of differential scattering contribution to radiation torque components along Y axis (two polarization states per direction and scale).
  double *vec_dir_tqsyc;
  //! \brief Vector of differential scattering contribution to radiation torque components along Z axis (two polarization states per direction and scale).
  double *vec_dir_tqszc;
  //! \brief Vector of differential cluster QSCHU (parallel polarization).
  double *vec_dir_qschuc1;
  //! \brief Vector of differential cluster QSCHU (perpendicular polarization).
  double *vec_dir_qschuc2;
  //! \brief Vector of differential cluster PSCHU (parallel polarization).
  double *vec_dir_pschuc1;
  //! \brief Vector of differential cluster PSCHU (perpendicular polarization).
  double *vec_dir_pschuc2;
  //! \brief Vector of differential cluster asymmetry parameters (parallel polarization).
  double *vec_dir_cosavc1;
  //! \brief Vector of differential cluster asymmetry parameters (perpendicular polarization).
  double *vec_dir_cosavc2;
  //! \brief Vector of differential cluster radiation pressure forces (1).
  double *vec_dir_raprc1;
  //! \brief Vector of differential cluster radiation pressure forces (1).
  double *vec_dir_raprc2;
  //! \brief Vector of differential radiation pressure force components along the polarization direction (parallel polarization).
  double *vec_dir_flc1;
  //! \brief Vector of differential radiation pressure force components along the polarization direction (perpendicular polarization).
  double *vec_dir_flc2;
  //! \brief Vector of differential radiation pressure force components perpendicular to the polarization direction (parallel polarization).
  double *vec_dir_frc1;
  //! \brief Vector of differential radiation pressure force components perpendicular to the polarization direction (perpendicular polarization).
  double *vec_dir_frc2;
  //! \brief Vector of differential radiation pressure force components along the incidence direction (parallel polarization).
  double *vec_dir_fkc1;
  //! \brief Vector of differential radiation pressure force components along the incidence direction (perpendicular polarization).
  double *vec_dir_fkc2;
  //! \brief Vector of differential radiation pressure force components along the X axis (parallel polarization).
  double *vec_dir_fxc1;
  //! \brief Vector of differential radiation pressure force components along the X axis (perpendicular polarization).
  double *vec_dir_fxc2;
  //! \brief Vector of differential radiation pressure force components along the Y axis (parallel polarization).
  double *vec_dir_fyc1;
  //! \brief Vector of differential radiation pressure force components along the Y axis (perpendicular polarization).
  double *vec_dir_fyc2;
  //! \brief Vector of differential radiation pressure force components along the Z axis (parallel polarization).
  double *vec_dir_fzc1;
  //! \brief Vector of differential radiation pressure force components along the Z axis (perpendicular polarization).
  double *vec_dir_fzc2;
  //! \brief Vector of differential extinction contribution to radiation torque components along the polarization direction (parallel polarization).
  double *vec_dir_tqelc1;
  //! \brief Vector of differential extinction contribution to radiation torque components along the polarization direction (perpendicular polarization).
  double *vec_dir_tqelc2;
  //! \brief Vector of differential extinction contribution to radiation torque components perpendicular to the polarization direction (parallel polarization).
  double *vec_dir_tqerc1;
  //! \brief Vector of differential extinction contribution to radiation torque components perpendicular to the polarization direction (perpendicular polarization).
  double *vec_dir_tqerc2;
  //! \brief Vector of differential extinction contribution to radiation torque components along the incidence direction (parallel polarization).
  double *vec_dir_tqekc1;
  //! \brief Vector of differential extinction contribution to radiation torque components along the incidence direction (perpendicular polarization).
  double *vec_dir_tqekc2;
  //! \brief Vector of differential extinction contribution to radiation torque components along the X axis (parallel polarization).
  double *vec_dir_tqexc1;
  //! \brief Vector of differential extinction contribution to radiation torque components along the X axis (perpendicular polarization).
  double *vec_dir_tqexc2;
  //! \brief Vector of differential extinction contribution to radiation torque components along the Y axis (parallel polarization).
  double *vec_dir_tqeyc1;
  //! \brief Vector of differential extinction contribution to radiation torque components along the Y axis (perpendicular polarization).
  double *vec_dir_tqeyc2;
  //! \brief Vector of differential extinction contribution to radiation torque components along the Z axis (parallel polarization).
  double *vec_dir_tqezc1;
  //! \brief Vector of differential extinction contribution to radiation torque components along the Z axis (perpendicular polarization).
  double *vec_dir_tqezc2;
  //! \brief Vector of differential scattering contribution to radiation torque components along the polarization direction (parallel polarization).
  double *vec_dir_tqslc1;
  //! \brief Vector of differential scattering contribution to radiation torque components along the polarization direction (perpendicular polarization).
  double *vec_dir_tqslc2;
  //! \brief Vector of differential scattering contribution to radiation torque components perpendicular to the polarization direction (parallel polarization).
  double *vec_dir_tqsrc1;
  //! \brief Vector of differential scattering contribution to radiation torque components perpendicular to the polarization direction (perpendicular polarization).
  double *vec_dir_tqsrc2;
  //! \brief Vector of differential scattering contribution to radiation torque components along the incidence direction (parallel polarization).
  double *vec_dir_tqskc1;
  //! \brief Vector of differential scattering contribution to radiation torque components along the incidence direction (perpendicular polarization).
  double *vec_dir_tqskc2;
  //! \brief Vector of differential scattering contribution to radiation torque components along X axis (parallel polarization).
  double *vec_dir_tqsxc1;
  //! \brief Vector of differential scattering contribution to radiation torque components along X axis (perpendicular polarization).
  double *vec_dir_tqsxc2;
  //! \brief Vector of differential scattering contribution to radiation torque components along Y axis (parallel polarization).
  double *vec_dir_tqsyc1;
  //! \brief Vector of differential scattering contribution to radiation torque components along Y axis (perpendicular polarization).
  double *vec_dir_tqsyc2;
  //! \brief Vector of differential scattering contribution to radiation torque components along Z axis (parallel polarization).
  double *vec_dir_tqszc1;
  //! \brief Vector of differential scattering contribution to radiation torque components along Z axis (perpendicular polarization).
  double *vec_dir_tqszc2;
  //! \brief Vector of cluster Mueller transormation matrices referred to meridional plane (16 per direction per scale).
  double *vec_dir_mulc;
  //! \brief Vector of cluster Mueller transormation matrices referred to scattering plane (16 per direction per scale).
+170 −86

File changed.

Preview size limit exceeded, changes collapsed.