7 #include "G4ThreeVector.hh"
13 #include "GaudiKernel/SystemOfUnits.h"
14 #include "GeoModelKernel/throwExcept.h"
21 G4bool TgcSensitiveDetector::ProcessHits(G4Step* aStep, G4TouchableHistory*) {
23 if (!processStep(aStep)) {
27 const G4TouchableHistory* touchHist =
static_cast<const G4TouchableHistory*
>(aStep->GetPreStepPoint()->GetTouchable());
37 <<touchHist->GetHistory()->GetTopVolume()->GetName()
40 const Identifier etaHitID = getIdentifier(gctx, readOutEle, localToGlobal.translation(),
false);
41 if (!etaHitID.is_valid()) {
47 propagateAndSaveStrip(etaHitID, toGasGap, aStep);
52 const std::string stationVolume = touchHist->GetVolume(2)->GetName();
57 const size_t nTokens{volumeTokens.size()};
58 const TgcIdHelper& idHelper{m_detMgr->idHelperSvc()->tgcIdHelper()};
59 const std::string
stationName{volumeTokens[nTokens-4].substr(0,3)};
67 return m_detMgr->getTgcReadoutElement(stationId);
73 const TgcIdHelper& idHelper{m_detMgr->idHelperSvc()->tgcIdHelper()};
79 ATH_MSG_VERBOSE(
"Detector element: "<<m_detMgr->idHelperSvc()->toStringDetEl(firstChan)
84 return idHelper.channelID(readOutEle->
identify(),
gasGap, phiGap, 1);