Alexandria  2.25.0
SDC-CH common library for the Euclid project
PhotometricBandMappingConfig.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2021 Euclid Science Ground Segment
3  *
4  * This library is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU Lesser General Public License as published by the Free
6  * Software Foundation; either version 3.0 of the License, or (at your option)
7  * any later version.
8  *
9  * This library is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
25 #ifndef _CONFIGURATION_PHOTOMETRICBANDMAPPINGCONFIG_H
26 #define _CONFIGURATION_PHOTOMETRICBANDMAPPINGCONFIG_H
27 
28 #include <boost/filesystem.hpp>
29 #include <string>
30 #include <utility>
31 #include <vector>
32 
33 #include "Configuration.h"
34 
35 namespace Euclid {
36 namespace Configuration {
37 
46 
47 public:
51 
53  explicit PhotometricBandMappingConfig(long manager_id);
54 
58  virtual ~PhotometricBandMappingConfig() = default;
59 
77 
92  void initialize(const UserValues& args) override;
93 
107  void setBaseDir(const boost::filesystem::path& base_dir);
108 
119 
130 
141 
151  const boost::filesystem::path getMappingFile();
152 
153 private:
154  boost::filesystem::path m_base_dir;
155  boost::filesystem::path m_mapping_file;
159 
160 }; /* End of PhotometricBandMappingConfig class */
161 
162 } /* namespace Configuration */
163 } /* namespace Euclid */
164 
165 #endif
Superclass of all configuration classes.
Definition: Configuration.h:45
Configuration class which provides the information of the mapping between photometric bands and colum...
const boost::filesystem::path getMappingFile()
Returns the mapping file to be used by other configuration class.
const MappingMap & getPhotometricBandMapping()
Returns the list of the photometric band mapping which will be red from the catalog.
std::map< std::string, OptionDescriptionList > getProgramOptions() override
Returns the program options defined by the PhotometryCatalogConfig.
virtual ~PhotometricBandMappingConfig()=default
Destructor.
const UpperLimitThresholdMap & getUpperLimitThresholdMapping()
Returns the mapping of threshold used in the upper limit computation which will be red from the catal...
PhotometricBandMappingConfig(long manager_id)
Constructs a new PhotometricBandMappingConfig object.
void initialize(const UserValues &args) override
It initializes the photometric bands list.
void setBaseDir(const boost::filesystem::path &base_dir)
Sets the directory used when resolving relative paths.
const ConvertFromMagMap & getConvertFromMagMapping()
Returns the mapping of the flag indicating if the photometry has to be computed from a MAG_AB.