k4SimGeant4
Loading...
Searching...
No Matches
SimG4SaveCalHits.h
Go to the documentation of this file.
1#ifndef SIMG4COMPONENTS_G4SAVECALHITS_H
2#define SIMG4COMPONENTS_G4SAVECALHITS_H
3
4// STL
5#include <string>
6#include <vector>
7
8// Gaudi
9#include "GaudiKernel/AlgTool.h"
10
11// k4FWCore
12#include "k4FWCore/DataHandle.h"
13#include "k4Interface/IGeoSvc.h"
15
16// EDM4hep
17#include "edm4hep/Constants.h"
18#include "edm4hep/SimCalorimeterHitCollection.h"
19
43
44class SimG4SaveCalHits : public AlgTool, virtual public ISimG4SaveOutputTool {
45public:
46 explicit SimG4SaveCalHits(const std::string& aType, const std::string& aName, const IInterface* aParent);
47 virtual ~SimG4SaveCalHits();
51 virtual StatusCode initialize();
55 virtual StatusCode finalize();
61 virtual StatusCode saveOutput(const G4Event& aEvent) final;
62
63private:
65 ServiceHandle<IGeoSvc> m_geoSvc;
67 mutable k4FWCore::DataHandle<edm4hep::SimCalorimeterHitCollection> m_caloHits{"CaloHits", Gaudi::DataHandle::Writer,
68 this};
69
70 Gaudi::Property<std::vector<std::string>> m_readoutNames{
71 this, "readoutNames", {}, "[Deprecated] Names of the readouts (hits collections) to save"};
72
73 Gaudi::Property<std::string> m_readoutName{this, "readoutName", {}, "Name of the readout (hits collection) to save"};
74};
75
76#endif /* SIMG4COMPONENTS_G4SAVECALHITS_H */
Interface to the output saving tool.
Definition ISimG4SaveOutputTool.h:17
SimG4SaveCalHits(const std::string &aType, const std::string &aName, const IInterface *aParent)
Definition SimG4SaveCalHits.cpp:25
Gaudi::Property< std::vector< std::string > > m_readoutNames
Name of the readouts (hits collections) to save, deprecated.
Definition SimG4SaveCalHits.h:70
virtual ~SimG4SaveCalHits()
Definition SimG4SaveCalHits.cpp:32
virtual StatusCode finalize()
Finalize.
Definition SimG4SaveCalHits.cpp:95
virtual StatusCode initialize()
Initialize.
Definition SimG4SaveCalHits.cpp:34
virtual StatusCode saveOutput(const G4Event &aEvent) final
Save the data output.
Definition SimG4SaveCalHits.cpp:97
ServiceHandle< IGeoSvc > m_geoSvc
Pointer to the geometry service.
Definition SimG4SaveCalHits.h:65
Gaudi::Property< std::string > m_readoutName
Name of the readout (hits collection) to save.
Definition SimG4SaveCalHits.h:73
k4FWCore::DataHandle< edm4hep::SimCalorimeterHitCollection > m_caloHits
Output handle for calo hits.
Definition SimG4SaveCalHits.h:67