ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArG4
LArG4ShowerLibSvc
src
LArG4ShowerLibSvc.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
6
#ifndef G4SHOWERLIBSVC_G4SHOWERLIBSVC_H
7
#define G4SHOWERLIBSVC_G4SHOWERLIBSVC_H
8
9
#include "
LArG4ShowerLibSvc/ILArG4ShowerLibSvc.h
"
10
11
#include "
AthenaBaseComps/AthService.h
"
12
#include "
LArG4Code/EnergySpot.h
"
13
#include "G4FastTrack.hh"
14
15
#include "GaudiKernel/ServiceHandle.h"
16
17
#include <string>
18
#include <vector>
19
#include <map>
20
21
namespace
ShowerLib
{
22
class
IShowerLib
;
23
class
ShowerLibStatistics
;
24
}
25
39
40
class
LArG4ShowerLibSvc
:
public
extends<AthService, ILArG4ShowerLibSvc> {
41
42
public
:
43
LArG4ShowerLibSvc
(
const
std::string& name, ISvcLocator* svc);
44
virtual
~LArG4ShowerLibSvc
() =
default
;
45
46
virtual
StatusCode
initialize
()
override
;
47
virtual
StatusCode
finalize
()
override
;
48
49
virtual
bool
checkLibrary
(G4int particleCode,
int
detectorTag)
override
;
50
52
#ifdef DEBUG_FrozenShowers
53
virtual
std::vector<EnergySpot>
getShower
(
const
G4FastTrack& track,
int
detectorTag);
54
#else
55
virtual
std::vector<EnergySpot>
getShower
(
const
G4FastTrack& track,
int
detectorTag)
const override
;
56
#endif
57
virtual
double
getContainmentZ
(
const
G4FastTrack& track,
int
detectorTag)
override
;
58
virtual
double
getContainmentR
(
const
G4FastTrack& track,
int
detectorTag)
override
;
59
60
private
:
62
const
ShowerLib::IShowerLib
*
getShowerLib
(G4int particleCode,
int
detectorTag)
const
;
63
64
typedef
std::map<int, const ShowerLib::IShowerLib*>
libmap
;
65
libmap
m_libraryMap
;
66
typedef
std::map<const ShowerLib::IShowerLib*, ShowerLib::ShowerLibStatistics*>
statmap
;
67
statmap
m_statisticsMap
;
68
std::map<int,std::string>
m_locations
;
69
std::map<std::string,int>
m_detmap
;
70
71
StringArrayProperty
m_fileNameList
{
this
,
"FileNameList"
, {},
"List of filenames for direct reading"
};
72
};
73
74
#endif
// G4SHOWERLIBSVC_G4SHOWERLIBSVC_H
75
AthService.h
EnergySpot.h
ILArG4ShowerLibSvc.h
LArG4ShowerLibSvc::checkLibrary
virtual bool checkLibrary(G4int particleCode, int detectorTag) override
Definition
LArG4ShowerLibSvc.cxx:159
LArG4ShowerLibSvc::m_locations
std::map< int, std::string > m_locations
Definition
LArG4ShowerLibSvc.h:68
LArG4ShowerLibSvc::statmap
std::map< const ShowerLib::IShowerLib *, ShowerLib::ShowerLibStatistics * > statmap
Definition
LArG4ShowerLibSvc.h:66
LArG4ShowerLibSvc::getContainmentR
virtual double getContainmentR(const G4FastTrack &track, int detectorTag) override
Definition
LArG4ShowerLibSvc.cxx:249
LArG4ShowerLibSvc::getShowerLib
const ShowerLib::IShowerLib * getShowerLib(G4int particleCode, int detectorTag) const
get shower library from StoreGate by track (using current volume name)
Definition
LArG4ShowerLibSvc.cxx:144
LArG4ShowerLibSvc::libmap
std::map< int, const ShowerLib::IShowerLib * > libmap
Definition
LArG4ShowerLibSvc.h:64
LArG4ShowerLibSvc::getContainmentZ
virtual double getContainmentZ(const G4FastTrack &track, int detectorTag) override
Definition
LArG4ShowerLibSvc.cxx:236
LArG4ShowerLibSvc::m_statisticsMap
statmap m_statisticsMap
Definition
LArG4ShowerLibSvc.h:67
LArG4ShowerLibSvc::LArG4ShowerLibSvc
LArG4ShowerLibSvc(const std::string &name, ISvcLocator *svc)
Definition
LArG4ShowerLibSvc.cxx:21
LArG4ShowerLibSvc::finalize
virtual StatusCode finalize() override
Definition
LArG4ShowerLibSvc.cxx:119
LArG4ShowerLibSvc::m_libraryMap
libmap m_libraryMap
mapping StoreGate key to handle in StoreGate
Definition
LArG4ShowerLibSvc.h:65
LArG4ShowerLibSvc::m_detmap
std::map< std::string, int > m_detmap
Definition
LArG4ShowerLibSvc.h:69
LArG4ShowerLibSvc::~LArG4ShowerLibSvc
virtual ~LArG4ShowerLibSvc()=default
LArG4ShowerLibSvc::m_fileNameList
StringArrayProperty m_fileNameList
property, list of library files
Definition
LArG4ShowerLibSvc.h:71
LArG4ShowerLibSvc::initialize
virtual StatusCode initialize() override
Definition
LArG4ShowerLibSvc.cxx:36
LArG4ShowerLibSvc::getShower
virtual std::vector< EnergySpot > getShower(const G4FastTrack &track, int detectorTag) const override
return list of energy depositions for given track (interface implementation)
Definition
LArG4ShowerLibSvc.cxx:177
ShowerLib::IShowerLib
Class for shower library shower lib interface.
Definition
IShowerLib.h:40
ShowerLib::ShowerLibStatistics
Definition
ShowerLibStatistics.h:20
ShowerLib
Namespace for the ShowerLib related classes.
Definition
StepInfo.h:17
Generated on
for ATLAS Offline Software by
1.17.0