ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
TRTSensitiveDetector Class Reference

#include <TRTSensitiveDetector.h>

Inheritance diagram for TRTSensitiveDetector:
Collaboration diagram for TRTSensitiveDetector:

Public Member Functions

 TRTSensitiveDetector (const std::string &name, const std::string &hitCollectionName, int setVerboseLevel=0)
 
 ~TRTSensitiveDetector ()
 
void Initialize (G4HCofThisEvent *) override final
 
G4bool ProcessHits (G4Step *, G4TouchableHistory *) override final
 
void DeleteObjects ()
 Called by TRTRunAction::EndOfRunAction ... More...
 
template<class... Args>
void AddHit (Args &&... args)
 Templated method to stuff a single hit into the sensitive detector class. More...
 

Private Member Functions

 FRIEND_TEST (TRTSensitiveDetectortest, Initialize)
 
 FRIEND_TEST (TRTSensitiveDetectortest, ProcessHits)
 
 FRIEND_TEST (TRTSensitiveDetectortest, AddHit)
 
void InitializeHitProcessing ()
 

Private Attributes

int m_printMessages
 Configuration paremeters. More...
 
int m_hitsWithZeroEnergyDeposit
 
G4VProcess * m_phot
 
double m_energyThreshold
 
double m_probabilityThreshold
 
double m_energyDepositCorrection
 
double m_energyThresholdKr
 
double m_probabilityThresholdKr
 
double m_energyDepositCorrectionKr
 
double m_energyThresholdAr
 
double m_probabilityThresholdAr
 
double m_energyDepositCorrectionAr
 
double m_boundaryZ
 
int m_hitID
 Properties of current TRTUncompressedHit, set by TRTProcessingOfBarrelHits and TRTProcessingOfEndCapHits friend classes. More...
 
HepMcParticleLink m_partLink
 
int m_particleEncoding
 
double m_kineticEnergy
 
double m_energyDeposit
 
double m_energyDepositInKeV
 
double m_preStepX
 
double m_preStepY
 
double m_preStepZ
 
double m_postStepX
 
double m_postStepY
 
double m_postStepZ
 
double m_globalTime
 
SG::WriteHandle< TRTUncompressedHitCollectionm_HitColl
 Other member variables. More...
 
const TRTParameters * m_pParameters
 
TRTProcessingOfBarrelHitsm_pProcessingOfBarrelHits
 
TRTProcessingOfEndCapHitsm_pProcessingOfEndCapHits
 
G4Material * m_pMaterialXe
 
G4Material * m_pMaterialKr
 
G4Material * m_pMaterialAr
 

Friends

class TRTProcessingOfBarrelHits
 
class TRTProcessingOfEndCapHits
 

Detailed Description

Definition at line 24 of file TRTSensitiveDetector.h.

Constructor & Destructor Documentation

◆ TRTSensitiveDetector()

TRTSensitiveDetector::TRTSensitiveDetector ( const std::string &  name,
const std::string &  hitCollectionName,
int  setVerboseLevel = 0 
)

Definition at line 41 of file TRTSensitiveDetector.cxx.

42  : G4VSensitiveDetector( name ),
43  //Variables properly set during InitializeHitProcessing() method
48  m_boundaryZ(0.0),
49  //End of variables properly set during InitializeHitProcessing() method
50  //Properties of current TRTUncompressedHit
53  m_preStepY(0.0), m_preStepZ(0.0), m_postStepX(0.0), m_postStepY(0.0),
54  m_postStepZ(0.0), m_globalTime(0.0),
55  //End of Properties of current TRTUncompressedHit
56  m_HitColl( hitCollectionName ), m_pParameters(nullptr),
58  m_pMaterialXe(nullptr), m_pMaterialKr(nullptr), m_pMaterialAr(nullptr)
59 {
60  m_pParameters = TRTParameters::GetPointer();
61 
62  m_printMessages = m_pParameters->GetInteger("PrintMessages"); //FIXME not used - remove?
63  verboseLevel = setVerboseLevel;
64 
66 
67  m_pParameters = nullptr;
68 }

◆ ~TRTSensitiveDetector()

TRTSensitiveDetector::~TRTSensitiveDetector ( )
inline

Definition at line 35 of file TRTSensitiveDetector.h.

35 { /* don't own any of the pointers... */ }

Member Function Documentation

