DP3
ParmFacadeRep.h
Go to the documentation of this file.
1 // ParmFacadeRep.h: Data access the parameter database
2 //
3 // Copyright (C) 2020 ASTRON (Netherlands Institute for Radio Astronomy)
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 
6 #ifndef LOFAR_PARMDB_PARMFACADEREP_H
7 #define LOFAR_PARMDB_PARMFACADEREP_H
8 
9 #include "ParmDB.h"
10 
11 #include <casacore/casa/Containers/Record.h>
12 
13 namespace dp3 {
14 namespace parmdb {
15 
18 
20 
25 //
34 //
39  public:
41  typedef std::shared_ptr<ParmFacadeRep> ShPtr;
42 
44  virtual ~ParmFacadeRep();
45 
50  virtual std::vector<double> getRange(
51  const std::string& parmNamePattern) const = 0;
52 
55  virtual std::vector<std::string> getNames(const std::string& parmNamePattern,
56  bool includeDefaults) const = 0;
57 
60  virtual std::vector<std::string> getDefNames(
61  const std::string& parmNamePattern) const = 0;
62 
64  virtual casacore::Record getDefValues(
65  const std::string& parmNamePattern) const = 0;
66 
71  virtual void addDefValues(const casacore::Record&, bool check = true) = 0;
72 
74  virtual void deleteDefValues(const std::string& parmNamePattern) = 0;
75 
79  virtual casacore::Record getValues(const std::string& parmNamePattern,
80  double freqv1, double freqv2,
81  double freqStep, double timev1,
82  double timev2, double timeStep,
83  bool asStartEnd, bool includeDefaults) = 0;
84 
88  virtual casacore::Record getValues(const std::string& parmNamePattern,
89  const std::vector<double>& freqv1,
90  const std::vector<double>& freqv2,
91  const std::vector<double>& timev1,
92  const std::vector<double>& timev2,
93  bool asStartEnd, bool includeDefaults) = 0;
94 
101  virtual casacore::Record getValuesGrid(const std::string& parmNamePattern,
102  double freqv1, double freqv2,
103  double timev1, double timev2,
104  bool asStartEnd) = 0;
105 
107  virtual casacore::Record getCoeff(const std::string& parmNamePattern,
108  double freqv1, double freqv2, double timev1,
109  double timev2, bool asStartEnd) = 0;
110 
112  virtual void flush(bool fsync) = 0;
113 
118  virtual void lock(bool lockForWrite) = 0;
119  virtual void unlock() = 0;
121 
123  virtual void clearTables() = 0;
124 
126  virtual void setDefaultSteps(const std::vector<double>&) = 0;
127 
129  virtual void deleteValues(const std::string& parmNamePattern, double freqv1,
130  double freqv2, double timev1, double timev2,
131  bool asStartEnd) = 0;
132 
135 
137  virtual std::vector<double> getDefaultSteps() const = 0;
138 
143  virtual void addValues(const casacore::Record&) = 0;
144 };
145 
147 
148 } // namespace parmdb
149 } // namespace dp3
150 
151 #endif
Base class for a table holding parameters.
Data access the parameter database.
Definition: ParmFacadeRep.h:38
virtual std::vector< std::string > getNames(const std::string &parmNamePattern, bool includeDefaults) const =0
virtual void lock(bool lockForWrite)=0
virtual std::vector< double > getDefaultSteps() const =0
Get the default step values for the axes.
virtual void unlock()=0
virtual void clearTables()=0
Clear the tables, thus remove all parameter values and default values.
virtual std::vector< std::string > getDefNames(const std::string &parmNamePattern) const =0
virtual ~ParmFacadeRep()
The destructor disconnects.
virtual void addDefValues(const casacore::Record &, bool check=true)=0
virtual void addValues(const casacore::Record &)=0
virtual casacore::Record getValuesGrid(const std::string &parmNamePattern, double freqv1, double freqv2, double timev1, double timev2, bool asStartEnd)=0
virtual casacore::Record getCoeff(const std::string &parmNamePattern, double freqv1, double freqv2, double timev1, double timev2, bool asStartEnd)=0
Get coefficients, errors, and domains they belong to.
virtual 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, bool includeDefaults)=0
virtual casacore::Record getDefValues(const std::string &parmNamePattern) const =0
Get the default values of parameters matching the pattern.
virtual void deleteDefValues(const std::string &parmNamePattern)=0
Delete the default value records for the given parameters.
virtual void deleteValues(const std::string &parmNamePattern, double freqv1, double freqv2, double timev1, double timev2, bool asStartEnd)=0
Delete the records for the given parameters and domain.
std::shared_ptr< ParmFacadeRep > ShPtr
Define a shared_ptr for this class.
Definition: ParmFacadeRep.h:41
virtual std::vector< double > getRange(const std::string &parmNamePattern) const =0
virtual void flush(bool fsync)=0
Flush possible changes to disk.
virtual void setDefaultSteps(const std::vector< double > &)=0
Set the default step values.
virtual casacore::Record getValues(const std::string &parmNamePattern, double freqv1, double freqv2, double freqStep, double timev1, double timev2, double timeStep, bool asStartEnd, bool includeDefaults)=0
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53