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

Definition at line 49 of file HDF5SourceIDHandler.hpp.

◆ 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 108 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 212 of file HDF5SourceIDHandler.cpp.

215{
216 if (fragment_type_source_id_map.count(fragment_type) == 0) {
217 std::set<daqdataformats::SourceID> tmp_set;
218 tmp_set.insert(source_id);
219 fragment_type_source_id_map[fragment_type] = tmp_set;
220 } else {
221 fragment_type_source_id_map[fragment_type].insert(source_id);
222 }
223}

◆ 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 198 of file HDF5SourceIDHandler.cpp.

201{
202 if (source_id_geo_id_map.count(source_id) == 0) {
203 std::vector<uint64_t> tmp_vec; // NOLINT(build/unsigned)
204 tmp_vec.push_back(geo_id);
205 source_id_geo_id_map[source_id] = tmp_vec;
206 } else {
207 source_id_geo_id_map[source_id].push_back(geo_id);
208 }
209}

◆ 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 190 of file HDF5SourceIDHandler.cpp.

193{
194 source_id_path_map[source_id] = hdf5_path;
195}

◆ 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 226 of file HDF5SourceIDHandler.cpp.

229{
230 if (subdetector_source_id_map.count(subdetector) == 0) {
231 std::set<daqdataformats::SourceID> tmp_set;
232 tmp_set.insert(source_id);
233 subdetector_source_id_map[subdetector] = tmp_set;
234 } else {
235 subdetector_source_id_map[subdetector].insert(source_id);
236 }
237}

◆ 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 240 of file HDF5SourceIDHandler.cpp.

243{
244 if (subsystem_source_id_map.count(subsystem) == 0) {
245 std::set<daqdataformats::SourceID> tmp_set;
246 tmp_set.insert(source_id);
247 subsystem_source_id_map[subsystem] = tmp_set;
248 } else {
249 subsystem_source_id_map[subsystem].insert(source_id);
250 }
251}

◆ 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 114 of file HDF5SourceIDHandler.cpp.

116{
117 if (m_version >= 3) {
118 try {
119 std::string map_string = get_attribute<HighFive::File, std::string>(h5_file, "source_id_geo_id_map");
120 parse_json_string(map_string, source_id_geo_id_map);
121 } catch (...) {
122 }
123 }
124}
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 164 of file HDF5SourceIDHandler.cpp.

166{
167 if (m_version >= 3) {
168 try {
169 std::string map_string = get_attribute<HighFive::Group, std::string>(record_group, "fragment_type_source_id_map");
170 parse_json_string(map_string, fragment_type_source_id_map);
171 } catch (...) {
172 }
173 }
174}

◆ 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 137 of file HDF5SourceIDHandler.cpp.

138{
139 daqdataformats::SourceID source_id;
140 if (m_version >= 3) {
141 try {
142 std::string sid_string = get_attribute<HighFive::Group, std::string>(record_group, "record_header_source_id");
143 parse_json_string(sid_string, source_id);
144 } catch (...) {
145 }
146 }
147 return source_id;
148}

◆ 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 127 of file HDF5SourceIDHandler.cpp.

129{
130 // In versions 3 and 4, there is no record-level geo_id information stored in the file
131 if (m_version >= 3) {
132 return;
133 }
134}

◆ 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 151 of file HDF5SourceIDHandler.cpp.

153{
154 if (m_version >= 3) {
155 try {
156 std::string map_string = get_attribute<HighFive::Group, std::string>(record_group, "source_id_path_map");
157 parse_json_string(map_string, source_id_path_map);
158 } catch (...) {
159 }
160 }
161}

◆ 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 177 of file HDF5SourceIDHandler.cpp.

179{
180 if (m_version >= 3) {
181 try {
182 std::string map_string = get_attribute<HighFive::Group, std::string>(record_group, "subdetector_source_id_map");
183 parse_json_string(map_string, subdetector_source_id_map);
184 } catch (...) {
185 }
186 }
187}

◆ 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 241 of file HDF5SourceIDHandler.hpp.

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

◆ 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 254 of file HDF5SourceIDHandler.cpp.

255{
256 nlohmann::json json_struct;
257 json_struct["subsys"] = static_cast<uint32_t>(source_id.subsystem); // NOLINT(build/unsigned)
258 json_struct["id"] = source_id.id;
259 return json_struct.dump();
260}

◆ get_json_string() [2/5]

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 277 of file HDF5SourceIDHandler.cpp.

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