◆ AddHit()

template<class... Args>
void TRTSensitiveDetector::AddHit ( Args &&...  args)
inline

Templated method to stuff a single hit into the sensitive detector class.

This could get rather tricky, but the idea is to allow fast simulations to use the very same SD classes as the standard simulation.

Definition at line 46 of file TRTSensitiveDetector.h.

46 { m_HitColl->Emplace( args... ); }

◆ DeleteObjects()

void TRTSensitiveDetector::DeleteObjects ( )

Called by TRTRunAction::EndOfRunAction ...

Definition at line 336 of file TRTSensitiveDetector.cxx.

337 {
338  if(verboseLevel>4)
339  {
340  G4cout << GetName() << " DeleteObjects()" << G4endl;
341  }
342 
345 
346  if(verboseLevel>4)
347  {
348  G4cout << GetName() << " DeleteObjects() done" << G4endl;
349  }
350 }

◆ FRIEND_TEST() [1/3]

TRTSensitiveDetector::FRIEND_TEST ( TRTSensitiveDetectortest  ,
AddHit   
)
private

◆ FRIEND_TEST() [2/3]

TRTSensitiveDetector::FRIEND_TEST ( TRTSensitiveDetectortest  ,
Initialize   
)
private

◆ FRIEND_TEST() [3/3]

TRTSensitiveDetector::FRIEND_TEST ( TRTSensitiveDetectortest  ,
ProcessHits   
)
private

◆ Initialize()

void TRTSensitiveDetector::Initialize ( G4HCofThisEvent *  )
finaloverride

Definition at line 168 of file TRTSensitiveDetector.cxx.

169 {
170  if(verboseLevel>4)
171  {
172  G4cout << GetName() << " Initialize()" << G4endl;
173  }
174 
175  // The following code etablishes a pointer to the "phot" process.
176  // This pointer is used in ProcessHits.
177  // For performance reasons we test directly on the pointer address rather
178  // than doing the string comparison for each hit in ProcessHits.
179 
180  if(!m_phot) { // Only for the first event
181  const G4ProcessVector* pVec =
182  G4Gamma::Definition()->GetProcessManager()->GetProcessList();
183  for(size_t ip=0;ip<pVec->entries();ip++)
184  {
185  if((*pVec)[ip]->GetProcessName()=="phot")
186  {
187  m_phot = (*pVec)[ip];
188  break;
189  }
190  if((*pVec)[ip]->GetProcessName()=="GammaGeneralProc")
191  {
192  G4GammaGeneralProcess *genproc = static_cast<G4GammaGeneralProcess*>((*pVec)[ip]);
193  G4VEmProcess *proc = genproc->GetEmProcess("phot");
194  if (proc && proc->GetProcessName()=="phot")
195  {
196  m_phot = proc;
197  break;
198  }
199  }
200  }
201  }
202  if(!m_phot) {
203  G4cout << GetName() << "ERROR Did not find the photoelectic process!!!" << G4endl;
204  }
205 
206 
207  if (!m_HitColl.isValid()) m_HitColl = std::make_unique<TRTUncompressedHitCollection>();
208 
209  if(verboseLevel>4)
210  {
211  G4cout << GetName() << " Initialize() done" << G4endl;
212  }
213 }

◆ InitializeHitProcessing()

void TRTSensitiveDetector::InitializeHitProcessing ( )
private

Definition at line 74 of file TRTSensitiveDetector.cxx.

