ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Utilities
TrackWriteFastSim
src
TrackRecorderSDTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// Track Recorder Sensitive Detector Tool.
6
//
7
8
// class header
9
#include "
TrackRecorderSDTool.h
"
10
11
// package includes
12
#include "
TrackWriteFastSim/TrackFastSimSD.h
"
13
14
// Athena includes
15
#include "
HitManagement/HitCollectionMap.h
"
16
#include "
TrackRecord/TrackRecordCollection.h
"
17
18
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
19
20
TrackRecorderSDTool::TrackRecorderSDTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent)
21
:
SensitiveDetectorBase
(
type
, name , parent )
22
,
m_SD_type
(1)
23
{
24
declareProperty(
"SD_type"
,
m_SD_type
);
25
}
26
27
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
28
29
StatusCode
TrackRecorderSDTool::SetupEvent
(
HitCollectionMap
& hitCollections)
30
{
31
hitCollections.
Emplace
<
TrackRecordCollection
>(
m_outputCollectionNames
[0],
32
m_outputCollectionNames
[0]);
33
return
StatusCode::SUCCESS;
34
}
35
36
StatusCode
TrackRecorderSDTool::Gather
(
HitCollectionMap
& hitCollections)
37
{
38
CHECK
(hitCollections.
Record
<
TrackRecordCollection
>(
m_outputCollectionNames
[0]));
39
return
StatusCode::SUCCESS;
40
}
41
42
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
43
44
G4VSensitiveDetector*
TrackRecorderSDTool::makeSD
()
const
45
{
46
ATH_MSG_DEBUG
(
"Initializing SD"
);
47
//SD name has to be the same as the collection name for now in order
48
//to fit with how the old configuration works...
49
return
new
TrackFastSimSD
(
m_outputCollectionNames
[0],
m_outputCollectionNames
[0],
m_SD_type
);
50
}
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
HitCollectionMap.h
TrackFastSimSD.h
TrackRecordCollection.h
TrackRecordCollection
AtlasHitsVector< TrackRecord > TrackRecordCollection
Definition
TrackRecordCollection.h:12
TrackRecorderSDTool.h
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
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
TrackFastSimSD
Definition
TrackFastSimSD.h:24
TrackRecorderSDTool::Gather
StatusCode Gather(HitCollectionMap &) override final
End of an athena event.
Definition
TrackRecorderSDTool.cxx:36
TrackRecorderSDTool::TrackRecorderSDTool
TrackRecorderSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
TrackRecorderSDTool.cxx:20
TrackRecorderSDTool::makeSD
G4VSensitiveDetector * makeSD() const override final
Definition
TrackRecorderSDTool.cxx:44
TrackRecorderSDTool::m_SD_type
int m_SD_type
Definition
TrackRecorderSDTool.h:38
TrackRecorderSDTool::SetupEvent
StatusCode SetupEvent(HitCollectionMap &) override final
Beginning of an athena event.
Definition
TrackRecorderSDTool.cxx:29
type
Generated on
for ATLAS Offline Software by
1.17.0