package edu.colostate.vchill;
import edu.colostate.vchill.chill.ChillFieldInfo;
import edu.colostate.vchill.chill.ChillMomentFieldScale;
/**
* Utility methods for calculating HDR
*
* @author Jochen Deyke
* @version 2007-01-26
*/
public class HdrUtil {
public static final ChillMomentFieldScale scale = new ChillMomentFieldScale(ChillFieldInfo.HDR, java.awt.event.KeyEvent.VK_H, "db", 107, 170, -1564);
/**
* private default constructor prevents instantiation
*/
private HdrUtil() {
}
public static double[] calculateHDR(final double[] dataZ, final double[] dataZDR) {
double[] dataHDR = new double[dataZ.length];
// Do the calculations for each gate.
for (int i = 0; i < dataHDR.length; ++i) {
if (Double.isNaN(dataZ[i]) || Double.isNaN(dataZDR[i])) dataHDR[i] = Double.NaN; //missing data
else dataHDR[i] = dataZ[i] - ((dataZDR[i] > 0) ? ((dataZDR[i] > 1.74) ? 60 : (19 * dataZDR[i] + 27)) : 27);
}
return dataHDR;
}
}