75 {
76  if(verboseLevel>4)
77  {
78  G4cout << GetName() << " InitializeHitProcessing()" << G4endl;
79  }
81  m_pParameters->GetInteger("HitsWithZeroEnergyDeposit");
82 
83  m_phot = nullptr;
84 
85  // Parameters describing flourecense in Xe gas mixture:
86  // Units of these numbers in management file are in keV; change to default units
87 
88  m_energyThreshold = m_pParameters->GetDouble("EnergyThreshold" ) * CLHEP::keV;
89  m_energyThresholdKr = m_pParameters->GetDouble("EnergyThresholdKr") * CLHEP::keV;
90  m_energyThresholdAr = m_pParameters->GetDouble("EnergyThresholdAr") * CLHEP::keV;
91  m_probabilityThreshold = m_pParameters->GetDouble("ProbabilityThreshold" );
92  m_probabilityThresholdKr = m_pParameters->GetDouble("ProbabilityThresholdKr");
93  m_probabilityThresholdAr = m_pParameters->GetDouble("ProbabilityThresholdAr");
94  m_energyDepositCorrection = m_pParameters->GetDouble("EnergyDepositCorrection" ) * CLHEP::keV;
95  m_energyDepositCorrectionKr = m_pParameters->GetDouble("EnergyDepositCorrectionKr") * CLHEP::keV;
96  m_energyDepositCorrectionAr = m_pParameters->GetDouble("EnergyDepositCorrectionAr") * CLHEP::keV;
97  if(verboseLevel>9)
98  {
99  G4cout << GetName() << " Fluorescence parameters: EnergyThreshold "
100  << m_energyThreshold << G4endl;
101  G4cout << GetName() << " Fluorescence parameters: EnergyThresholdKr "
102  << m_energyThresholdKr << G4endl;
103  G4cout << GetName() << " Fluorescence parameters: EnergyThresholdAr "
104  << m_energyThresholdAr << G4endl;
105  G4cout << GetName() << " Fluorescence parameters: ProbabilityThreshold "
106  << m_probabilityThreshold << G4endl;
107  G4cout << GetName() << " Fluorescence parameters: ProbabilityThresholdKr "
108  << m_probabilityThresholdKr << G4endl;
109  G4cout << GetName() << " Fluorescence parameters: ProbabilityThresholdAr "
110  << m_probabilityThresholdAr << G4endl;
111  G4cout << GetName() << " Fluorescence parameters: EnergyDepositCorrection "
112  << m_energyDepositCorrection << G4endl;
113  G4cout << GetName() << " Fluorescence parameters: EnergyDepositCorrectionKr "
114  << m_energyDepositCorrectionKr << G4endl;
115  G4cout << GetName() << " Fluorescence parameters: EnergyDepositCorrectionAr "
116  << m_energyDepositCorrectionAr << G4endl;
117  }
118  m_boundaryZ = m_pParameters->GetDouble("LengthOfBarrelVolume") / 2.;
119 
120  TRTParametersForBarrelHits* pParametersForBarrelHits = nullptr;
121  TRTParametersForEndCapHits* pParametersForEndCapHits = nullptr;
122 
125 
126  pParametersForBarrelHits =
128  pParametersForEndCapHits =
130 
131  delete pParametersForBarrelHits;
132  delete pParametersForEndCapHits;
133 
134  // Get nist material manager
135  G4NistManager* nist = G4NistManager::Instance();
136  m_pMaterialXe = nist->FindOrBuildMaterial("trt::XeCO2O2");
137  if (!m_pMaterialXe && verboseLevel>4)
138  {
139  G4cout << GetName() << " Could not find Xe material (Only OK if no TRT straws are filled with Xenon)" << G4endl;
140  }
141  m_pMaterialKr = nist->FindOrBuildMaterial("trt::KrCO2O2");
142  if (!m_pMaterialKr && verboseLevel>4)
143  {
144  G4cout << GetName() << " Could not find Kr material (Only OK if no TRT straws are filled with Krypton)" << G4endl;
145  }
146  m_pMaterialAr = nist->FindOrBuildMaterial("trt::ArCO2O2");
147  if (!m_pMaterialAr && verboseLevel>4)
148  {
149  G4cout << GetName() << " Could not find Ar material (Only OK if no TRT straws are filled with Argon)" << G4endl;
150  }
152  {
153  G4ExceptionDescription description;
154  description << "InitializeHitProcessing: Could not find Xe, Kr or Ar materials (Not OK!)";
155  G4Exception("TRTSensitiveDetector", "NoTRTGasesFound", FatalException, description);
156  }
157 
158  if(verboseLevel>4)
159  {
160  G4cout << GetName() << " InitializeHitProcessing() done" << G4endl;
161  }
162 }

◆ ProcessHits()

bool TRTSensitiveDetector::ProcessHits ( G4Step *  pStep,
G4TouchableHistory *   
)
finaloverride

Definition at line 219 of file TRTSensitiveDetector.cxx.

