1#ifndef GainUnitConversion_h
2#define GainUnitConversion_h
49 Module(
"GainUnitConversion"), _units(units) {
59 void init(HiCalConf &conf,
Cube *cube) {
64 double sed =
ToDouble(prof(
"ScanExposureDuration"));
67 double au = conf.sunDistanceAU(cube);
69 double suncorr = 1.5 / au;
72 double zbin =
ToDouble(prof(
"GainUnitConversionBinFactor"));
75 double ztemp = getTempDepGain(conf, prof);
77 double ziof = (zbin * ztemp) * (sed * 1.0e-6) * suncorr;
83 else if (
IsEqual(_units,
"DN/US") ) {
111 double getTempDepGain(
const HiCalConf &conf,
const DbProfile &prof) {
112 double zgain =
ToDouble(prof(
"FilterGainCorrection"));
115 double fpa_py_temp =
ToDouble(prof(
"FpaPositiveYTemperature"));
116 double fpa_my_temp =
ToDouble(prof(
"FpaNegativeYTemperature"));
117 double T = (fpa_py_temp+fpa_my_temp) / 2.0;
120 double baseT =
ToDouble(prof(
"IoverFbasetemperature"));
123 double QEpcntC =
ToDouble(prof(
"QEpercentincreaseperC"));
126 double absGainTdi =
ToDouble(prof(
"AbsGain_TDI128"));
129 double QETD = zgain * ( 1.0 + (T - baseT) * QEpcntC * absGainTdi);
IO Handler for Isis Cubes.
Definition Cube.h:168
A DbProfile is a container for access parameters to a database.
Definition DbProfile.h:51
Computes units parameters for HiRISE data calibration (Ziof Module)
Definition GainUnitConversion.h:43
virtual ~GainUnitConversion()
Destructor.
Definition GainUnitConversion.h:54
GainUnitConversion(HiCalConf &conf, const QString &units, Cube *cube)
Definition GainUnitConversion.h:48
GainUnitConversion()
Definition GainUnitConversion.h:47
void clear()
Definition HiCalTypes.h:65
void add(const QString &event)
Definition HiCalTypes.h:55
Module manages HiRISE calibration vectors from various sources.
Definition Module.h:39
HiVector _data
Data vector.
Definition Module.h:151
HiHistory _history
Hierarchial component history.
Definition Module.h:152
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
TNT::Array1D< double > HiVector
1-D Buffer
Definition HiCalTypes.h:27
QString ToString(const T &value)
Helper function to convert values to strings.
Definition HiCalUtil.h:236
double ToDouble(const T &value)
Helper function to convert values to doubles.
Definition HiCalUtil.h:224
bool IsEqual(const QString &v1, const QString &v2="TRUE")
Shortened string equality test.
Definition HiCalUtil.h:248