DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::hdf5libs::HDF5SourceIDHandler Class Reference

#include <HDF5SourceIDHandler.hpp>

Public Types

typedef std::map< daqdataformats::SourceID, std::string > source_id_path_map_t
 
typedef std::map< daqdataformats::SourceID, std::vector< uint64_t > > source_id_geo_id_map_t
 
typedef std::map< daqdataformats::SourceID::Subsystem, std::set< daqdataformats::SourceID > > subsystem_source_id_map_t
 
typedef std::map< daqdataformats::FragmentType, std::set< daqdataformats::SourceID > > fragment_type_source_id_map_t
 
typedef std::map< detdataformats::DetID::Subdetector, std::set< daqdataformats::SourceID > > subdetector_source_id_map_t
 

Public Member Functions

 HDF5SourceIDHandler (const uint32_t version)
 Constructor.
 
void fetch_file_level_geo_id_info (const HighFive::File &h5_file, source_id_geo_id_map_t &the_map)
 
void fetch_record_level_geo_id_info (const HighFive::Group &record_group, source_id_geo_id_map_t &the_map)
 
daqdataformats::SourceID fetch_record_header_source_id (const HighFive::Group &record_group)
 
void fetch_source_id_path_info (const HighFive::Group &record_group, source_id_path_map_t &the_map)
 
void fetch_fragment_type_source_id_info (const HighFive::Group &record_group, fragment_type_source_id_map_t &the_map)
 
void fetch_subdetector_source_id_info (const HighFive::Group &record_group, subdetector_source_id_map_t &the_map)
 

Static Public Member Functions

static source_id_geo_id_map_t make_source_id_geo_id_map (const confmodel::Session *session)
 
static void store_file_level_geo_id_info (HighFive::File &h5_file, const source_id_geo_id_map_t &the_map)
 
static void store_record_header_source_id (HighFive::Group &record_group, const daqdataformats::SourceID &source_id)
 
static void store_record_level_path_info (HighFive::Group &record_group, const source_id_path_map_t &the_map)
 
static void store_record_level_fragment_type_map (HighFive::Group &record_group, const fragment_type_source_id_map_t &the_map)
 
static void store_record_level_subdetector_map (HighFive::Group &record_group, const subdetector_source_id_map_t &the_map)
 
static void add_source_id_path_to_map (source_id_path_map_t &source_id_path_map, const daqdataformats::SourceID &source_id, const std::string &hdf5_path)
 
static void add_source_id_geo_id_to_map (source_id_geo_id_map_t &source_id_geo_id_map, const daqdataformats::SourceID &source_id, uint64_t geo_id)
 
static void add_fragment_type_source_id_to_map (fragment_type_source_id_map_t &fragment_type_source_id_map, const daqdataformats::FragmentType fragment_type, const daqdataformats::SourceID &source_id)
 
static void add_subdetector_source_id_to_map (subdetector_source_id_map_t &subdetector_source_id_map, const detdataformats::DetID::Subdetector subdetector, const daqdataformats::SourceID &source_id)
 
static void add_subsystem_source_id_to_map (subsystem_source_id_map_t &subsystem_source_id_map, const daqdataformats::SourceID::Subsystem subsystem, const daqdataformats::SourceID &source_id)
 

Static Private Member Functions

static std::string get_json_string (const daqdataformats::SourceID &source_id)
 
static std::string get_json_string (const source_id_path_map_t &source_id_path_map)
 
static std::string get_json_string (const source_id_geo_id_map_t &source_id_geo_id_map)
 
static std::string get_json_string (const fragment_type_source_id_map_t &fragment_type_source_id_map)
 
static std::string get_json_string (const subdetector_source_id_map_t &subdetector_source_id_map)
 
static void parse_json_string (const std::string &json_string, daqdataformats::SourceID &source_id)
 
static void parse_json_string (const std::string &json_string, source_id_path_map_t &source_id_path_map)
 
static void parse_json_string (const std::string &json_string, source_id_geo_id_map_t &source_id_geo_id_map)
 
static void parse_json_string (const std::string &json_string, fragment_type_source_id_map_t &fragment_type_source_id_map)
 
static void parse_json_string (const std::string &json_string, subdetector_source_id_map_t &subdetector_source_id_map)
 
template<typename C , typename T >
static void write_attribute (HighFive::AnnotateTraits< C > &h5annt, const std::string &name, T value)
 