221 {
222  m_energyDeposit = pStep->GetTotalEnergyDeposit();
223 
224  G4Track* pTrack = pStep->GetTrack();
225  G4ParticleDefinition* pParticleDefinition = pTrack->GetDefinition();
226 
227  // Skip particles which deposit no energy
229  {
230  if ( pParticleDefinition != G4Geantino::Definition() &&
231  pParticleDefinition != G4ChargedGeantino::Definition() )
232  {
233  return false;
234  }
235  }
236 
237  // Skip electrons which originate from a photoelectric process.
238  // These electrons have very low energy and even the PAI model will
239  // give the wrong energy deposit.
240  // Instead we count for a photon which undergoes a "phot" reaction
241  // the full energy as deposited in the interaction point (see below)
242  if(pTrack->GetCreatorProcess()==m_phot)
243  {
244  return false;
245  }
246 
247  // Get kinetic energy of depositing particle
248  m_kineticEnergy = pStep->GetPreStepPoint()->GetKineticEnergy();
249 
250  // If we are dealing with a photon undergoing a "phot" reaction, count
251  // the photon kinetic energy as deposited energy in the point of
252  // the reaction
253 
254  if ( pParticleDefinition==G4Gamma::GammaDefinition() &&
255  pStep->GetPostStepPoint()->GetProcessDefinedStep()==m_phot )
256  {
258  double current_energyThreshold = 1E+99;
259  double current_probabilityThreshold = 2.0;
260  double current_energyDepositCorrection = 0.0;
261  G4Material *pPreStepMaterial = pStep->GetPreStepPoint()->GetMaterial();
262  if (pPreStepMaterial == m_pMaterialXe)
263  {
264  current_energyThreshold = m_energyThreshold;
265  current_probabilityThreshold = m_probabilityThreshold;
266  current_energyDepositCorrection = m_energyDepositCorrection;
267  }
268  else if (pPreStepMaterial == m_pMaterialKr)
269  {
270  current_energyThreshold = m_energyThresholdKr;
271  current_probabilityThreshold = m_probabilityThresholdKr;
272  current_energyDepositCorrection = m_energyDepositCorrectionKr;
273  }
274  else if (pPreStepMaterial == m_pMaterialAr)
275  {
276  current_energyThreshold = m_energyThresholdAr;
277  current_probabilityThreshold = m_probabilityThresholdAr;
278  current_energyDepositCorrection = m_energyDepositCorrectionAr;
279  }
280  else
281  {
282  G4ExceptionDescription description;
283  description << "ProcessHits: Unknown prestep material";
284  G4Exception("TRTSensitiveDetector", "UnknownGasFound", FatalException, description);
285  return false; //The G4Exception call above should abort the job, but Coverity does not seem to pick this up.
286  }
287  // Correct for flourescence (a la Nevski):
288  // - For some percentage (15%) of photons with
289  // energy above threshold (4.9 keV) reduce deposited energy
290  // by correction (4.0 keV)
291  // (Different numbers for Ar and Kr)
292  if ( m_energyDeposit > current_energyThreshold &&
293  CLHEP::RandFlat::shoot() > current_probabilityThreshold )
294  {
295  m_energyDeposit -= current_energyDepositCorrection;
296  }
297  }
298 
299 
300  // Particle code of depositing particle
301  m_particleEncoding = pParticleDefinition->GetPDGEncoding();
302 
303  bool trackerHit = false;
304 
305  if ( std::fabs(pStep->GetPreStepPoint()->GetPosition().z()) < m_boundaryZ )
306  {
307  trackerHit = m_pProcessingOfBarrelHits->ProcessHit(pStep);
308  }
309  else
310  {
311  trackerHit = m_pProcessingOfEndCapHits->ProcessHit(pStep);
312  }
313 
314  // TRTUncompressedHit appearently expects energyDeposit in keV.
315  // Convert:
317 
318  // Create UncompressedHit
319 
320  if (trackerHit)
321  {
322  // Build the hit straight onto the vector
324  (float) m_kineticEnergy, (float) m_energyDepositInKeV,
325  (float) m_preStepX, (float) m_preStepY, (float) m_preStepZ,
326  (float) m_postStepX, (float) m_postStepY, (float) m_postStepZ,
327  (float) m_globalTime );
328  }
329 
330  return true;
331 }

Friends And Related Function Documentation

◆ TRTProcessingOfBarrelHits

friend class TRTProcessingOfBarrelHits
friend

Definition at line 30 of file TRTSensitiveDetector.h.

◆ TRTProcessingOfEndCapHits

friend class TRTProcessingOfEndCapHits
friend

