6 #ifndef LOFAR_PARMDB_PARMFACADE_H
7 #define LOFAR_PARMDB_PARMFACADE_H
43 ParmFacade(
const std::string& tableName,
bool create =
false);
49 string version(
const std::string& type)
const;
56 const std::string& parmNamePattern = std::string())
const {
57 return itsRep->getRange(parmNamePattern);
63 const std::string& parmNamePattern = std::string(),
64 bool includeDefaults =
false)
const {
65 return itsRep->getNames(parmNamePattern, includeDefaults);
71 const std::string& parmNamePattern = std::string())
const {
72 return itsRep->getDefNames(parmNamePattern);
78 const std::string& parmNamePattern = std::string())
const {
79 return itsRep->getDefValues(parmNamePattern);
89 const std::string& parmNamePattern,
double freqv1,
double freqv2,
90 double freqStep,
double timev1,
double timev2,
double timeStep,
91 bool asStartEnd =
false,
bool includeDefaults =
false);
93 const std::string& parmNamePattern,
double freqv1,
double freqv2,
94 double timev1,
double timev2,
bool asStartEnd =
false,
95 bool includeDefaults =
false) {
96 return getValuesMap(parmNamePattern, freqv1, freqv2, 0, timev1, timev2,
97 asStartEnd, includeDefaults);
107 casacore::Record
getValues(
const std::string& parmNamePattern,
double freqv1,
108 double freqv2,
double freqStep,
double timev1,
109 double timev2,
double timeStep,
110 bool asStartEnd =
true,
111 bool includeDefaults =
false) {
112 return itsRep->getValues(parmNamePattern, freqv1, freqv2, freqStep, timev1,
113 timev2, timeStep, asStartEnd, includeDefaults);
115 casacore::Record
getValues(
const std::string& parmNamePattern,
116 double freqv1 = -1e30,
double freqv2 = 1e30,
117 double timev1 = -1e30,
double timev2 = 1e30,
118 bool asStartEnd =
true,
119 bool includeDefaults =
false);
125 casacore::Record
getValues(
const std::string& parmNamePattern,
126 const std::vector<double>& freqv1,
127 const std::vector<double>& freqv2,
128 const std::vector<double>& timev1,
129 const std::vector<double>& timev2,
130 bool asStartEnd =
true,
131 bool includeDefaults =
false) {
132 return itsRep->getValues(parmNamePattern, freqv1, freqv2, timev1, timev2,
133 asStartEnd, includeDefaults);
142 double freqv1 = -1e30,
double freqv2 = 1e30,
143 double timev1 = -1e30,
double timev2 = 1e30,
144 bool asStartEnd =
true) {
145 return itsRep->getValuesGrid(parmNamePattern, freqv1, freqv2, timev1,
157 casacore::Record
getCoeff(
const std::string& parmNamePattern,
158 double freqv1 = -1e30,
double freqv2 = 1e30,
159 double timev1 = -1e30,
double timev2 = 1e30,
160 bool asStartEnd =
true) {
161 return itsRep->getCoeff(parmNamePattern, freqv1, freqv2, timev1, timev2,
173 return itsRep->addDefValues(rec, check);
178 return itsRep->deleteDefValues(parmNamePattern);
182 void flush(
bool fsync =
false) { itsRep->flush(fsync); }
191 void lock(
bool lockForWrite) { itsRep->lock(lockForWrite); }
197 return itsRep->getDefaultSteps();
202 itsRep->setDefaultSteps(steps);
209 void addValues(
const casacore::Record& rec) { itsRep->addValues(rec); }
212 void deleteValues(
const std::string& parmNamePattern,
double freqv1 = -1e30,
213 double freqv2 = 1e30,
double timev1 = -1e30,
214 double timev2 = 1e30,
bool asStartEnd =
true) {
215 itsRep->deleteValues(parmNamePattern, freqv1, freqv2, timev1, timev2,
221 std::map<std::string, std::vector<double>> record2Map(
222 const casacore::Record& rec)
const;
std::shared_ptr< ParmFacadeRep > ShPtr
Define a shared_ptr for this class.
Definition: ParmFacadeRep.h:41
Data access the parameter database.
Definition: ParmFacade.h:36
void setDefaultSteps(const std::vector< double > &steps)
Set the default step values for the frequency and time axis.
Definition: ParmFacade.h:201
std::vector< double > getDefaultSteps() const
Get the default step values for the frequency and time axis.
Definition: ParmFacade.h:196
casacore::Record getValues(const std::string &parmNamePattern, double freqv1=-1e30, double freqv2=1e30, double timev1=-1e30, double timev2=1e30, bool asStartEnd=true, bool includeDefaults=false)
~ParmFacade()
The destructor closes the parm table.
string version(const std::string &type) const
Get the version info (tree, top, full or other)
void clearTables()
Clear the tables, thus remove all parameter values and default values.
Definition: ParmFacade.h:166
std::vector< double > getRange(const std::string &parmNamePattern=std::string()) const
Definition: ParmFacade.h:55
ParmFacade(const std::string &tableName, bool create=false)
casacore::Record getValues(const std::string &parmNamePattern, const std::vector< double > &freqv1, const std::vector< double > &freqv2, const std::vector< double > &timev1, const std::vector< double > &timev2, bool asStartEnd=true, bool includeDefaults=false)
Definition: ParmFacade.h:125
std::vector< std::string > getNames(const std::string &parmNamePattern=std::string(), bool includeDefaults=false) const
Definition: ParmFacade.h:62
std::map< std::string, std::vector< double > > getValuesMap(const std::string &parmNamePattern, double freqv1, double freqv2, double timev1, double timev2, bool asStartEnd=false, bool includeDefaults=false)
Definition: ParmFacade.h:92
void addDefValues(const casacore::Record &rec, bool check=true)
Definition: ParmFacade.h:172
void lock(bool lockForWrite)
Definition: ParmFacade.h:191
std::vector< std::string > getDefNames(const std::string &parmNamePattern=std::string()) const
Definition: ParmFacade.h:70
casacore::Record getValuesGrid(const std::string &parmNamePattern, double freqv1=-1e30, double freqv2=1e30, double timev1=-1e30, double timev2=1e30, bool asStartEnd=true)
Definition: ParmFacade.h:141
void flush(bool fsync=false)
Flush the possible changes to disk.
Definition: ParmFacade.h:182
void deleteValues(const std::string &parmNamePattern, double freqv1=-1e30, double freqv2=1e30, double timev1=-1e30, double timev2=1e30, bool asStartEnd=true)
Delete the records for the given parameters and domain.
Definition: ParmFacade.h:212
casacore::Record getDefValues(const std::string &parmNamePattern=std::string()) const
Definition: ParmFacade.h:77
casacore::Record getValues(const std::string &parmNamePattern, double freqv1, double freqv2, double freqStep, double timev1, double timev2, double timeStep, bool asStartEnd=true, bool includeDefaults=false)
Definition: ParmFacade.h:107
void unlock()
Definition: ParmFacade.h:192
std::map< std::string, std::vector< double > > getValuesMap(const std::string &parmNamePattern, double freqv1, double freqv2, double freqStep, double timev1, double timev2, double timeStep, bool asStartEnd=false, bool includeDefaults=false)
casacore::Record getCoeff(const std::string &parmNamePattern, double freqv1=-1e30, double freqv2=1e30, double timev1=-1e30, double timev2=1e30, bool asStartEnd=true)
Definition: ParmFacade.h:157
void addValues(const casacore::Record &rec)
Definition: ParmFacade.h:209
void deleteDefValues(const std::string &parmNamePattern)
Delete the default value records for the given parameters.
Definition: ParmFacade.h:177
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53