ATLAS Offline Software
MDTSensitiveDetector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
72 #ifndef MDTSENSITIVEDETECTOR_H
73 #define MDTSENSITIVEDETECTOR_H
74 
75 #include "G4VSensitiveDetector.hh"
76 #include "StoreGate/WriteHandle.h"
78 #include <gtest/gtest_prod.h>
79 
80 class G4TouchableHistory;
81 class MdtHitIdHelper;
82 class MDTSimHit;
83 
84 class MDTSensitiveDetector : public G4VSensitiveDetector {
85 FRIEND_TEST( MDTSensitiveDetectortest, Initialize );
86 FRIEND_TEST( MDTSensitiveDetectortest, ProcessHits );
87 FRIEND_TEST( MDTSensitiveDetectortest, GetIdentifier );
88 
89 public:
91  MDTSensitiveDetector(const std::string& name, const std::string& hitCollectionName, const unsigned int nTubesMax);
93 
95  void Initialize(G4HCofThisEvent* HCE) override final;
96  G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist) override final;
97 
98 private:
99  int GetIdentifier(const G4TouchableHistory* touchHist);
100 
104 
106  double m_globalTime;
108 
111 
112 };
113 
114 #endif
MDTSensitiveDetector::ProcessHits
G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist) override final
Definition: MDTSensitiveDetector.cxx:39
MdtHitIdHelper
Definition: MdtHitIdHelper.h:13
MDTSimHit
Definition: MDTSimHit.h:21
MDTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(MDTSensitiveDetectortest, Initialize)
MDTSensitiveDetector::m_muonHelper
const MdtHitIdHelper * m_muonHelper
Definition: MDTSensitiveDetector.h:103
MDTSensitiveDetector::m_DEFAULT_TUBE_RADIUS
double m_DEFAULT_TUBE_RADIUS
radius assigned to radius if radius is invalid
Definition: MDTSensitiveDetector.h:110
MDTSensitiveDetector
Definition: MDTSensitiveDetector.h:84
MDTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(MDTSensitiveDetectortest, ProcessHits)
WriteHandle.h
Handle class for recording to StoreGate.
MDTSensitiveDetector::Initialize
void Initialize(G4HCofThisEvent *HCE) override final
member functions
Definition: MDTSensitiveDetector.cxx:33
MDTSensitiveDetector::m_localPosition
Amg::Vector3D m_localPosition
Definition: MDTSensitiveDetector.h:107
MDTSensitiveDetector::FRIEND_TEST
FRIEND_TEST(MDTSensitiveDetectortest, GetIdentifier)
MDTSimHitCollection.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MDTSensitiveDetector::m_MDTHitColl
SG::WriteHandle< MDTSimHitCollection > m_MDTHitColl
member data
Definition: MDTSensitiveDetector.h:102
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
MDTSensitiveDetector::MDTSensitiveDetector
MDTSensitiveDetector(const std::string &name, const std::string &hitCollectionName, const unsigned int nTubesMax)
construction/destruction
Definition: MDTSensitiveDetector.cxx:22
MDTSensitiveDetector::GetIdentifier
int GetIdentifier(const G4TouchableHistory *touchHist)
Definition: MDTSensitiveDetector.cxx:132
MDTSensitiveDetector::~MDTSensitiveDetector
~MDTSensitiveDetector()=default
MDTSensitiveDetector::m_driftRadius
double m_driftRadius
Definition: MDTSensitiveDetector.h:105
MDTSensitiveDetector::m_globalTime
double m_globalTime
Definition: MDTSensitiveDetector.h:106