17#include "HiCalTypes.h"
23#include "IException.h"
40 class GainLineDrift :
public Module {
44 GainLineDrift() : Module(
"GainLineDrift") { }
45 GainLineDrift(
const HiCalConf &conf) : Module(
"GainLineDrift") {
58 void init(
const HiCalConf &conf) {
63 _channel =
ToInteger(prof(
"ChannelNumber"));
66 _coefs =
loadCsv(
"LineGainDrift", conf, prof, 4);
73 double linetime =
ToDouble(prof(
"ScanExposureDuration"));
78 for (
int i = 0 ; i < nlines ; i++ ) {
80 gainV[i] = _coefs[0] + (_coefs[1] * lt) +
81 _coefs[2] * exp(_coefs[3] * lt);
A DbProfile is a container for access parameters to a database.
QString Name() const
Returns the name of this property.
virtual ~GainLineDrift()
Destructor.
Compute HiRISE line times.
HiVector _data
Data vector.
HiHistory _history
Hierarchial component history.
HiVector loadCsv(const QString &csvBase, const HiCalConf &conf, const DbProfile &prof, const int &elements=0)
Provide generic loading of CSV file for all modules.
This is free and unencumbered software released into the public domain.
int CpmmToCcd(int cpmm)
Convert HiRISE Cpmm number to Ccd number.
TNT::Array1D< double > HiVector
1-D Buffer
QString ToString(const T &value)
Helper function to convert values to strings.
double ToDouble(const T &value)
Helper function to convert values to doubles.
int ToInteger(const T &value)
Helper function to convert values to Integers.