ATLAS Offline Software
H5FileSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 IH5GroupSvc, public AthService
19 {
20 public:
21  H5FileSvc(const std::string& name, ISvcLocator* pSvcLocator);
23  StatusCode initialize() override;
24  H5::Group* group() override;
25 private:
26  StatusCode queryInterface(const InterfaceID& riid,
27  void** ppvInterface) override;
28 
29  std::unique_ptr<H5::H5File> m_file{nullptr};
30  Gaudi::Property<std::string> m_file_path {this, "path", "", "path to file"};
31 };
32 
33 #endif
H5FileSvc::m_file_path
Gaudi::Property< std::string > m_file_path
Definition: H5FileSvc.h:30
IH5GroupSvc.h
IH5GroupSvc
Definition: IH5GroupSvc.h:23
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:29
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
AthService
Definition: AthService.h:32
H5FileSvc::~H5FileSvc
~H5FileSvc()
H5FileSvc::group
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:195
H5FileSvc::queryInterface
StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
Definition: H5FileSvc.cxx:31
H5FileSvc
Definition: H5FileSvc.h:19
AthService.h
H5FileSvc::initialize
StatusCode initialize() override
Definition: H5FileSvc.cxx:14