template<typename C , typename T >
static T get_attribute (const HighFive::AnnotateTraits< C > &h5annt, const std::string &name)
 

Private Attributes

uint32_t m_version
 version number
 

Detailed Description

At the moment, this class is designed to handle different versions of translation (to/from strings) when reading data. For writing data, the interface is currently designed to only support the current version of the translation. If we ever decide to add support for writing of different versions, then the 'store' methods would become non-static.

Definition at line 45 of file HDF5SourceIDHandler.hpp.

Member Typedef Documentation

◆ fragment_type_source_id_map_t

◆ source_id_geo_id_map_t

◆ source_id_path_map_t

◆ subdetector_source_id_map_t

◆ subsystem_source_id_map_t

Constructor & Destructor Documentation

◆ HDF5SourceIDHandler()

dunedaq::hdf5libs::HDF5SourceIDHandler::HDF5SourceIDHandler ( const uint32_t version)
explicit

Constructor.

Definition at line 114 of file HDF5SourceIDHandler.cpp.

Member Function Documentation

◆ add_fragment_type_source_id_to_map()

void dunedaq::hdf5libs::HDF5SourceIDHandler::add_fragment_type_source_id_to_map ( fragment_type_source_id_map_t & fragment_type_source_id_map,
const daqdataformats::FragmentType fragment_type,
const daqdataformats::SourceID & source_id )
static

Adds the specified FragmentType and SourceId to the specified fragment_type_source_id map.

Definition at line 218 of file HDF5SourceIDHandler.cpp.

221{
222 if (fragment_type_source_id_map.count(fragment_type) == 0) {
223 std::set<daqdataformats::SourceID> tmp_set;
224 tmp_set.insert(source_id);
225 fragment_type_source_id_map[fragment_type] = tmp_set;
226 } else {
227 fragment_type_source_id_map[fragment_type].insert(source_id);
228 }
229}

◆ add_source_id_geo_id_to_map()

void dunedaq::hdf5libs::HDF5SourceIDHandler::add_source_id_geo_id_to_map ( source_id_geo_id_map_t & source_id_geo_id_map,
const daqdataformats::SourceID & source_id,
uint64_t geo_id )
static

Adds the specified SourceID and GeoID list to the specified source_id_geo_id map.

Definition at line 204 of file HDF5SourceIDHandler.cpp.

207{
208 if (source_id_geo_id_map.count(source_id) == 0) {
209 std::vector<uint64_t> tmp_vec; // NOLINT(build/unsigned)
210 tmp_vec.push_back(geo_id);
211 source_id_geo_id_map[source_id] = tmp_vec;
212 } else {
213 source_id_geo_id_map[source_id].push_back(geo_id);
214 }
215}

◆ add_source_id_path_to_map()

void dunedaq::hdf5libs::HDF5SourceIDHandler::add_source_id_path_to_map ( source_id_path_map_t & source_id_path_map,
const daqdataformats::SourceID & source_id,
const std::string & hdf5_path )
static

Adds the specified SourceID and HDF5 Path to the specified source_id_path map.

Definition at line 196 of file HDF5SourceIDHandler.cpp.

199{
200 source_id_path_map[source_id] = hdf5_path;
201}

◆ add_subdetector_source_id_to_map()

void dunedaq::hdf5libs::HDF5SourceIDHandler::add_subdetector_source_id_to_map ( subdetector_source_id_map_t & subdetector_source_id_map,
const detdataformats::DetID::Subdetector subdetector,
const daqdataformats::SourceID & source_id )
static

Adds the specified Subdetector and SourceId to the specified subdetector_source_id map.

Definition at line 232 of file HDF5SourceIDHandler.cpp.

235{
236 if (subdetector_source_id_map.count(subdetector) == 0) {
237 std::set<daqdataformats::SourceID> tmp_set;
238 tmp_set.insert(source_id);
239 subdetector_source_id_map[subdetector] = tmp_set;
240 } else {
241 subdetector_source_id_map[subdetector].insert(source_id);
242 }
243}

◆ add_subsystem_source_id_to_map()

void dunedaq::hdf5libs::HDF5SourceIDHandler::add_subsystem_source_id_to_map ( subsystem_source_id_map_t & subsystem_source_id_map,
const daqdataformats::SourceID::Subsystem subsystem,
const daqdataformats::SourceID & source_id )
static

