DP3
SourceDBSkymodel.h
Go to the documentation of this file.
1 // Copyright (C) 2021 ASTRON (Netherlands Institute for Radio Astronomy)
2 // SPDX-License-Identifier: GPL-3.0-or-later
3 
4 #ifndef DP3_PARMDB_SOURCEDBSKYMODEL_H
5 #define DP3_PARMDB_SOURCEDBSKYMODEL_H
6 
7 #include "SourceDB.h"
8 
9 namespace dp3 {
10 namespace parmdb {
11 
14 
15 class SourceDBSkymodel final : public SourceDBBase {
16  public:
17  void addSource(const SourceInfo& source_info, const std::string& patch_name,
18  int cat_type, double apparent_brightness,
19  const ParmMap& default_parameters, double ra, double dec,
20  bool check) override;
21 
22  void addSource(const SourceInfo& source_info, const std::string& patch_name,
23  const ParmMap& default_parameters, double ra, double dec,
24  bool check) override;
25 
29  unsigned addPatch(const std::string& patch_name, int cat_type,
30  double apparent_brightness, double ra, double dec,
31  bool check) override;
32 
33  void updatePatch(unsigned patch_id, double apparent_brightness, double ra,
34  double dec) override;
35 
36  std::vector<std::string> FindPatches(const std::string& pattern) const;
37  const std::vector<PatchInfo>& GetPatches() const { return patches_; }
38 
39  const PatchInfo& GetPatch(const std::string& patch_name) const;
40  const std::vector<SourceData>& GetSources() const { return sources_; }
41 
42  private:
43  std::vector<PatchInfo> patches_;
44 
45  std::map<std::string, unsigned> patches_lut_;
46 
47  void ValidatePatchName(const std::string& patch_name) const;
48  unsigned GetPatchRowId(const std::string& patch_name) const;
49 
50  std::vector<SourceData> sources_;
51 };
52 
54 
55 } // namespace parmdb
56 } // namespace dp3
57 
58 #endif
Base class for a table holding sources and their parameters.
A map of parameter name to value set.
Definition: ParmMap.h:30
Info about a patch.
Definition: PatchInfo.h:29
Definition: SourceDB.h:157
Definition: SourceDBSkymodel.h:15
std::vector< std::string > FindPatches(const std::string &pattern) const
void addSource(const SourceInfo &source_info, const std::string &patch_name, int cat_type, double apparent_brightness, const ParmMap &default_parameters, double ra, double dec, bool check) override
const std::vector< PatchInfo > & GetPatches() const
Definition: SourceDBSkymodel.h:37
unsigned addPatch(const std::string &patch_name, int cat_type, double apparent_brightness, double ra, double dec, bool check) override
const PatchInfo & GetPatch(const std::string &patch_name) const
const std::vector< SourceData > & GetSources() const
Definition: SourceDBSkymodel.h:40
void addSource(const SourceInfo &source_info, const std::string &patch_name, const ParmMap &default_parameters, double ra, double dec, bool check) override
void updatePatch(unsigned patch_id, double apparent_brightness, double ra, double dec) override
Info about a source.
Definition: SourceInfo.h:29
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53