21#include <ext_data_client.h>
22#include <fairlogger/Logger.h>
31 return source->FindReaderIf([item_name](
R3BReader* reader)
44 R3BLOG(debug2, fmt::format(
"Checking ucesb struct item {:?}.", item->
_var_name));
52 fmt::format(
"Failed to map the item {} required from {} due to the map flag: {}",
54 required_reader->GetName(),
61 R3BLOG(debug,
"Checking struct mapping.");
63 auto is_checking_ok =
true;
66 for (
auto* item = struct_info->_items; item !=
nullptr; item = item->_next_off_item)
71 if (not is_checking_ok)
79 R3BLOG(error,
"ext_data_clnt::setup() failed to map all items:");
81 if (fair::Logger::GetConsoleSeverity() < fair::Severity::info)
87 throw R3B::runtime_error(
"ext_data_clnt::setup() mapping failure may cause unexpected analysis results "
88 "due to missing data members. Unpacker needs fixing.\n\n\n");
#define R3BLOG(severity, x)
bool check_struct_item(ext_data_structure_item *item, UcesbSource *source)
void CheckStructMapping(UcesbSource *source)
ext_data_struct_info struct_info_
UcesbMap map_success_conditions_
virtual bool MismappedItemRequired(std::string_view) const
auto check_struct_item_requried(std::string_view item_name, UcesbSource *source) -> R3BReader *
std::underlying_type< UcesbMap >::type UcesbMapUType