ATLAS Offline Software
Loading...
Searching...
No Matches
HepMcFloatWriterTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5// HepMcFloatWriterTool.h
6// Header file for class HepMcFloatWriterTool
7// Author: S.Binet<binet@cern.ch>
9#ifndef MCPARTICLETOOLS_HEPMCFLOATWRITERTOOL_H
10#define MCPARTICLETOOLS_HEPMCFLOATWRITERTOOL_H
11
12// STL includes
13#include <string>
14#include <iosfwd>
15
16// FrameWork includes
17#include "GaudiKernel/ServiceHandle.h"
19
20// McParticleKernel includes
22
23// Forward declaration
25
26class HepMcFloatWriterTool : public extends<AthAlgTool, IIOHepMcTool>
27{
28
30 // Public methods:
32 public:
33
35 HepMcFloatWriterTool( const std::string& type, const std::string& name, const IInterface* parent );
36
38 virtual ~HepMcFloatWriterTool();
39
40 // Athena algorithm's Hooks
41 StatusCode initialize();
42 StatusCode execute();
43 StatusCode finalize();
44
46 // Non-const methods:
48
51 StatusCode write( const HepMC::GenEvent* evt );
52
54 // Protected methods:
56 protected:
57
61
65 void setupBackend( Gaudi::Details::PropertyBase& ioBackendURL );
66
68 // Protected data:
70 protected:
71
77 StringProperty m_ioBackendURL;
78
83 StringProperty m_mcEventsName;
84
87 std::ostream* m_ioBackend;
88};
89
90#endif //> MCPARTICLETOOLS_HEPMCFLOATWRITERTOOL_H
StringProperty m_ioBackendURL
URL of the I/O back-end (only "ASCII" for now...) glued with the name of the output file name.
StatusCode initialize()
Athena Algorithm's Hooks.
HepMcFloatWriterTool()
Default constructor:
StringProperty m_mcEventsName
Location of the McEventCollection to be written out If there is more than 1 HepMC::GenEvent in the Mc...
virtual ~HepMcFloatWriterTool()
Destructor:
void setupBackend(Gaudi::Details::PropertyBase &ioBackendURL)
Method to configure the back-end to write out the HepMC::GenEvent.
HepMcFloatWriterTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
StatusCode write(const HepMC::GenEvent *evt)
Process the HepMC::GenEvent through the I/O backend.
std::ostream * m_ioBackend
Abstract base class for the back-end.