ATLAS Offline Software
IParticleWriter.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 IPARTICLE_WRITER_H
5 #define IPARTICLE_WRITER_H
6 
7 #include <memory>
8 #include <vector>
9 
10 namespace H5 {
11  class Group;
12 }
13 namespace H5Utils {
14  template <size_t N, typename I> class Writer;
15 }
16 namespace xAOD {
17  class IParticle;
18 }
20 
21 namespace details {
22  // implementation depends on type of array we're storing
23  class IParticleWriterBase;
24 }
25 
27 public:
28  IParticleWriter(H5::Group& output_group, const IParticleWriterConfig&);
30  void fill(const std::vector<const xAOD::IParticle*>&);
31  void flush();
32 private:
33  std::unique_ptr<details::IParticleWriterBase> m_writer;
34 };
35 
36 #endif
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
IParticleWriter::m_writer
std::unique_ptr< details::IParticleWriterBase > m_writer
Definition: IParticleWriter.h:33
IParticleWriter::fill
void fill(const std::vector< const xAOD::IParticle * > &)
Definition: IParticleWriter.cxx:319
IParticleWriter::IParticleWriter
IParticleWriter(H5::Group &output_group, const IParticleWriterConfig &)
Definition: IParticleWriter.cxx:278
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
IParticleWriter::flush
void flush()
Definition: IParticleWriter.cxx:324
details::IParticleWriterBase
Definition: IParticleWriter.cxx:154
details
Definition: IParticleWriter.h:21
IParticleWriter
Definition: IParticleWriter.h:26
IParticleWriterConfig
Definition: IParticleWriterConfig.h:21
H5Utils
HDF5 Tuple Writer.
Definition: common.h:20
H5
HDF5 Traits.
Definition: AthenaHDFStreamTool.h:22
IParticleWriter::~IParticleWriter
~IParticleWriter()
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43