Adds the specified Subsystem and SourceId to the specified subsystem_source_id map.

Definition at line 246 of file HDF5SourceIDHandler.cpp.

249{
250 if (subsystem_source_id_map.count(subsystem) == 0) {
251 std::set<daqdataformats::SourceID> tmp_set;
252 tmp_set.insert(source_id);
253 subsystem_source_id_map[subsystem] = tmp_set;
254 } else {
255 subsystem_source_id_map[subsystem].insert(source_id);
256 }
257}

◆ fetch_file_level_geo_id_info()

void dunedaq::hdf5libs::HDF5SourceIDHandler::fetch_file_level_geo_id_info ( const HighFive::File & h5_file,
source_id_geo_id_map_t & the_map )

Adds entries to the specified SourceID-to-GeoID map using information stored at the file level in the specified HighFive::File.

Definition at line 120 of file HDF5SourceIDHandler.cpp.

122{
123 if (m_version >= 3) {
124 try {
125 std::string map_string = get_attribute<HighFive::File, std::string>(h5_file, "source_id_geo_id_map");
126 parse_json_string(map_string, source_id_geo_id_map);
127 } catch (...) {
128 }
129 }
130}
static T get_attribute(const HighFive::AnnotateTraits< C > &h5annt, const std::string &name)
static void parse_json_string(const std::string &json_string, daqdataformats::SourceID &source_id)

◆ fetch_fragment_type_source_id_info()

void dunedaq::hdf5libs::HDF5SourceIDHandler::fetch_fragment_type_source_id_info ( const HighFive::Group & record_group,
fragment_type_source_id_map_t & the_map )

Adds entries to the specified FragmentType-to-SourceID map using information stored at the record level in the specified HighFive::Group.

Definition at line 170 of file HDF5SourceIDHandler.cpp.

172{
173 if (m_version >= 3) {
174 try {
175 std::string map_string = get_attribute<HighFive::Group, std::string>(record_group, "fragment_type_source_id_map");
176 parse_json_string(map_string, fragment_type_source_id_map);
177 } catch (...) {
178 }
179 }
180}

◆ fetch_record_header_source_id()

daqdataformats::SourceID dunedaq::hdf5libs::HDF5SourceIDHandler::fetch_record_header_source_id ( const HighFive::Group & record_group)

Fetches the record header SourceID using information stored at the record level in the specified HighFive::Group.

Definition at line 143 of file HDF5SourceIDHandler.cpp.

144{
145 daqdataformats::SourceID source_id;
146 if (m_version >= 3) {
147 try {
148 std::string sid_string = get_attribute<HighFive::Group, std::string>(record_group, "record_header_source_id");
149 parse_json_string(sid_string, source_id);
150 } catch (...) {
151 }
152 }
153 return source_id;
154}

◆ fetch_record_level_geo_id_info()

void dunedaq::hdf5libs::HDF5SourceIDHandler::fetch_record_level_geo_id_info ( const HighFive::Group & record_group,
source_id_geo_id_map_t & the_map )

Adds entries to the specified SourceID-to-GeoID map using information stored at the record level in the specified HighFive::Group.

Definition at line 133 of file HDF5SourceIDHandler.cpp.

135{
136 // In versions 3 and 4, there is no record-level geo_id information stored in the file
137 if (m_version >= 3) {
138 return;
139 }
140}

◆ fetch_source_id_path_info()

void dunedaq::hdf5libs::HDF5SourceIDHandler::fetch_source_id_path_info ( const HighFive::Group & record_group,
source_id_path_map_t & the_map )

Adds entries to the specified SourceID-to-HDF5-Path map using information stored at the record level in the specified HighFive::Group.

Definition at line 157 of file HDF5SourceIDHandler.cpp.

159{
160 if (m_version >= 3) {
161 try {
162 std::string map_string = get_attribute<HighFive::Group, std::string>(record_group, "source_id_path_map");
163 parse_json_string(map_string, source_id_path_map);
164 } catch (...) {
165 }
166 }
167}

◆ fetch_subdetector_source_id_info()

void dunedaq::hdf5libs::HDF5SourceIDHandler::fetch_subdetector_source_id_info ( const HighFive::Group & record_group,
subdetector_source_id_map_t & the_map )

Adds entries to the specified Subdetector-to-SourceID map using information stored at the record level in the specified HighFive::Group.

