ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileG4
TileAncillary
MuonWall
src
MuonWallSDTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//************************************************************
6
//
7
// Class MuonWallSD.
8
// Sensitive detector for the muon wall
9
//
10
// Author: franck Martin <Franck.Martin@cern.ch>
11
// january 12, 2004
12
//
13
//************************************************************
14
15
#include "
MuonWallSDTool.h
"
16
17
#include "
HitManagement/HitCollectionMap.h
"
18
#include "
MuonWallSD.h
"
19
#include "
TileSimEvent/TileHitVector.h
"
20
21
MuonWallSDTool::MuonWallSDTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent)
22
:
SensitiveDetectorBase
(
type
, name, parent) {
23
}
24
25
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
26
27
MuonWallSDTool::~MuonWallSDTool
() {
28
29
}
30
31
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
32
33
StatusCode
MuonWallSDTool::SetupEvent
(
HitCollectionMap
& hitCollections) {
34
ATH_MSG_VERBOSE
(
"MuonWallSDTool::SetupEvent()"
);
35
hitCollections.
Emplace
<
MuonWallSD::HitVectorBuilder
>(
m_outputCollectionNames
[0],
m_outputCollectionNames
[0]);
36
return
StatusCode::SUCCESS;
37
}
38
39
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
40
41
StatusCode
MuonWallSDTool::Gather
(
HitCollectionMap
& hitCollections) {
42
ATH_MSG_VERBOSE
(
"MuonWallSDTool::Gather()"
);
43
return
hitCollections.
TransformAndRecord
<
TileHitVector
>(
m_outputCollectionNames
[0], [](
TileHitVector
& hits) {
44
static_cast<
MuonWallSD::HitVectorBuilder
&
>
(hits).Finalize();
45
});
46
}
47
48
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
49
50
G4VSensitiveDetector*
MuonWallSDTool::makeSD
()
const
{
51
ATH_MSG_DEBUG
(
"Initializing SD"
);
52
53
int
verboseLevel=1;
54
if
(msgLvl(MSG::VERBOSE)) { verboseLevel = 10; }
55
else
if
(msgLvl(MSG::DEBUG)) { verboseLevel = 5; }
56
57
// Create a fresh SD
58
return
new
MuonWallSD
(name(),
m_outputCollectionNames
[0], verboseLevel);
59
}
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition
AthMsgStreamMacros.h:28
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
HitCollectionMap.h
MuonWallSDTool.h
MuonWallSD.h
TileHitVector.h
TileHitVector
AtlasHitsVector< TileHit > TileHitVector
Definition
TileHitVector.h:28
HitCollectionMap
Small wrapper around hit collection map to facilitate accessing the hit collection.
Definition
HitCollectionMap.h:23
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
HitCollectionMap::TransformAndRecord
StatusCode TransformAndRecord(std::string const &sgKey, std::string const &hitCollectionName, EventContext const &ctx, std::function< void(T &)> transform)
Record the hit collection hitCollectionName to the StoreGate sgKey, applying a transformation functio...
Definition
HitCollectionMap.h:102
MuonWallSDTool::MuonWallSDTool
MuonWallSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
MuonWallSDTool.cxx:21
MuonWallSDTool::Gather
virtual StatusCode Gather(HitCollectionMap &) override final
End of an athena event.
Definition
MuonWallSDTool.cxx:41
MuonWallSDTool::~MuonWallSDTool
~MuonWallSDTool()
Definition
MuonWallSDTool.cxx:27
MuonWallSDTool::SetupEvent
virtual StatusCode SetupEvent(HitCollectionMap &) override final
Beginning of an athena event.
Definition
MuonWallSDTool.cxx:33
MuonWallSDTool::makeSD
G4VSensitiveDetector * makeSD() const override final
Definition
MuonWallSDTool.cxx:50
MuonWallSD
Definition
MuonWallSD.h:32
MuonWallSD::HitVectorBuilder
TileHitVectorCellBuilder< NCells > HitVectorBuilder
Definition
MuonWallSD.h:38
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
Generated on
for ATLAS Offline Software by
1.17.0