RayleighCorrAlgorithm { double getRayleighOpticalThickness(double sigma, double seaLevelPressure, double altitude, double latitude) { double pressure = seaLevelPressure * Math.pow((1.0 - 0.0065 * altitude / 288.15), 5.255) * 1000; return getRayleightOptThickness(sigma, altitude, latitude, pressure); } RayleighCorrAlgorithm(String bandPattern, int numBands);  RayleighCorrAlgorithm(Sensor sensor); RayleighOutput getRayleighReflectance(RayleighInput rayleighInput, RayleighAux rayleighAux,
                                                 double[] absorptionOfBand, Product product); void getRayleighThicknessBodhaineTest();  }
@Test public void testThickness() { double latitude = 1.25; double altitude = 20.90; double seaLevelPressure = 0.8; double sigma = 0.5; double rayThickness = algo.getRayleighOpticalThickness(sigma, seaLevelPressure, altitude, latitude); assertEquals(8.496979944265044E21, rayThickness, 1e-8); }