ATLAS Offline Software
H5Print.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "HDF5Utils/H5Print.h"
6 #include <iomanip>
7 
8 namespace H5Utils { namespace Print {
9  std::ostream& operator<<(std::ostream& os, const H5::DataSet& ds)
10  {
11  os << os.fill() << ds.getObjName();
12  return os;
13  }
14 
15  std::ostream& operator<<(std::ostream& os, const H5::Group& group)
16  {
17  std::size_t indent = os.width();
18  os << os.fill() << group.getObjName() << " {" << std::endl;
19  for (std::size_t ii = 0; ii < group.getNumObjs(); ++ii) {
20  H5G_obj_t childType = group.getObjTypeByIdx(ii);
21  std::string childName = group.getObjnameByIdx(ii);
22  switch(childType) {
23  case H5G_GROUP:
24  os << std::setw(indent+2) << group.openGroup(childName) << std::endl;
25  break;
26  case H5G_DATASET:
27  os << std::setw(indent+2) << group.openDataSet(childName) << std::endl;
28  break;
29  default:
30  // For now do nothing with other types - maybe in the future rethink
31  // this?
32  break;
33  }
34  }
35  os << std::setw(indent) << os.fill() << "}";
36  return os;
37  }
38 } } //> end namespace H5Utils::Print
checkxAOD.ds
ds
Definition: Tools/PyUtils/bin/checkxAOD.py:257
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
H5Print.h
geometry_dat_to_json.indent
indent
Definition: geometry_dat_to_json.py:18
H5Utils
HDF5 Tuple Writer.
Definition: common.h:20
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
CaloLCW_tf.group
group
Definition: CaloLCW_tf.py:28
H5Utils::Print::operator<<
std::ostream & operator<<(std::ostream &os, const H5::DataSet &ds)
Print information about a dataset.
Definition: H5Print.cxx:9
dqm_persistency::Print
void Print(const PParameter *param, TDirectory *topdir, Option_t *opt="")
Definition: dqm_persistency_impl.cxx:161