CARMA C++
FluxCatalog.h
Go to the documentation of this file.
1 
9 #ifndef CARMA_SERVICES_FLUXCATALOG_H
10 #define CARMA_SERVICES_FLUXCATALOG_H
11 
12 #include "carma/services/Catalog.h"
14 #include "carma/util/Program.h"
15 #include <map>
16 
17 namespace carma {
18 namespace services {
19  class Frequency; // forward decl
20  class FluxCatalog : public carma::services::Catalog {
21  public:
23  FluxCatalog();
25  virtual ~FluxCatalog();
26 
32  void open(const std::string& fileName);
33 
46  const carma::services::FluxSource& lookup(const std::string& sourceName);
47 
72  const carma::services::FluxSource& lookup(
73  const std::string& sourceName,
74  const Frequency& freq,
75  const Frequency& deltaFreq,
76  float deltaDays);
82  static const std::string defaultCatalog() {
83  return carma::util::Program::getConfFile(DEFAULT_CATALOG);
84  }
85 
90  ::std::multimap< ::std::string, carma::services::FluxSource >
91  getSourceMap() const
92  {
93  return fluxSources_;
94  }
95 
96 
97 
98  private:
99  // this is a multimap because we have multiple entries for
100  // the same source name key.
101  std::multimap<std::string, carma::services::FluxSource> fluxSources_;
102  std::vector<carma::services::FluxSource> finalMatches_;
103  static const std::string DEFAULT_CATALOG;
104  const Frequency zeroFreq_;
105  };
106 } // end namespace services
107 } // end namespace carma
108 
109 #endif
FluxSource holds a measurement of a flux calibrator source.
Definition: FluxSource.h:26
::std::string getConfFile(const ::std::string &filename)
Get the absolute path of a configuration file.