ATLAS Offline Software
IParticleWriterAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef IPARTICLE_WRITER_ALG_H
6 #define IPARTICLE_WRITER_ALG_H
7 
10 
13 #include "GaudiKernel/ServiceHandle.h"
14 
16 {
17 public:
18  IParticleWriterAlg(const std::string& name, ISvcLocator* loc);
19 
20  virtual StatusCode initialize() override;
21  virtual StatusCode execute() override;
22  virtual StatusCode finalize() override;
23 
24 private:
25  Gaudi::Property<std::vector<std::string>> m_primitives {
26  this, "primitives", {}, "List of primatives to print"
27  };
28  Gaudi::Property<std::map<std::string, std::string>> m_primToType {
29  this, "primitiveToType", {}, "Map from primitive to type"
30  };
31  Gaudi::Property<std::map<std::string, std::string>> m_primToAssociation {
32  this, "primitiveToAssociation", {}, "Map from primitive to association"
33  };
34  Gaudi::Property<std::string> m_dsName {
35  this, "datasetName", "", "Name of output dataset"
36  };
37  Gaudi::Property<unsigned long long> m_maxSize {
38  this, "maximumSize", 10, "Maximum number of particles to store"
39  };
40  Gaudi::Property<std::string> m_arrayFormat {
41  this, "arrayFormat", "PADDED", "Array format"
42  };
44  this, "container", "", "IParticle container key"};
46  this, "output", "", "output file service"};
47 
48  std::unique_ptr<IParticleWriter> m_writer;
49 
50 };
51 
52 
53 #endif
IH5GroupSvc.h
IParticleWriterAlg::m_arrayFormat
Gaudi::Property< std::string > m_arrayFormat
Definition: IParticleWriterAlg.h:40
IParticleWriterAlg::finalize
virtual StatusCode finalize() override
Definition: IParticleWriterAlg.cxx:72
IParticleWriterAlg::m_writer
std::unique_ptr< IParticleWriter > m_writer
Definition: IParticleWriterAlg.h:48
IParticleWriterAlg::IParticleWriterAlg
IParticleWriterAlg(const std::string &name, ISvcLocator *loc)
Definition: IParticleWriterAlg.cxx:11
IParticleWriterAlg::m_output_svc
ServiceHandle< IH5GroupSvc > m_output_svc
Definition: IParticleWriterAlg.h:45
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
IParticleWriterAlg::m_dsName
Gaudi::Property< std::string > m_dsName
Definition: IParticleWriterAlg.h:34
IParticleWriter.h
AthAlgorithm.h
IParticleWriterAlg::m_primToType
Gaudi::Property< std::map< std::string, std::string > > m_primToType
Definition: IParticleWriterAlg.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IParticleContainer.h
IParticleWriterAlg::m_primitives
Gaudi::Property< std::vector< std::string > > m_primitives
Definition: IParticleWriterAlg.h:25
IParticleWriterAlg::m_maxSize
Gaudi::Property< unsigned long long > m_maxSize
Definition: IParticleWriterAlg.h:37
AthAlgorithm
Definition: AthAlgorithm.h:47
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
IParticleWriterAlg::m_partKey
SG::ReadHandleKey< xAOD::IParticleContainer > m_partKey
Definition: IParticleWriterAlg.h:43
IParticleWriterAlg
Definition: IParticleWriterAlg.h:16
IParticleWriterAlg::initialize
virtual StatusCode initialize() override
Definition: IParticleWriterAlg.cxx:18
IParticleWriterAlg::m_primToAssociation
Gaudi::Property< std::map< std::string, std::string > > m_primToAssociation
Definition: IParticleWriterAlg.h:31
IParticleWriterAlg::execute
virtual StatusCode execute() override
Definition: IParticleWriterAlg.cxx:65
ServiceHandle< IH5GroupSvc >