Definition at line 183 of file HDF5SourceIDHandler.cpp.

185{
186 if (m_version >= 3) {
187 try {
188 std::string map_string = get_attribute<HighFive::Group, std::string>(record_group, "subdetector_source_id_map");
189 parse_json_string(map_string, subdetector_source_id_map);
190 } catch (...) {
191 }
192 }
193}

◆ get_attribute()

template<typename C , typename T >
T dunedaq::hdf5libs::HDF5SourceIDHandler::get_attribute ( const HighFive::AnnotateTraits< C > & h5annt,
const std::string & name )
staticprivate

Fetches the attribute with the specified name from the specified HightFive File or Group.

Definition at line 240 of file HDF5SourceIDHandler.hpp.

241{
242 // if (!h5annt.hasAttribute(name)) {
243 // throw InvalidHDF5Attribute(ERS_HERE, name);
244 // }
245 auto attr = h5annt.getAttribute(name);
246 T value;
247 attr.read(value);
248 return value;
249}

◆ get_json_string() [1/5]

std::string dunedaq::hdf5libs::HDF5SourceIDHandler::get_json_string ( const daqdataformats::SourceID & source_id)
staticprivate

Produces the JSON string that corresponds to the specified source_id

Definition at line 260 of file HDF5SourceIDHandler.cpp.

261{
262 nlohmann::json json_struct;
263 json_struct["subsys"] = static_cast<uint32_t>(source_id.subsystem); // NOLINT(build/unsigned)
264 json_struct["id"] = source_id.id;
265 return json_struct.dump();
266}

◆ get_json_string() [2/5]

static std::string dunedaq::hdf5libs::HDF5SourceIDHandler::get_json_string ( const fragment_type_source_id_map_t & fragment_type_source_id_map)
staticprivate

Produces the JSON string that corresponds to the specified fragment_type_source_id map

◆ get_json_string() [3/5]

std::string dunedaq::hdf5libs::HDF5SourceIDHandler::get_json_string ( const source_id_geo_id_map_t & source_id_geo_id_map)
staticprivate

Produces the JSON string that corresponds to the specified source_id_geo_id map

Definition at line 283 of file HDF5SourceIDHandler.cpp.

284{
285 nlohmann::json json_struct;
286 for (auto const& map_element : the_map) {
287 nlohmann::json json_geo_id_list;
288 for (auto const& geo_id_from_map : map_element.second) {
289 json_geo_id_list.push_back(geo_id_from_map);
290 }
291 nlohmann::json json_element;
292 json_element["subsys"] = static_cast<uint32_t>(map_element.first.subsystem); // NOLINT(build/unsigned)
293 json_element["id"] = map_element.first.id;
294 json_element["geoids"] = json_geo_id_list;
295 json_struct["map_entries"].push_back(json_element);
296 }
297 return json_struct.dump();
298}

◆ get_json_string() [4/5]

std::string dunedaq::hdf5libs::HDF5SourceIDHandler::get_json_string ( const source_id_path_map_t & source_id_path_map)
staticprivate

Produces the JSON string that corresponds to the specified source_id_path map

Definition at line 269 of file HDF5SourceIDHandler.cpp.

270{
271 nlohmann::json json_struct;
272 for (auto const& map_element : the_map) {
273 nlohmann::json json_element;
274 json_element["subsys"] = static_cast<uint32_t>(map_element.first.subsystem); // NOLINT(build/unsigned)
275 json_element["id"] = map_element.first.id;
276 json_element["path"] = map_element.second;
277 json_struct["map_entries"].push_back(json_element);
278 }
279 return json_struct.dump();
280}

◆ get_json_string() [5/5]

static std::string dunedaq::hdf5libs::HDF5SourceIDHandler::get_json_string ( const subdetector_source_id_map_t & subdetector_source_id_map)
staticprivate

Produces the JSON string that corresponds to the specified subdetector_source_id map

◆ make_source_id_geo_id_map()

HDF5SourceIDHandler::source_id_geo_id_map_t dunedaq::hdf5libs::HDF5SourceIDHandler::make_source_id_geo_id_map ( const confmodel::Session * session)
static

Definition at line 30 of file HDF5SourceIDHandler.cpp.

