ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetG4
SCT_G4_SD
src
SctSensorSDTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// SCT Sensitive Detector Tool.
6
//
7
8
// class header
9
#include "
SctSensorSDTool.h
"
10
11
// package includes
12
#include "
SctSensorSD.h
"
13
#include "
SctSensorGmxSD.h
"
14
15
#include <GeoModelRead/ReadGeoModel.h>
16
#include "
HitManagement/HitCollectionMap.h
"
17
#include "
InDetSimEvent/SiHitCollection.h
"
18
19
// STL includes
20
#include <exception>
21
22
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
23
24
SctSensorSDTool::SctSensorSDTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent)
25
:
SensitiveDetectorBase
(
type
, name , parent ),
m_isGmxSensor
(false)
26
{
27
declareProperty(
"GmxSensor"
,
m_isGmxSensor
);
28
}
29
30
StatusCode
SctSensorSDTool::SetupEvent
(
HitCollectionMap
& hitCollections)
31
{
32
hitCollections.
Emplace
<
SiHitCollection
>(
m_outputCollectionNames
[0]);
33
return
StatusCode::SUCCESS;
34
}
35
36
StatusCode
SctSensorSDTool::Gather
(
HitCollectionMap
& hitCollections)
37
{
38
return
hitCollections.
Record
<
SiHitCollection
>(
m_outputCollectionNames
[0]);
39
}
40
41
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
42
43
G4VSensitiveDetector*
SctSensorSDTool::makeSD
()
const
44
{
45
ATH_MSG_DEBUG
(
"Initializing SD"
);
46
GeoModelIO::ReadGeoModel* sqlreader =
nullptr
;
47
StatusCode
sc
=
m_geoDbTagSvc
.retrieve();
48
if
(
sc
.isFailure()) {
49
msg
(MSG::ERROR) <<
"Could not locate GeoDbTagSvc"
<<
endmsg
;
50
}
51
else
{
52
sqlreader =
m_geoDbTagSvc
->getSqliteReader();
53
}
54
55
if
(
m_isGmxSensor
)
56
{
57
return
new
SctSensorGmxSD
(name(),
m_outputCollectionNames
[0],sqlreader);
58
}
59
else
60
{
61
return
new
SctSensorSD
(name(),
m_outputCollectionNames
[0]);
62
}
63
}
64
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
HitCollectionMap.h
sc
static Double_t sc
Definition
LArPhysWaveHECTool.cxx:37
SctSensorGmxSD.h
SctSensorSDTool.h
SctSensorSD.h
SiHitCollection.h
SiHitCollection
AtlasHitsVector< SiHit > SiHitCollection
Definition
SiHitCollection.h:14
HitCollectionMap
Small wrapper around hit collection map to facilitate accessing the hit collection.
Definition
HitCollectionMap.h:23
HitCollectionMap::Record
StatusCode Record(std::string const &sgKey, std::string const &hitCollectionName, EventContext const &ctx)
Record the hit collection hitCollectionName to the StoreGate sgKey.
Definition
HitCollectionMap.h:83
HitCollectionMap::Emplace
std::pair< StorageIterator, bool > Emplace(std::string const &hitCollectionName, CollectionArgs &&... args)
Insert a container in the map with in-place construction.
Definition
HitCollectionMap.h:40
SctSensorGmxSD
Definition
SctSensorGmxSD.h:25
SctSensorSDTool::m_geoDbTagSvc
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Definition
SctSensorSDTool.h:37
SctSensorSDTool::SctSensorSDTool
SctSensorSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
SctSensorSDTool.cxx:24
SctSensorSDTool::Gather
virtual StatusCode Gather(HitCollectionMap &) override
End of an athena event.
Definition
SctSensorSDTool.cxx:36
SctSensorSDTool::SetupEvent
virtual StatusCode SetupEvent(HitCollectionMap &) override
Beginning of an athena event.
Definition
SctSensorSDTool.cxx:30
SctSensorSDTool::makeSD
G4VSensitiveDetector * makeSD() const override final
Definition
SctSensorSDTool.cxx:43
SctSensorSDTool::m_isGmxSensor
bool m_isGmxSensor
Definition
SctSensorSDTool.h:36
SctSensorSD
Definition
SctSensorSD.h:25
SensitiveDetectorBase::m_outputCollectionNames
Gaudi::Property< std::vector< std::string > > m_outputCollectionNames
Names of all output collections written out by this SD.
Definition
SensitiveDetectorBase.h:80
SensitiveDetectorBase::SensitiveDetectorBase
SensitiveDetectorBase(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition
SensitiveDetectorBase.cxx:17
type
msg
MsgStream & msg
Definition
testRead.cxx:32
Generated on
for ATLAS Offline Software by
1.17.0