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 <gtest/gtest_prod.h>
14
15
class
TRTParameters;
16
class
TRTProcessingOfBarrelHits
;
17
class
TRTProcessingOfEndCapHits
;
18
19
class
G4HCofThisEvent;
20
class
G4Step;
21
class
G4TouchableHistory;
22
23
class
TRTSensitiveDetector
:
public
G4VSensitiveDetector
24
{
25
FRIEND_TEST
( TRTSensitiveDetectortest,
ProcessHits
);
26
FRIEND_TEST
( TRTSensitiveDetectortest,
AddHit
);
27
28
friend
class
TRTProcessingOfBarrelHits
;
29
friend
class
TRTProcessingOfEndCapHits
;
30
31
public
:
32
TRTSensitiveDetector
(
const
std::string&
name
,
const
std::string& hitCollectionName,
int
setVerboseLevel=0);
33
~TRTSensitiveDetector
() {
/* don't own any of the pointers... */
}
34
35
void
Initialize
(G4HCofThisEvent*)
override
final
;
36
G4bool
ProcessHits
(G4Step*, G4TouchableHistory*)
override
final
;
37
39
void
DeleteObjects
();
40
44
template
<
class
...
Args
>
void
AddHit
(
Args
&&...
args
){
m_HitColl
->
Emplace
(
args
... ); }
45
46
private
:
47
void
InitializeHitProcessing
();
48
//FIXME all class variables should have an "m_" prefix.
49
51
int
m_printMessages
;
// FIXME not used anywhere?
52
int
m_hitsWithZeroEnergyDeposit
;
53
G4VProcess*
m_phot
;
54
double
m_energyThreshold
;
55
double
m_probabilityThreshold
;
56
double
m_energyDepositCorrection
;
57
double
m_energyThresholdKr
;
58
double
m_probabilityThresholdKr
;
59
double
m_energyDepositCorrectionKr
;
60
double
m_energyThresholdAr
;
61
double
m_probabilityThresholdAr
;
62
double
m_energyDepositCorrectionAr
;
63
double
m_boundaryZ
;
64
67
int
m_hitID
;
68
HepMcParticleLink
m_partLink
;
69
int
m_particleEncoding
;
70
double
m_kineticEnergy
;
71
double
m_energyDeposit
;
72
double
m_energyDepositInKeV
;
73
double
m_preStepX
;
74
double
m_preStepY
;
75
double
m_preStepZ
;
76
double
m_postStepX
;
77
double
m_postStepY
;
78
double
m_postStepZ
;
79
double
m_globalTime
;
80
82
// The hits collection
83
std::string
m_HitCollName
;
84
TRTUncompressedHitCollection
*
m_HitColl
{
nullptr
};
//pUncompressedHitCollection;
85
86
const
TRTParameters*
m_pParameters
;
87
88
TRTProcessingOfBarrelHits
*
m_pProcessingOfBarrelHits
;
89
TRTProcessingOfEndCapHits
*
m_pProcessingOfEndCapHits
;
90
91
// Gas switches
92
G4Material *
m_pMaterialXe
;
93
G4Material *
m_pMaterialKr
;
94
G4Material *
m_pMaterialAr
;
95
};
96
97
#endif //TRT_G4_SD_TRTSensitiveDetector_h
TRTSensitiveDetector::m_energyDepositInKeV
double m_energyDepositInKeV
Definition:
TRTSensitiveDetector.h:72
TRTProcessingOfEndCapHits
Definition:
TRTProcessingOfEndCapHits.h:16
TRTSensitiveDetector::m_pProcessingOfBarrelHits
TRTProcessingOfBarrelHits * m_pProcessingOfBarrelHits
Definition:
TRTSensitiveDetector.h:88
python.CaloAddPedShiftConfig.args
args
Definition:
CaloAddPedShiftConfig.py:47
TRTSensitiveDetector::m_HitCollName
std::string m_HitCollName
Other member variables.
Definition:
TRTSensitiveDetector.h:83
TRTSensitiveDetector::m_energyDepositCorrectionKr
double m_energyDepositCorrectionKr
Definition:
TRTSensitiveDetector.h:59
TRTSensitiveDetector::m_pMaterialAr
G4Material * m_pMaterialAr
Definition:
TRTSensitiveDetector.h:94
TRTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(TRTSensitiveDetectortest, ProcessHits)
TRTSensitiveDetector::m_energyThreshold
double m_energyThreshold
Definition:
TRTSensitiveDetector.h:54
AtlasHitsVector
Definition:
AtlasHitsVector.h:32
TRTSensitiveDetector::m_energyDeposit
double m_energyDeposit
Definition:
TRTSensitiveDetector.h:71
TRTSensitiveDetector::DeleteObjects
void DeleteObjects()
Called by TRTRunAction::EndOfRunAction ...
Definition:
TRTSensitiveDetector.cxx:343
TRTSensitiveDetector::m_probabilityThresholdAr
double m_probabilityThresholdAr
Definition:
TRTSensitiveDetector.h:61
TRTSensitiveDetector::m_hitsWithZeroEnergyDeposit
int m_hitsWithZeroEnergyDeposit
Definition:
TRTSensitiveDetector.h:52
TRTSensitiveDetector
Definition:
TRTSensitiveDetector.h:24
Args
Definition:
test_lwtnn_fastgraph.cxx:12
TRTSensitiveDetector::m_pProcessingOfEndCapHits
TRTProcessingOfEndCapHits * m_pProcessingOfEndCapHits
Definition:
TRTSensitiveDetector.h:89
TRTSensitiveDetector::m_energyThresholdAr
double m_energyThresholdAr
Definition:
TRTSensitiveDetector.h:60
TRTSensitiveDetector::m_probabilityThresholdKr
double m_probabilityThresholdKr
Definition:
TRTSensitiveDetector.h:58
TRTSensitiveDetector::m_partLink
HepMcParticleLink m_partLink
Definition:
TRTSensitiveDetector.h:68
AtlasHitsVector::Emplace
void Emplace(Args &&... args)
Definition:
AtlasHitsVector.h:80
TRTSensitiveDetector::~TRTSensitiveDetector
~TRTSensitiveDetector()
Definition:
TRTSensitiveDetector.h:33
TRTSensitiveDetector::m_postStepX
double m_postStepX
Definition:
TRTSensitiveDetector.h:76
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:62
TRTSensitiveDetector::m_pMaterialKr
G4Material * m_pMaterialKr
Definition:
TRTSensitiveDetector.h:93
TRTSensitiveDetector::m_globalTime
double m_globalTime
Definition:
TRTSensitiveDetector.h:79
TRTSensitiveDetector::m_kineticEnergy
double m_kineticEnergy
Definition:
TRTSensitiveDetector.h:70
TRTSensitiveDetector::m_postStepY
double m_postStepY
Definition:
TRTSensitiveDetector.h:77
TRTSensitiveDetector::m_pMaterialXe
G4Material * m_pMaterialXe
Definition:
TRTSensitiveDetector.h:92
TRTSensitiveDetector::m_probabilityThreshold
double m_probabilityThreshold
Definition:
TRTSensitiveDetector.h:55
TRTSensitiveDetector::m_preStepX
double m_preStepX
Definition:
TRTSensitiveDetector.h:73
TRTSensitiveDetector::m_boundaryZ
double m_boundaryZ
Definition:
TRTSensitiveDetector.h:63
TRTProcessingOfBarrelHits
Definition:
TRTProcessingOfBarrelHits.h:16
TRTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(TRTSensitiveDetectortest, AddHit)
TRTSensitiveDetector::m_energyThresholdKr
double m_energyThresholdKr
Definition:
TRTSensitiveDetector.h:57
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:240
TRTSensitiveDetector::ProcessHits
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Definition:
TRTSensitiveDetector.cxx:226
TRTSensitiveDetector::m_pParameters
const TRTParameters * m_pParameters
Definition:
TRTSensitiveDetector.h:86
TRTSensitiveDetector::m_preStepY
double m_preStepY
Definition:
TRTSensitiveDetector.h:74
TRTSensitiveDetector::m_postStepZ
double m_postStepZ
Definition:
TRTSensitiveDetector.h:78
TRTUncompressedHitCollection.h
TRTSensitiveDetector::m_HitColl
TRTUncompressedHitCollection * m_HitColl
Definition:
TRTSensitiveDetector.h:84
TRTSensitiveDetector::m_energyDepositCorrection
double m_energyDepositCorrection
Definition:
TRTSensitiveDetector.h:56
TRTSensitiveDetector::m_preStepZ
double m_preStepZ
Definition:
TRTSensitiveDetector.h:75
TRTSensitiveDetector::Initialize
void Initialize(G4HCofThisEvent *) override final
Definition:
TRTSensitiveDetector.cxx:169
TRTSensitiveDetector::InitializeHitProcessing
void InitializeHitProcessing()
Definition:
TRTSensitiveDetector.cxx:75
TRTSensitiveDetector::m_particleEncoding
int m_particleEncoding
Definition:
TRTSensitiveDetector.h:69
checker_macros.h
Define macros for attributes used to control the static checker.
TRTSensitiveDetector::m_printMessages
int m_printMessages
Configuration paremeters.
Definition:
TRTSensitiveDetector.h:51
TRTSensitiveDetector::m_hitID
int m_hitID
Properties of current TRTUncompressedHit, set by TRTProcessingOfBarrelHits and TRTProcessingOfEndCapH...
Definition:
TRTSensitiveDetector.h:67
TRTSensitiveDetector::m_phot
G4VProcess * m_phot
Definition:
TRTSensitiveDetector.h:53
TRTSensitiveDetector::AddHit
void AddHit(Args &&... args)
Templated method to stuff a single hit into the sensitive detector class.
Definition:
TRTSensitiveDetector.h:44
TRTSensitiveDetector::TRTSensitiveDetector
TRTSensitiveDetector(const std::string &name, const std::string &hitCollectionName, int setVerboseLevel=0)
Definition:
TRTSensitiveDetector.cxx:42
Generated on Mon Sep 1 2025 21:23:14 for ATLAS Offline Software by
1.8.18