Definition at line 31 of file TRTSensitiveDetector.h.

Member Data Documentation

◆ m_boundaryZ

double TRTSensitiveDetector::m_boundaryZ
private

Definition at line 65 of file TRTSensitiveDetector.h.

◆ m_energyDeposit

double TRTSensitiveDetector::m_energyDeposit
private

Definition at line 73 of file TRTSensitiveDetector.h.

◆ m_energyDepositCorrection

double TRTSensitiveDetector::m_energyDepositCorrection
private

Definition at line 58 of file TRTSensitiveDetector.h.

◆ m_energyDepositCorrectionAr

double TRTSensitiveDetector::m_energyDepositCorrectionAr
private

Definition at line 64 of file TRTSensitiveDetector.h.

◆ m_energyDepositCorrectionKr

double TRTSensitiveDetector::m_energyDepositCorrectionKr
private

Definition at line 61 of file TRTSensitiveDetector.h.

◆ m_energyDepositInKeV

double TRTSensitiveDetector::m_energyDepositInKeV
private

Definition at line 74 of file TRTSensitiveDetector.h.

◆ m_energyThreshold

double TRTSensitiveDetector::m_energyThreshold
private

Definition at line 56 of file TRTSensitiveDetector.h.

◆ m_energyThresholdAr

double TRTSensitiveDetector::m_energyThresholdAr
private

Definition at line 62 of file TRTSensitiveDetector.h.

◆ m_energyThresholdKr

double TRTSensitiveDetector::m_energyThresholdKr
private

Definition at line 59 of file TRTSensitiveDetector.h.

◆ m_globalTime

double TRTSensitiveDetector::m_globalTime
private

Definition at line 81 of file TRTSensitiveDetector.h.

◆ m_HitColl

SG::WriteHandle<TRTUncompressedHitCollection> TRTSensitiveDetector::m_HitColl
private

Other member variables.

Definition at line 85 of file TRTSensitiveDetector.h.

◆ m_hitID

int TRTSensitiveDetector::m_hitID
private

Properties of current TRTUncompressedHit, set by TRTProcessingOfBarrelHits and TRTProcessingOfEndCapHits friend classes.

Definition at line 69 of file TRTSensitiveDetector.h.

◆ m_hitsWithZeroEnergyDeposit

int TRTSensitiveDetector::m_hitsWithZeroEnergyDeposit
private

Definition at line 54 of file TRTSensitiveDetector.h.

◆ m_kineticEnergy

double TRTSensitiveDetector::m_kineticEnergy
private

Definition at line 72 of file TRTSensitiveDetector.h.

◆ m_particleEncoding

int TRTSensitiveDetector::m_particleEncoding
private

Definition at line 71 of file TRTSensitiveDetector.h.

◆ m_partLink

HepMcParticleLink TRTSensitiveDetector::m_partLink
private

Definition at line 70 of file TRTSensitiveDetector.h.

◆ m_phot

G4VProcess* TRTSensitiveDetector::m_phot
private

Definition at line 55 of file TRTSensitiveDetector.h.

◆ m_pMaterialAr

G4Material* TRTSensitiveDetector::m_pMaterialAr
private

Definition at line 95 of file TRTSensitiveDetector.h.

◆ m_pMaterialKr

G4Material* TRTSensitiveDetector::m_pMaterialKr
private

Definition at line 94 of file TRTSensitiveDetector.h.

◆ m_pMaterialXe

G4Material* TRTSensitiveDetector::m_pMaterialXe
private

Definition at line 93 of file TRTSensitiveDetector.h.

◆ m_postStepX

double TRTSensitiveDetector::m_postStepX
private

Definition at line 78 of file TRTSensitiveDetector.h.

◆ m_postStepY

double TRTSensitiveDetector::m_postStepY
private

Definition at line 79 of file TRTSensitiveDetector.h.

◆ m_postStepZ

double TRTSensitiveDetector::m_postStepZ
private

Definition at line 80 of file TRTSensitiveDetector.h.

◆ m_pParameters

const TRTParameters* TRTSensitiveDetector::m_pParameters
private

Definition at line 87 of file TRTSensitiveDetector.h.

◆ m_pProcessingOfBarrelHits

TRTProcessingOfBarrelHits* TRTSensitiveDetector::m_pProcessingOfBarrelHits
private

