LSSTApplications  11.0-22-g33de520,13.0+4,13.0+72,13.0-1-g46ffeb4+33,13.0-1-g47a359c+13,13.0-10-gbb93d41+29,13.0-12-g0251d74+22,13.0-12-gaf0c0ec+7,13.0-13-gd4b2922+21,13.0-14-g9415442+37,13.0-18-gc4ad422+6,13.0-2-g167564e+9,13.0-2-g50559bf,13.0-22-g3839dbb+22,13.0-26-g0f127ff+4,13.0-3-g3542790+8,13.0-3-g520d906+1,13.0-31-g48013df,13.0-4-g4231ded+8,13.0-42-g52e9227+2,13.0-5-g2a40766+1,13.0-52-g022e0bf+6,13.0-6-g08b5043,13.0-6-geef1ef2+6,13.0-8-gb7ca535,13.0-94-ga1c4440,master-gada5ecbbff+5,master-gf6b1fd7af3+2
LSSTDataManagementBasePackage
Utils.h
Go to the documentation of this file.
1 // -*- lsst-c++ -*-
2 
3 /*
4  * LSST Data Management System
5  * Copyright 2008, 2009, 2010 LSST Corporation.
6  *
7  * This product includes software developed by the
8  * LSST Project (http://www.lsst.org/).
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the LSST License Statement and
21  * the GNU General Public License along with this program. If not,
22  * see <http://www.lsstcorp.org/LegalNotices/>.
23  */
24 
25 //
26 //##====---------------- ----------------====##/
27 //
28 // Formatting utilities
29 //
30 //##====---------------- ----------------====##/
31 
32 #ifndef LSST_AFW_FORMATTERS_UTILS_H
33 #define LSST_AFW_FORMATTERS_UTILS_H
34 
35 #include <set>
36 #include <string>
37 
38 #include "lsst/base.h"
39 #include "lsst/daf/base.h"
40 
41 namespace lsst {
42 namespace daf {
43 namespace base {
44 class PropertySet;
45 }
46 namespace persistence {
47 class LogicalLocation;
48 }
49 }
50 namespace pex {
51 namespace policy {
52 class Policy;
53 }
54 }
55 namespace afw {
56 namespace formatters {
57 
62 bool extractOptionalFlag(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties,
63  std::string const& name);
64 
72 std::string const getItemName(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
73 
89 std::string const getTableName(std::shared_ptr<lsst::pex::policy::Policy const> const& policy,
90  std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
91 
114 std::vector<std::string> getAllSliceTableNames(
115  std::shared_ptr<lsst::pex::policy::Policy const> const& policy,
116  std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
117 
128  std::shared_ptr<lsst::pex::policy::Policy const> const& policy,
129  std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
130 
133  std::shared_ptr<lsst::pex::policy::Policy const> const& policy,
134  std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
135 
136 int extractSliceId(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
137 int64_t extractFpaExposureId(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
138 int64_t extractCcdExposureId(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
139 int64_t extractAmpExposureId(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
140 int extractVisitId(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
141 int extractCcdId(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
142 int extractAmpId(std::shared_ptr<lsst::daf::base::PropertySet const> const& properties);
143 
155 std::string formatFitsProperties(lsst::daf::base::PropertySet const& prop);
167  std::set<std::string> const& excludeNames = {});
169 
170 }
171 }
172 } // namespace lsst::afw::formatters
173 
174 #endif // LSST_AFW_FORMATTERS_UTILS_H
int64_t extractFpaExposureId(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
Basic LSST definitions.
bool extractOptionalFlag(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties, std::string const &name)
Returns true if and only if properties is non-null and contains a unique property with the given name...
int64_t extractAmpExposureId(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
int64_t extractCcdExposureId(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
int extractAmpId(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
table::Key< std::string > name
Definition: ApCorrMap.cc:71
Class for storing ordered metadata with comments.
Definition: PropertyList.h:82
Class for logical location of a persisted Persistable instance.
a container for holding hierarchical configuration data in memory.
Definition: Policy.h:169
void dropAllSliceTables(lsst::daf::persistence::LogicalLocation const &location, std::shared_ptr< lsst::pex::policy::Policy const > const &policy, std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
Drops the database table(s) identified by getAllSliceTables().
std::string const getItemName(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
Extracts and returns the string-valued &quot;itemName&quot; property from the given data property object...
int extractCcdId(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
std::string formatFitsProperties(lsst::daf::base::PropertySet const &prop)
Format a PropertySet into a single FITS header string.
Definition: Utils.cc:270
int countFitsHeaderCards(lsst::daf::base::PropertySet const &prop)
Definition: Utils.cc:286
void createTable(lsst::daf::persistence::LogicalLocation const &location, std::shared_ptr< lsst::pex::policy::Policy const > const &policy, std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
Creates the table identified by calling getTableName() with the given policy and properties.
Class for storing generic metadata.
Definition: PropertySet.h:82
int extractSliceId(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
std::string const getTableName(std::shared_ptr< lsst::pex::policy::Policy const > const &policy, std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
Returns the name of the table that a single slice of a pipeline involved in the processing of a singl...
int extractVisitId(std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
std::vector< std::string > getAllSliceTableNames(std::shared_ptr< lsst::pex::policy::Policy const > const &policy, std::shared_ptr< lsst::daf::base::PropertySet const > const &properties)
Stores the name of the table that each slice of a pipeline involved in processing a visit used for pe...