30 void setup(
double tau_225_zenith) {
36 auto A = secz * (1. - 0.0012 * (pow(secz, 2) - 1.));
44 tau_225_calc(i) = -log(val)/A;
55 if (tau_225_calc(i) <= tau_225_zenith) {
68 tx_ratio_coeff[
"a1100"] << -0.12008024, 0.72422015, -1.81734478, 2.45313012, -1.92159695, 0.86918801, 0.78604295;
69 tx_ratio_coeff[
"a1400"] << 0.02619509, -0.15757661, 0.39400473, -0.52912696, 0.411213, -0.18360141, 1.04398466;
70 tx_ratio_coeff[
"a2000"] << 0.16726241, -1.00436302, 2.50507317, -3.35219659, 2.59080373, -1.14622096, 1.26931683;
75 tx_ratio_coeff[
"a1100"] << -0.18770822, 1.13390437, -2.85173457, 3.8617083, -3.03996805, 1.38624303,
77 tx_ratio_coeff[
"a1400"] << 0.04292884, -0.25817762, 0.64533115, -0.86622214, 0.67267823, -0.29996916,
79 tx_ratio_coeff[
"a2000"] << 0.35178447, -2.10859714, 5.24620825, -6.9952531, 5.37645792, -2.35675076,
85 tx_ratio_coeff[
"a1100"] << -0.28189529, 1.70842347, -4.31606883, 5.88248549, -4.67702093, 2.16747228,
87 tx_ratio_coeff[
"a1400"] << 0.07581154, -0.45574885, 1.13852458, -1.52697451, 1.18425865, -0.5269455,
89 tx_ratio_coeff[
"a2000"] << 0.79869908, -4.77265095, 11.82393401, -15.67007557, 11.93052031,
90 -5.14788907, 2.14595898;
95 tx_ratio_coeff[
"a1100"] << -1.21882233, 6.67068453, -14.96466875, 17.78045563, -12.10288687,
96 4.76050807, -0.06765066;
97 tx_ratio_coeff[
"a1400"] << 0.76090502, -4.05867663, 8.78487281, -9.90872343, 6.2198602, -2.13790165,
99 tx_ratio_coeff[
"a2000"] << 16.0063036, -84.30325144, 179.28096414, -197.05751682, 118.73627425,
100 -37.99279818, 6.55457576;
106 auto tau_polynomial(Eigen::DenseBase<DerivedA> &coeff, Eigen::DenseBase<DerivedB> &elev) {
108 return coeff(0)*pow(elev.derived().array(),6) + coeff(1)*pow(elev.derived().array(),5) +
109 coeff(2)*pow(elev.derived().array(),4) + coeff(3)*pow(elev.derived().array(),3) +
110 coeff(4)*pow(elev.derived().array(),2) + coeff(5)*pow(elev.derived().array(),1) +