ATLAS Offline Software
InnerDetector
InDetG4
TRT_G4_SD
src
TRTSensitiveDetector.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRT_G4_SD_TRTSensitiveDetector_h
6
#define TRT_G4_SD_TRTSensitiveDetector_h
7
8
// Base class
9
#include "G4VSensitiveDetector.hh"
10
11
#include "
CxxUtils/checker_macros.h
"
12
#include "
InDetSimEvent/TRTUncompressedHitCollection.h
"
13
#include "
StoreGate/WriteHandle.h
"
14
#include <gtest/gtest_prod.h>
15
16
class
TRTParameters;
17
class
TRTProcessingOfBarrelHits
;
18
class
TRTProcessingOfEndCapHits
;
19
20
class
G4HCofThisEvent;
21
class
G4Step;
22
class
G4TouchableHistory;
23
24
class
TRTSensitiveDetector
:
public
G4VSensitiveDetector
25
{
26
FRIEND_TEST
( TRTSensitiveDetectortest,
Initialize
);
27
FRIEND_TEST
( TRTSensitiveDetectortest,
ProcessHits
);
28
FRIEND_TEST
( TRTSensitiveDetectortest,
AddHit
);
29
30
friend
class
TRTProcessingOfBarrelHits
;
31
friend
class
TRTProcessingOfEndCapHits
;
32
33
public
:
34
TRTSensitiveDetector
(
const
std::string&
name
,
const
std::string& hitCollectionName,
int
setVerboseLevel=0);
35
~TRTSensitiveDetector
() {
/* don't own any of the pointers... */
}
36
37
void
Initialize
(G4HCofThisEvent*)
override
final
;
38
G4bool
ProcessHits
(G4Step*, G4TouchableHistory*)
override
final
;
39
41
void
DeleteObjects
();
42
46
template
<
class
...
Args
>
void
AddHit
(
Args
&&...
args
){
m_HitColl
->Emplace(
args
... ); }
47
48
private
:
49
void
InitializeHitProcessing
();
50
//FIXME all class variables should have an "m_" prefix.
51
53
int
m_printMessages
;
// FIXME not used anywhere?
54
int
m_hitsWithZeroEnergyDeposit
;
55
G4VProcess*
m_phot
;
56
double
m_energyThreshold
;
57
double
m_probabilityThreshold
;
58
double
m_energyDepositCorrection
;
59
double
m_energyThresholdKr
;
60
double
m_probabilityThresholdKr
;
61
double
m_energyDepositCorrectionKr
;
62
double
m_energyThresholdAr
;
63
double
m_probabilityThresholdAr
;
64
double
m_energyDepositCorrectionAr
;
65
double
m_boundaryZ
;
66
69
int
m_hitID
;
70
HepMcParticleLink
m_partLink
;
71
int
m_particleEncoding
;
72
double
m_kineticEnergy
;
73
double
m_energyDeposit
;
74
double
m_energyDepositInKeV
;
75
double
m_preStepX
;
76
double
m_preStepY
;
77
double
m_preStepZ
;
78
double
m_postStepX
;
79
double
m_postStepY
;
80
double
m_postStepZ
;
81
double
m_globalTime
;
82
84
// The hits collection
85
SG::WriteHandle<TRTUncompressedHitCollection>
m_HitColl
;
//pUncompressedHitCollection;
86
87
const
TRTParameters*
m_pParameters
;
88
89
TRTProcessingOfBarrelHits
*
m_pProcessingOfBarrelHits
;
90
TRTProcessingOfEndCapHits
*
m_pProcessingOfEndCapHits
;
91
92
// Gas switches
93
G4Material *
m_pMaterialXe
;
94
G4Material *
m_pMaterialKr
;
95
G4Material *
m_pMaterialAr
;
96
};
97
98
#endif //TRT_G4_SD_TRTSensitiveDetector_h
TRTSensitiveDetector::m_energyDepositInKeV
double m_energyDepositInKeV
Definition:
TRTSensitiveDetector.h:74
TRTProcessingOfEndCapHits
Definition:
TRTProcessingOfEndCapHits.h:16
TRTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(TRTSensitiveDetectortest, Initialize)
TRTSensitiveDetector::m_pProcessingOfBarrelHits
TRTProcessingOfBarrelHits * m_pProcessingOfBarrelHits
Definition:
TRTSensitiveDetector.h:89
TRTSensitiveDetector::m_energyDepositCorrectionKr
double m_energyDepositCorrectionKr
Definition:
TRTSensitiveDetector.h:61
TRTSensitiveDetector::m_pMaterialAr
G4Material * m_pMaterialAr
Definition:
TRTSensitiveDetector.h:95
TRTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(TRTSensitiveDetectortest, ProcessHits)
TRTSensitiveDetector::m_energyThreshold
double m_energyThreshold
Definition:
TRTSensitiveDetector.h:56
TRTSensitiveDetector::m_energyDeposit
double m_energyDeposit
Definition:
TRTSensitiveDetector.h:73
TRTSensitiveDetector::DeleteObjects
void DeleteObjects()
Called by TRTRunAction::EndOfRunAction ...
Definition:
TRTSensitiveDetector.cxx:336
TRTSensitiveDetector::m_HitColl
SG::WriteHandle< TRTUncompressedHitCollection > m_HitColl
Other member variables.
Definition:
TRTSensitiveDetector.h:85
TRTSensitiveDetector::m_probabilityThresholdAr
double m_probabilityThresholdAr
Definition:
TRTSensitiveDetector.h:63
TRTSensitiveDetector::m_hitsWithZeroEnergyDeposit
int m_hitsWithZeroEnergyDeposit
Definition:
TRTSensitiveDetector.h:54
TRTSensitiveDetector
Definition:
TRTSensitiveDetector.h:25
Args
Definition:
test_lwtnn_fastgraph.cxx:12
TRTSensitiveDetector::m_pProcessingOfEndCapHits
TRTProcessingOfEndCapHits * m_pProcessingOfEndCapHits
Definition:
TRTSensitiveDetector.h:90
TRTSensitiveDetector::m_energyThresholdAr
double m_energyThresholdAr
Definition:
TRTSensitiveDetector.h:62
TRTSensitiveDetector::m_probabilityThresholdKr
double m_probabilityThresholdKr
Definition:
TRTSensitiveDetector.h:60
TRTSensitiveDetector::m_partLink
HepMcParticleLink m_partLink
Definition:
TRTSensitiveDetector.h:70
TRTSensitiveDetector::~TRTSensitiveDetector
~TRTSensitiveDetector()
Definition:
TRTSensitiveDetector.h:35
WriteHandle.h
Handle class for recording to StoreGate.
TRTSensitiveDetector::m_postStepX
double m_postStepX
Definition:
TRTSensitiveDetector.h:78
HepMcParticleLink
a link optimized in size for a GenParticle in a McEventCollection
Definition:
HepMcParticleLink.h:72
TRTSensitiveDetector::m_energyDepositCorrectionAr
double m_energyDepositCorrectionAr
Definition:
TRTSensitiveDetector.h:64
TRTSensitiveDetector::m_pMaterialKr
G4Material * m_pMaterialKr
Definition:
TRTSensitiveDetector.h:94
TRTSensitiveDetector::m_globalTime
double m_globalTime
Definition:
TRTSensitiveDetector.h:81
TRTSensitiveDetector::m_kineticEnergy
double m_kineticEnergy
Definition:
TRTSensitiveDetector.h:72
TRTSensitiveDetector::m_postStepY
double m_postStepY
Definition:
TRTSensitiveDetector.h:79
TRTSensitiveDetector::m_pMaterialXe
G4Material * m_pMaterialXe
Definition:
TRTSensitiveDetector.h:93
TRTSensitiveDetector::m_probabilityThreshold
double m_probabilityThreshold
Definition:
TRTSensitiveDetector.h:57
TRTSensitiveDetector::m_preStepX
double m_preStepX
Definition:
TRTSensitiveDetector.h:75
TRTSensitiveDetector::m_boundaryZ
double m_boundaryZ
Definition:
TRTSensitiveDetector.h:65
TRTProcessingOfBarrelHits
Definition:
TRTProcessingOfBarrelHits.h:16
TRTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(TRTSensitiveDetectortest, AddHit)
TRTSensitiveDetector::m_energyThresholdKr
double m_energyThresholdKr
Definition:
TRTSensitiveDetector.h:59
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:221
TRTSensitiveDetector::ProcessHits
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Definition:
TRTSensitiveDetector.cxx:219
TRTSensitiveDetector::m_pParameters
const TRTParameters * m_pParameters
Definition:
TRTSensitiveDetector.h:87
TRTSensitiveDetector::m_preStepY
double m_preStepY
Definition:
TRTSensitiveDetector.h:76
SG::WriteHandle
Definition:
StoreGate/StoreGate/WriteHandle.h:76
TRTSensitiveDetector::m_postStepZ
double m_postStepZ
Definition:
TRTSensitiveDetector.h:80
TRTUncompressedHitCollection.h
TRTSensitiveDetector::m_energyDepositCorrection
double m_energyDepositCorrection
Definition:
TRTSensitiveDetector.h:58
TRTSensitiveDetector::m_preStepZ
double m_preStepZ
Definition:
TRTSensitiveDetector.h:77
TRTSensitiveDetector::Initialize
void Initialize(G4HCofThisEvent *) override final
Definition:
TRTSensitiveDetector.cxx:168
TRTSensitiveDetector::InitializeHitProcessing
void InitializeHitProcessing()
Definition:
TRTSensitiveDetector.cxx:74
TRTSensitiveDetector::m_particleEncoding
int m_particleEncoding
Definition:
TRTSensitiveDetector.h:71
checker_macros.h
Define macros for attributes used to control the static checker.
TRTSensitiveDetector::m_printMessages
int m_printMessages
Configuration paremeters.
Definition:
TRTSensitiveDetector.h:53
TRTSensitiveDetector::m_hitID
int m_hitID
Properties of current TRTUncompressedHit, set by TRTProcessingOfBarrelHits and TRTProcessingOfEndCapH...
Definition:
TRTSensitiveDetector.h:69
TRTSensitiveDetector::m_phot
G4VProcess * m_phot
Definition:
TRTSensitiveDetector.h:55
TRTSensitiveDetector::AddHit
void AddHit(Args &&... args)
Templated method to stuff a single hit into the sensitive detector class.
Definition:
TRTSensitiveDetector.h:46
python.CaloScaleNoiseConfig.args
args
Definition:
CaloScaleNoiseConfig.py:80
TRTSensitiveDetector::TRTSensitiveDetector
TRTSensitiveDetector(const std::string &name, const std::string &hitCollectionName, int setVerboseLevel=0)
Definition:
TRTSensitiveDetector.cxx:41
Generated on Thu Nov 7 2024 21:31:01 for ATLAS Offline Software by
1.8.18