ATLAS Offline Software
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimParametrization
ISF_FastCaloSimParametrization
CaloCellContainerSD.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISF_FASTCALOSIMPARAMETRIZATION_CALOCELLCONTAINERSD_H
6
#define ISF_FASTCALOSIMPARAMETRIZATION_CALOCELLCONTAINERSD_H
7
8
/* Base class header */
9
#include "G4VSensitiveDetector.hh"
10
/* Athena WriteHandle include */
11
#include "
StoreGate/WriteHandle.h
"
12
/* Empty cell builder interface include */
13
#include "
CaloInterface/ICaloCellMakerTool.h
"
14
/* CaloCellContainer include */
15
#include "
CaloEvent/CaloCellContainer.h
"
16
17
18
class
G4TouchableHistory;
19
class
TFCSSimulationState
;
20
21
class
CaloCellContainerSD
:
public
G4VSensitiveDetector
22
{
23
public
:
24
CaloCellContainerSD
(
const
std::string&
name
,
const
std::string&
CaloCellContainerName
, PublicToolHandle<ICaloCellMakerTool>
FastHitConvertTool
);
25
~CaloCellContainerSD
() {}
26
27
// Start of *ATHENA* event
28
void
StartOfAthenaEvent
(
const
EventContext& ctx);
29
30
// End of *ATHENA* event
31
void
EndOfAthenaEvent
(
const
EventContext& ctx);
32
33
// Needs to be implemented, but is not used for this SD
34
G4bool
ProcessHits
(G4Step*, G4TouchableHistory*)
override
final
;
35
36
// Method to record the cells from a TFCSSimulationState
37
void
recordCells
(
TFCSSimulationState
&);
38
39
protected
:
40
// The empty cell builder tool to initialize an empty calo cell container
41
PublicToolHandle<ICaloCellMakerTool>
m_EmptyCellBuilderTool
;
42
// The write handle to the CaloCellContainer
43
SG::WriteHandle<CaloCellContainer>
m_caloCellContainer
;
44
// Fast hit converter - converts CaloCells into LAr and Tile Hits - takes into account sampling fractions
45
PublicToolHandle<ICaloCellMakerTool>
m_FastHitConvertTool
;
46
47
48
};
49
50
#endif // ISF_FASTCALOSIMPARAMETRIZATION_CALOCELLCONTAINERSD_H
CaloCellContainerSD::CaloCellContainerSD
CaloCellContainerSD(const std::string &name, const std::string &CaloCellContainerName, PublicToolHandle< ICaloCellMakerTool > FastHitConvertTool)
Definition:
CaloCellContainerSD.cxx:17
FastHitConvertTool
Definition:
FastHitConvertTool.h:44
CaloCellContainerSD::recordCells
void recordCells(TFCSSimulationState &)
Definition:
CaloCellContainerSD.cxx:65
CaloCellContainerSD::m_EmptyCellBuilderTool
PublicToolHandle< ICaloCellMakerTool > m_EmptyCellBuilderTool
Definition:
CaloCellContainerSD.h:41
CaloCellContainerSD::m_caloCellContainer
SG::WriteHandle< CaloCellContainer > m_caloCellContainer
Definition:
CaloCellContainerSD.h:43
CaloCellContainerSD
Definition:
CaloCellContainerSD.h:22
WriteHandle.h
Handle class for recording to StoreGate.
CaloCellContainerSD::m_FastHitConvertTool
PublicToolHandle< ICaloCellMakerTool > m_FastHitConvertTool
Definition:
CaloCellContainerSD.h:45
CaloCellContainerSD::ProcessHits
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Definition:
CaloCellContainerSD.cxx:57
CaloCellContainerSD::EndOfAthenaEvent
void EndOfAthenaEvent(const EventContext &ctx)
Definition:
CaloCellContainerSD.cxx:43
TBMuToCaloAlg_jobOptions.CaloCellContainerName
CaloCellContainerName
Definition:
TBMuToCaloAlg_jobOptions.py:9
CaloCellContainerSD::StartOfAthenaEvent
void StartOfAthenaEvent(const EventContext &ctx)
Definition:
CaloCellContainerSD.cxx:30
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
CaloCellContainer.h
ICaloCellMakerTool.h
SG::WriteHandle< CaloCellContainer >
CaloCellContainerSD::~CaloCellContainerSD
~CaloCellContainerSD()
Definition:
CaloCellContainerSD.h:25
TFCSSimulationState
Definition:
TFCSSimulationState.h:32
Generated on Sun Dec 22 2024 21:07:45 for ATLAS Offline Software by
1.8.18