6#ifndef G4SHOWERLIBSVC_G4SHOWERLIBSVC_H
7#define G4SHOWERLIBSVC_G4SHOWERLIBSVC_H
13#include "G4FastTrack.hh"
15#include "GaudiKernel/ServiceHandle.h"
47 virtual StatusCode
finalize()
override;
49 virtual bool checkLibrary(G4int particleCode,
int detectorTag)
override;
52#ifdef DEBUG_FrozenShowers
53 virtual std::vector<EnergySpot>
getShower(
const G4FastTrack& track,
int detectorTag);
55 virtual std::vector<EnergySpot>
getShower(
const G4FastTrack& track,
int detectorTag)
const override;
57 virtual double getContainmentZ(
const G4FastTrack& track,
int detectorTag)
override;
58 virtual double getContainmentR(
const G4FastTrack& track,
int detectorTag)
override;
64 typedef std::map<int, const ShowerLib::IShowerLib*>
libmap;
66 typedef std::map<const ShowerLib::IShowerLib*, ShowerLib::ShowerLibStatistics*>
statmap;
71 StringArrayProperty
m_fileNameList {
this,
"FileNameList", {},
"List of filenames for direct reading"};
virtual bool checkLibrary(G4int particleCode, int detectorTag) override
std::map< int, std::string > m_locations
std::map< const ShowerLib::IShowerLib *, ShowerLib::ShowerLibStatistics * > statmap
virtual double getContainmentR(const G4FastTrack &track, int detectorTag) override
const ShowerLib::IShowerLib * getShowerLib(G4int particleCode, int detectorTag) const
get shower library from StoreGate by track (using current volume name)
std::map< int, const ShowerLib::IShowerLib * > libmap
virtual double getContainmentZ(const G4FastTrack &track, int detectorTag) override
LArG4ShowerLibSvc(const std::string &name, ISvcLocator *svc)
virtual StatusCode finalize() override
libmap m_libraryMap
mapping StoreGate key to handle in StoreGate
std::map< std::string, int > m_detmap
virtual ~LArG4ShowerLibSvc()=default
StringArrayProperty m_fileNameList
property, list of library files
virtual StatusCode initialize() override
virtual std::vector< EnergySpot > getShower(const G4FastTrack &track, int detectorTag) const override
return list of energy depositions for given track (interface implementation)
Class for shower library shower lib interface.
Namespace for the ShowerLib related classes.