1 #ifndef art_Framework_Services_System_FileCatalogMetadata_h 2 #define art_Framework_Services_System_FileCatalogMetadata_h 31 #include <unordered_map> 35 class FileCatalogMetadata;
36 class ActivityRegistry;
56 "This list specifies the metadata that is inherited\n" 57 "from the input file. Currently only the run type and\n" 58 "file type metadata can be inherited. The default list is empty."),
59 std::vector<std::string>{}};
69 fhicl::Comment(
"Can specify 'fileType' only if it is not specified\n" 70 "in the 'metadataFromInput' list."),
76 fhicl::Comment(
"Can specify 'runType' only if it is not specified\n" 77 "in the 'metadataFromInput' list."),
112 for (
auto const&
pr : coll) {
115 orderedmd_.emplace_back(
pr);
129 for (
auto const&
pr : fromInput) {
130 auto it = inputmd_.find(
pr.first);
131 if (
it == cend(inputmd_)) {
133 <<
"Metadata key " <<
pr.first
134 <<
" missing from list of metadata to inherit from input files.\n";
135 }
else if (
it->second !=
pr.second) {
137 <<
"The value for '" <<
pr.first
138 <<
"' for the current file is: " <<
pr.second
139 <<
", which conflicts with the value from the first input file (\"" 140 <<
it->second <<
"\").\n";
147 std::unordered_map<std::string, std::string>
inputmd_;
150 std::unique_ptr<InheritedMetadata>
imd_{};
184 imd_->check_values(mdFromInput);
188 for (
auto const&
pr :
imd_->entries()) {
#define CET_ASSERT_ONLY_ONE_THREAD()
#define DECLARE_ART_SERVICE(svc, scope)
bool search_all(FwdCont const &, Datum const &)
const XML_Char int const XML_Char * value
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
auto copy_all(FwdCont &, FwdIter)
bool canonical_string(std::string const &str, std::string &result)
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...