ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
AtlasG4EventUserInfo
;
20
21
class
G4HCofThisEvent;
22
class
G4Step;
23
class
G4TouchableHistory;
24
25
class
TRTSensitiveDetector
:
public
G4VSensitiveDetector
26
{
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
std::string
m_HitCollName
;
86
TRTUncompressedHitCollection
*
m_HitColl
{
nullptr
};
//pUncompressedHitCollection;
87
AtlasG4EventUserInfo
*
m_g4UserEventInfo
{
nullptr
};
88
89
const
TRTParameters*
m_pParameters
;
90
91
TRTProcessingOfBarrelHits
*
m_pProcessingOfBarrelHits
;
92
TRTProcessingOfEndCapHits
*
m_pProcessingOfEndCapHits
;
93
94
// Gas switches
95
G4Material *
m_pMaterialXe
;
96
G4Material *
m_pMaterialKr
;
97
G4Material *
m_pMaterialAr
;
98
};
99
100
#endif
//TRT_G4_SD_TRTSensitiveDetector_h
TRTUncompressedHitCollection.h
TRTUncompressedHitCollection
AtlasHitsVector< TRTUncompressedHit > TRTUncompressedHitCollection
Definition
TRTUncompressedHitCollection.h:16
checker_macros.h
Define macros for attributes used to control the static checker.
AtlasG4EventUserInfo
This class is attached to G4Event objects as UserInformation.
Definition
AtlasG4EventUserInfo.h:26
HepMcParticleLink
a link optimized in size for a GenParticle in a McEventCollection
Definition
HepMcParticleLink.h:72
TRTProcessingOfBarrelHits
Definition
TRTProcessingOfBarrelHits.h:16
TRTProcessingOfEndCapHits
Definition
TRTProcessingOfEndCapHits.h:16
TRTSensitiveDetector::m_phot
G4VProcess * m_phot
Definition
TRTSensitiveDetector.h:55
TRTSensitiveDetector::m_HitCollName
std::string m_HitCollName
Other member variables.
Definition
TRTSensitiveDetector.h:85
TRTSensitiveDetector::m_postStepX
double m_postStepX
Definition
TRTSensitiveDetector.h:78
TRTSensitiveDetector::TRTSensitiveDetector
TRTSensitiveDetector(const std::string &name, const std::string &hitCollectionName, int setVerboseLevel=0)
Definition
TRTSensitiveDetector.cxx:42
TRTSensitiveDetector::m_probabilityThresholdAr
double m_probabilityThresholdAr
Definition
TRTSensitiveDetector.h:63
TRTSensitiveDetector::m_HitColl
TRTUncompressedHitCollection * m_HitColl
Definition
TRTSensitiveDetector.h:86
TRTSensitiveDetector::Initialize
void Initialize(G4HCofThisEvent *) override final
Definition
TRTSensitiveDetector.cxx:169
TRTSensitiveDetector::DeleteObjects
void DeleteObjects()
Called by TRTRunAction::EndOfRunAction ...
Definition
TRTSensitiveDetector.cxx:344
TRTSensitiveDetector::m_partLink
HepMcParticleLink m_partLink
Definition
TRTSensitiveDetector.h:70
TRTSensitiveDetector::m_pMaterialXe
G4Material * m_pMaterialXe
Definition
TRTSensitiveDetector.h:95
TRTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(TRTSensitiveDetectortest, ProcessHits)
TRTSensitiveDetector::m_postStepZ
double m_postStepZ
Definition
TRTSensitiveDetector.h:80
TRTSensitiveDetector::m_preStepZ
double m_preStepZ
Definition
TRTSensitiveDetector.h:77
TRTSensitiveDetector::m_energyDeposit
double m_energyDeposit
Definition
TRTSensitiveDetector.h:73
TRTSensitiveDetector::m_preStepY
double m_preStepY
Definition
TRTSensitiveDetector.h:76
TRTSensitiveDetector::TRTProcessingOfEndCapHits
friend class TRTProcessingOfEndCapHits
Definition
TRTSensitiveDetector.h:31
TRTSensitiveDetector::InitializeHitProcessing
void InitializeHitProcessing()
Definition
TRTSensitiveDetector.cxx:75
TRTSensitiveDetector::m_energyThreshold
double m_energyThreshold
Definition
TRTSensitiveDetector.h:56
TRTSensitiveDetector::m_energyDepositInKeV
double m_energyDepositInKeV
Definition
TRTSensitiveDetector.h:74
TRTSensitiveDetector::m_hitID
int m_hitID
Properties of current TRTUncompressedHit, set by TRTProcessingOfBarrelHits and TRTProcessingOfEndCapH...
Definition
TRTSensitiveDetector.h:69
TRTSensitiveDetector::m_particleEncoding
int m_particleEncoding
Definition
TRTSensitiveDetector.h:71
TRTSensitiveDetector::m_boundaryZ
double m_boundaryZ
Definition
TRTSensitiveDetector.h:65
TRTSensitiveDetector::m_probabilityThresholdKr
double m_probabilityThresholdKr
Definition
TRTSensitiveDetector.h:60
TRTSensitiveDetector::m_energyDepositCorrectionKr
double m_energyDepositCorrectionKr
Definition
TRTSensitiveDetector.h:61
TRTSensitiveDetector::m_postStepY
double m_postStepY
Definition
TRTSensitiveDetector.h:79
TRTSensitiveDetector::m_pParameters
const TRTParameters * m_pParameters
Definition
TRTSensitiveDetector.h:89
TRTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(TRTSensitiveDetectortest, AddHit)
TRTSensitiveDetector::m_energyDepositCorrectionAr
double m_energyDepositCorrectionAr
Definition
TRTSensitiveDetector.h:64
TRTSensitiveDetector::m_energyDepositCorrection
double m_energyDepositCorrection
Definition
TRTSensitiveDetector.h:58
TRTSensitiveDetector::AddHit
void AddHit(Args &&... args)
Templated method to stuff a single hit into the sensitive detector class.
Definition
TRTSensitiveDetector.h:46
TRTSensitiveDetector::m_pProcessingOfEndCapHits
TRTProcessingOfEndCapHits * m_pProcessingOfEndCapHits
Definition
TRTSensitiveDetector.h:92
TRTSensitiveDetector::~TRTSensitiveDetector
~TRTSensitiveDetector()
Definition
TRTSensitiveDetector.h:35
TRTSensitiveDetector::m_printMessages
int m_printMessages
Configuration paremeters.
Definition
TRTSensitiveDetector.h:53
TRTSensitiveDetector::m_kineticEnergy
double m_kineticEnergy
Definition
TRTSensitiveDetector.h:72
TRTSensitiveDetector::m_probabilityThreshold
double m_probabilityThreshold
Definition
TRTSensitiveDetector.h:57
TRTSensitiveDetector::m_pMaterialAr
G4Material * m_pMaterialAr
Definition
TRTSensitiveDetector.h:97
TRTSensitiveDetector::m_energyThresholdKr
double m_energyThresholdKr
Definition
TRTSensitiveDetector.h:59
TRTSensitiveDetector::ProcessHits
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override final
Definition
TRTSensitiveDetector.cxx:227
TRTSensitiveDetector::TRTProcessingOfBarrelHits
friend class TRTProcessingOfBarrelHits
Definition
TRTSensitiveDetector.h:30
TRTSensitiveDetector::m_pMaterialKr
G4Material * m_pMaterialKr
Definition
TRTSensitiveDetector.h:96
TRTSensitiveDetector::m_hitsWithZeroEnergyDeposit
int m_hitsWithZeroEnergyDeposit
Definition
TRTSensitiveDetector.h:54
TRTSensitiveDetector::m_energyThresholdAr
double m_energyThresholdAr
Definition
TRTSensitiveDetector.h:62
TRTSensitiveDetector::m_globalTime
double m_globalTime
Definition
TRTSensitiveDetector.h:81
TRTSensitiveDetector::m_preStepX
double m_preStepX
Definition
TRTSensitiveDetector.h:75
TRTSensitiveDetector::m_pProcessingOfBarrelHits
TRTProcessingOfBarrelHits * m_pProcessingOfBarrelHits
Definition
TRTSensitiveDetector.h:91
TRTSensitiveDetector::m_g4UserEventInfo
AtlasG4EventUserInfo * m_g4UserEventInfo
Definition
TRTSensitiveDetector.h:87
Args
Definition
test_lwtnn_fastgraph.cxx:12
Generated on
for ATLAS Offline Software by
1.17.0