31{
33
34 for (auto& app : session->get_all_applications()) {
35 auto ro_app = app->cast<appmodel::ReadoutApplication>();
36 if (!ro_app)
37 continue;
38
39 for (auto d2d_conn_res : ro_app->get_contains()) {
40
41 // Are we sure?
42 if (d2d_conn_res->disabled(*session)) {
43 TLOG_DEBUG(7) << "Ignoring disabled DetectorToDaqConnection " << d2d_conn_res->UID();
44 continue;
45 }
46
47 TLOG() << "Processing DetectorToDaqConnection " << d2d_conn_res->UID();
48 // get the readout groups and the interfaces and streams therein; 1 reaout group corresponds to 1 data reader
49 // module
50 auto d2d_conn = d2d_conn_res->cast<confmodel::DetectorToDaqConnection>();
51
52 if (!d2d_conn) {
53 continue;
54 }
55
56 // Loop over senders
57 for (auto dros : d2d_conn->get_streams()) {
58
59 // Are we sure?
60 if (dros->disabled(*session)) {
61 TLOG_DEBUG(7) << "Ignoring disabled DetectorStream " << dros->UID();
62 continue;
63 }
64 auto stream = dros->cast<confmodel::DetectorStream>();
65 if (!stream)
66 continue;
67 auto geoid = stream->get_geo_id();
68 auto geoid_int =
69 encode_geoid(geoid->get_detector_id(), geoid->get_crate_id(), geoid->get_slot_id(), geoid->get_stream_id());
70 daqdataformats::SourceID sid;
72 sid.id = stream->get_source_id();
73
74 output_map[sid].push_back(geoid_int);
75 }
76 }
77 }
78 return output_map;
79}
std::map< daqdataformats::SourceID, std::vector< uint64_t > > source_id_geo_id_map_t
#define TLOG_DEBUG(lvl,...)
Definition Logging.hpp:112
#define TLOG(...)
Definition macro.hpp:22
uint64_t encode_geoid(int det_id, int crate_id, int slot_id, int stream_id)

◆ parse_json_string() [1/5]

void dunedaq::hdf5libs::HDF5SourceIDHandler::parse_json_string ( const std::string & json_string,
daqdataformats::SourceID & source_id )
staticprivate

Parses the specified JSON string into the specified source_id

Definition at line 341 of file HDF5SourceIDHandler.cpp.

342{
343 nlohmann::json json_struct = nlohmann::json::parse(json_string);
344 daqdataformats::SourceID::Subsystem subsys = static_cast<daqdataformats::SourceID::Subsystem>(json_struct["subsys"]);
345 daqdataformats::SourceID::ID_t id = static_cast<daqdataformats::SourceID::ID_t>(json_struct["id"]);
346 source_id.subsystem = subsys;
347 source_id.id = id;
348}
Subsystem
The Subsystem enum describes the kind of source we're dealing with.
Definition SourceID.hpp:43

◆ parse_json_string() [2/5]

static void dunedaq::hdf5libs::HDF5SourceIDHandler::parse_json_string ( const std::string & json_string,
fragment_type_source_id_map_t & fragment_type_source_id_map )
staticprivate

Parses the specified JSON string into the specified fragment_type_source_id_map

◆ parse_json_string() [3/5]

void dunedaq::hdf5libs::HDF5SourceIDHandler::parse_json_string ( const std::string & json_string,
source_id_geo_id_map_t & source_id_geo_id_map )
staticprivate

Parses the specified JSON string into the specified source_id_geo_id map

Definition at line 364 of file HDF5SourceIDHandler.cpp.

365{
366 nlohmann::json json_struct = nlohmann::json::parse(json_string);
367 for (auto const& json_element : json_struct["map_entries"]) {
369 static_cast<daqdataformats::SourceID::Subsystem>(json_element["subsys"]);
370 daqdataformats::SourceID::ID_t id = static_cast<daqdataformats::SourceID::ID_t>(json_element["id"]);
371 daqdataformats::SourceID source_id(subsys, id);
372 std::vector<uint64_t> local_geo_id_list; // NOLINT(build/unsigned)
373 nlohmann::json json_geo_id_list = json_element["geoids"];
374 for (nlohmann::json json_geo_id_value : json_geo_id_list) {
375 local_geo_id_list.push_back(json_geo_id_value);
376 }
377 source_id_geo_id_map[source_id] = local_geo_id_list;
378 }
379}

◆ parse_json_string() [4/5]

void dunedaq::hdf5libs::HDF5SourceIDHandler::parse_json_string ( const std::string & json_string,
source_id_path_map_t & source_id_path_map )
staticprivate

