ATLAS Offline Software
H5FileSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef H5_FILE_SVC_H
5 #define H5_FILE_SVC_H
6 
8 #include "Gaudi/Property.h"
9 
10 #include "HDF5Utils/IH5GroupSvc.h"
11 
12 #include <memory>
13 
14 namespace H5 {
15  class H5File;
16 }
17 
18 class H5FileSvc : public extends<AthService, IH5GroupSvc>
19 {
20 public:
21  H5FileSvc(const std::string& name, ISvcLocator* pSvcLocator);
23  virtual StatusCode initialize() override;
24  virtual H5::Group* group() override;
25 private:
26 
27  std::unique_ptr<H5::H5File> m_file{nullptr};
28  Gaudi::Property<std::string> m_file_path {this, "path", "", "path to file"};
29 };
30 
31 #endif
H5FileSvc::m_file_path
Gaudi::Property< std::string > m_file_path
Definition: H5FileSvc.h:28
IH5GroupSvc.h
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
H5FileSvc::m_file
std::unique_ptr< H5::H5File > m_file
Definition: H5FileSvc.h:27
H5FileSvc::H5FileSvc
H5FileSvc(const std::string &name, ISvcLocator *pSvcLocator)
Definition: H5FileSvc.cxx:7
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
H5FileSvc::~H5FileSvc
~H5FileSvc()
H5FileSvc::group
virtual H5::Group * group() override
Definition: H5FileSvc.cxx:22
H5
HDF5 Traits.
Definition: AthenaHDFStreamTool.h:22
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
H5FileSvc
Definition: H5FileSvc.h:19
AthService.h
H5FileSvc::initialize
virtual StatusCode initialize() override
Definition: H5FileSvc.cxx:14