Definition at line 89 of file TRTSensitiveDetector.h.

◆ m_pProcessingOfEndCapHits

TRTProcessingOfEndCapHits* TRTSensitiveDetector::m_pProcessingOfEndCapHits
private

Definition at line 90 of file TRTSensitiveDetector.h.

◆ m_preStepX

double TRTSensitiveDetector::m_preStepX
private

Definition at line 75 of file TRTSensitiveDetector.h.

◆ m_preStepY

double TRTSensitiveDetector::m_preStepY
private

Definition at line 76 of file TRTSensitiveDetector.h.

◆ m_preStepZ

double TRTSensitiveDetector::m_preStepZ
private

Definition at line 77 of file TRTSensitiveDetector.h.

◆ m_printMessages

int TRTSensitiveDetector::m_printMessages
private

Configuration paremeters.

Definition at line 53 of file TRTSensitiveDetector.h.

◆ m_probabilityThreshold

double TRTSensitiveDetector::m_probabilityThreshold
private

Definition at line 57 of file TRTSensitiveDetector.h.

◆ m_probabilityThresholdAr

double TRTSensitiveDetector::m_probabilityThresholdAr
private

Definition at line 63 of file TRTSensitiveDetector.h.

◆ m_probabilityThresholdKr

double TRTSensitiveDetector::m_probabilityThresholdKr
private

Definition at line 60 of file TRTSensitiveDetector.h.


The documentation for this class was generated from the following files:
TRTSensitiveDetector::m_energyDepositInKeV
double m_energyDepositInKeV
Definition: TRTSensitiveDetector.h:74
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::m_energyThreshold
double m_energyThreshold
Definition: TRTSensitiveDetector.h:56
TRTSensitiveDetector::m_energyDeposit
double m_energyDeposit
Definition: TRTSensitiveDetector.h:73
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::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
python.SystemOfUnits.keV
int keV
Definition: SystemOfUnits.py:156
TRTSensitiveDetector::m_postStepX
double m_postStepX
Definition: TRTSensitiveDetector.h:78
TRTSensitiveDetector::m_energyDepositCorrectionAr
double m_energyDepositCorrectionAr
Definition: TRTSensitiveDetector.h:64
TRTParametersForEndCapHits
Definition: TRTParametersForEndCapHits.h:14
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
TRTParametersForBarrelHits
Definition: TRTParametersForBarrelHits.h:14
TRTSensitiveDetector::m_postStepY
double m_postStepY
Definition: TRTSensitiveDetector.h:79
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
TRTSensitiveDetector::TRTProcessingOfEndCapHits
friend class TRTProcessingOfEndCapHits
Definition: TRTSensitiveDetector.h:31
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
TRTSensitiveDetector::m_energyThresholdKr
double m_energyThresholdKr
Definition: TRTSensitiveDetector.h:59
mc.proc
proc
Definition: mc.PhPy8EG_A14NNPDF23_gg4l_example.py:22
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
TRTSensitiveDetector::TRTProcessingOfBarrelHits
friend class TRTProcessingOfBarrelHits
Definition: TRTSensitiveDetector.h:30
TRTSensitiveDetector::m_pParameters
const TRTParameters * m_pParameters
Definition: TRTSensitiveDetector.h:87
TRTSensitiveDetector::m_preStepY
double m_preStepY
Definition: TRTSensitiveDetector.h:76
TRTSensitiveDetector::m_postStepZ
double m_postStepZ
Definition: TRTSensitiveDetector.h:80
TRTProcessingOfBarrelHits::ProcessHit
bool ProcessHit(G4Step *)
Definition: TRTProcessingOfBarrelHits.cxx:123
TRTSensitiveDetector::m_energyDepositCorrection
double m_energyDepositCorrection
Definition: TRTSensitiveDetector.h:58
TRTSensitiveDetector::m_preStepZ
double m_preStepZ
Definition: TRTSensitiveDetector.h:77
TRTProcessingOfEndCapHits::ProcessHit
bool ProcessHit(G4Step *)
Definition: TRTProcessingOfEndCapHits.cxx:87
TRTSensitiveDetector::InitializeHitProcessing
void InitializeHitProcessing()
Definition: TRTSensitiveDetector.cxx:74
TRTSensitiveDetector::m_particleEncoding
int m_particleEncoding
Definition: TRTSensitiveDetector.h:71
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
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88