Parses the specified JSON string into the specified source_id_path map

Definition at line 351 of file HDF5SourceIDHandler.cpp.

352{
353 nlohmann::json json_struct = nlohmann::json::parse(json_string);
354 for (auto const& json_element : json_struct["map_entries"]) {
356 static_cast<daqdataformats::SourceID::Subsystem>(json_element["subsys"]);
357 daqdataformats::SourceID::ID_t id = static_cast<daqdataformats::SourceID::ID_t>(json_element["id"]);
358 daqdataformats::SourceID source_id(subsys, id);
359 source_id_path_map[source_id] = json_element["path"];
360 }
361}

◆ parse_json_string() [5/5]

static void dunedaq::hdf5libs::HDF5SourceIDHandler::parse_json_string ( const std::string & json_string,
subdetector_source_id_map_t & subdetector_source_id_map )
staticprivate

Parses the specified JSON string into the specified subdetector_source_id_map

◆ store_file_level_geo_id_info()

void dunedaq::hdf5libs::HDF5SourceIDHandler::store_file_level_geo_id_info ( HighFive::File & h5_file,
const source_id_geo_id_map_t & the_map )
static

Stores the map from SourceID to GeoID in the specified HighFive::File.

Definition at line 82 of file HDF5SourceIDHandler.cpp.

83{
84 write_attribute(h5_file, "source_id_geo_id_map", get_json_string(the_map));
85}
static void write_attribute(HighFive::AnnotateTraits< C > &h5annt, const std::string &name, T value)
static std::string get_json_string(const daqdataformats::SourceID &source_id)

◆ store_record_header_source_id()

void dunedaq::hdf5libs::HDF5SourceIDHandler::store_record_header_source_id ( HighFive::Group & record_group,
const daqdataformats::SourceID & source_id )
static

Stores the SourceID of the record header DataSet in the specified HighFive::Group.

Definition at line 88 of file HDF5SourceIDHandler.cpp.

90{
91 write_attribute(record_group, "record_header_source_id", get_json_string(source_id));
92}

◆ store_record_level_fragment_type_map()

void dunedaq::hdf5libs::HDF5SourceIDHandler::store_record_level_fragment_type_map ( HighFive::Group & record_group,
const fragment_type_source_id_map_t & the_map )
static

Stores the map from FragmentType to SourceID in the specified HighFive::Group.

Definition at line 101 of file HDF5SourceIDHandler.cpp.

103{
104 write_attribute(record_group, "fragment_type_source_id_map", get_json_string(the_map));
105}

◆ store_record_level_path_info()

void dunedaq::hdf5libs::HDF5SourceIDHandler::store_record_level_path_info ( HighFive::Group & record_group,
const source_id_path_map_t & the_map )
static

Stores the map from SourceID to HDF5 Path in the specified HighFive::Group.

Definition at line 95 of file HDF5SourceIDHandler.cpp.

96{
97 write_attribute(record_group, "source_id_path_map", get_json_string(the_map));
98}

◆ store_record_level_subdetector_map()

void dunedaq::hdf5libs::HDF5SourceIDHandler::store_record_level_subdetector_map ( HighFive::Group & record_group,
const subdetector_source_id_map_t & the_map )
static

Stores the map from DetID::Subdetector to SourceID in the specified HighFive::Group.

Definition at line 108 of file HDF5SourceIDHandler.cpp.

110{
111 write_attribute(record_group, "subdetector_source_id_map", get_json_string(the_map));
112}

◆ write_attribute()

template<typename C , typename T >
void dunedaq::hdf5libs::HDF5SourceIDHandler::write_attribute ( HighFive::AnnotateTraits< C > & h5annt,
const std::string & name,
T value )
staticprivate

Writes the specified attribute name and value to the specified HightFive File or Group.

Definition at line 230 of file HDF5SourceIDHandler.hpp.

231{
232 if (!(h5annt.hasAttribute(name)))
233 h5annt.createAttribute(name, value);
234 // else
235 // ers::warning(HDF5AttributeExists(ERS_HERE, name));
236}

Member Data Documentation

◆ m_version

uint32_t dunedaq::hdf5libs::HDF5SourceIDHandler::m_version
private

version number

Definition at line 163 of file HDF5SourceIDHandler.hpp.


The documentation for this class was generated from the following files: