18#include "HiCalTypes.h"
22#include "PvlKeyword.h"
24#include "IException.h"
41 friend std::ostream &operator<<(std::ostream &o,
const Module &c) {
102 const DbProfile &prof,
const int &elements = 0) {
103 LoadCSV csv(csvBase, conf, prof);
105 if (elements != 0) csv.validateSize(elements,
true);
107 return (csv.getVector());
120 const QString keyname =
"ModuleHistory")
131 void Dump(
const QString &fname)
const {
132 FileName dumpc(fname);
133 QString dumpcFile = dumpc.expanded();
134 std::ofstream ofile(dumpcFile.toLatin1().data(), std::ios::out);
136 QString mess =
"Unable to open/create module dump file " +
138 throw IException(IException::User, mess, _FILEINFO_);
147 enum { DefaultWidth = 10, DefaultPrecision = 6};
170 std::ostringstream ostr;
171 if (IsSpecial(value)) {
172 ostr << std::setw(
_fmtWidth) << PixelToString(value);
173 return (QString(ostr.str().c_str()));
178 return (QString(ostr.str().c_str()));
184 o <<
"# History = " <<
_history << std::endl;
185 o <<
"# Count = " <<
_data.dim() << std::endl;
186 for (
int i = 0 ; i <
_data.dim() ; i++) {
A DbProfile is a container for access parameters to a database.
Provides generalized access to HiRISE calibration CSV files.
HiVector _data
Data vector.
double operator()(int index) const
Return individual element of the data vector.
int _fmtPrecision
Default field with of double.
QString getcsvFile() const
Returns expanded name of last CSV file loaded by loadCsv.
HiHistory _history
Hierarchial component history.
virtual void Process(const HiVector &v)
Default processing behavior makes a reference copy of data array.
int size() const
Returns the size (number of elements) of data array.
QString _csvFile
Fully expanded name of CSV file if present.
virtual ~Module()
Destructor.
QString _name
Name of component.
virtual void printOn(std::ostream &o) const
Default printing of data in module.
const HiVector & ref() const
Return data via a const reference.
QString name() const
Returns name of component.
int _fmtWidth
Default field with of double.
virtual void record(PvlGroup &pvl, const QString keyname="ModuleHistory") const
Record history in Pvl group object.
void Dump(const QString &fname) const
Dumps the component to a specified file.
virtual void Process(const Module &c)
Invokes the process method on the Module vector.
const HiHistory & History() const
Return recorded history of events.
HiVector loadCsv(const QString &csvBase, const HiCalConf &conf, const DbProfile &prof, const int &elements=0)
Provide generic loading of CSV file for all modules.
QString formatDbl(const double &value) const
Properly format values that could be special pixels.
This is free and unencumbered software released into the public domain.
TNT::Array1D< double > HiVector
1-D Buffer