◆ 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 263 of file HDF5SourceIDHandler.cpp.

264{
265 nlohmann::json json_struct;
266 for (auto const& map_element : the_map) {
267 nlohmann::json json_element;
268 json_element["subsys"] = static_cast<uint32_t>(map_element.first.subsystem); // NOLINT(build/unsigned)
269 json_element["id"] = map_element.first.id;
270 json_element["path"] = map_element.second;
271 json_struct["map_entries"].push_back(json_element);
272 }
273 return json_struct.dump();
274}

◆ get_json_string() [5/5]

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.all_applications()) {
35 auto ro_app = app->cast<appmodel::ReadoutApplication>();
36 if (!ro_app)
37 continue;
38
39 for (auto d2d_conn : ro_app->get_detector_connections()) {
40
41 if (d2d_conn->is_excluded(session)) {
42 TLOG_DEBUG(7) << "Ignoring excluded DetectorToDaqConnection " << d2d_conn->UID();
43 continue;
44 }
45
46 TLOG() << "Processing DetectorToDaqConnection " << d2d_conn->UID();
47 // get the readout groups and the interfaces and streams therein; 1 reaout group corresponds to 1 data reader
48 // module
49
50 // Loop over senders
51 for (auto dros : d2d_conn->streams()) {
52
53 // Are we sure?
54 if (dros->is_excluded(session)) {
55 TLOG_DEBUG(7) << "Ignoring excluded DetectorStream " << dros->UID();
56 continue;
57 }
58 auto stream = dros->cast<confmodel::DetectorStream>();
59 if (!stream)
60 continue;
61 auto geoid = stream->get_geo_id();
62 auto geoid_int =
63 encode_geoid(geoid->get_detector_id(), geoid->get_crate_id(), geoid->get_slot_id(), geoid->get_stream_id());
64 daqdataformats::SourceID sid;
66 sid.id = stream->get_source_id();
67
68 output_map[sid].push_back(geoid_int);
69 }
70 }
71 }
72 return output_map;
73}
std::map< daqdataformats::SourceID, std::vector< uint64_t > > source_id_geo_id_map_t
#define TLOG_DEBUG(lvl,...)
Definition Logging.hpp:116
#define TLOG(...)
Definition macro.hpp:21
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 335 of file HDF5SourceIDHandler.cpp.

336{
337 nlohmann::json json_struct = nlohmann::json::parse(json_string);
338 daqdataformats::SourceID::Subsystem subsys = static_cast<daqdataformats::SourceID::Subsystem>(json_struct["subsys"]);
339 daqdataformats::SourceID::ID_t id = static_cast<daqdataformats::SourceID::ID_t>(json_struct["id"]);
340 source_id.subsystem = subsys;
341 source_id.id = id;
342}
Subsystem
The Subsystem enum describes the kind of source we're dealing with.
Definition SourceID.hpp:40

◆ parse_json_string() [2/5]

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 358 of file HDF5SourceIDHandler.cpp.

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

◆ 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 345 of file HDF5SourceIDHandler.cpp.

346{
347 nlohmann::json json_struct = nlohmann::json::parse(json_string);
348 for (auto const& json_element : json_struct["map_entries"]) {
350 static_cast<daqdataformats::SourceID::Subsystem>(json_element["subsys"]);
351 daqdataformats::SourceID::ID_t id = static_cast<daqdataformats::SourceID::ID_t>(json_element["id"]);
352 daqdataformats::SourceID source_id(subsys, id);
353 source_id_path_map[source_id] = json_element["path"];
354 }
355}

◆ parse_json_string() [5/5]

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 76 of file HDF5SourceIDHandler.cpp.

77{
78 write_attribute(h5_file, "source_id_geo_id_map", get_json_string(the_map));
79}
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 82 of file HDF5SourceIDHandler.cpp.

84{
85 write_attribute(record_group, "record_header_source_id", get_json_string(source_id));
86}

◆ 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 95 of file HDF5SourceIDHandler.cpp.

97{
98 write_attribute(record_group, "fragment_type_source_id_map", get_json_string(the_map));
99}

◆ 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 89 of file HDF5SourceIDHandler.cpp.

90{
91 write_attribute(record_group, "source_id_path_map", get_json_string(the_map));
92}

◆ 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 102 of file HDF5SourceIDHandler.cpp.

104{
105 write_attribute(record_group, "subdetector_source_id_map", get_json_string(the_map));
106}

◆ 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 231 of file HDF5SourceIDHandler.hpp.

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

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: