From 6fa30b65da2d98526bc0840e7545fb1d0f20e0d5 Mon Sep 17 00:00:00 2001 From: Daniel Jeans Date: Fri, 20 Jun 2025 11:35:06 +0900 Subject: [PATCH 1/2] reduce number of times geometry info is loaded --- source/Digitisers/src/DDTPCDigiProcessor.cc | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/source/Digitisers/src/DDTPCDigiProcessor.cc b/source/Digitisers/src/DDTPCDigiProcessor.cc index 547a3c8..5c3e3c4 100644 --- a/source/Digitisers/src/DDTPCDigiProcessor.cc +++ b/source/Digitisers/src/DDTPCDigiProcessor.cc @@ -391,6 +391,10 @@ void DDTPCDigiProcessor::processEvent(LCEvent* evt) { } catch (DataNotAvailableException& e) { } + FixedPadSizeDiskLayout padLayout(_tpc); + double TPCPadPlaneRMin = _tpc->rMinReadout / dd4hep::mm; + double TPCPadPlaneRMax = _tpc->rMaxReadout / dd4hep::mm; + float edep0 = 0.0; if (STHcol != 0) { int n_sim_hits = STHcol->getNumberOfElements(); @@ -638,12 +642,8 @@ void DDTPCDigiProcessor::processEvent(LCEvent* evt) { double tpcZRes = sqrt((_pointResoZ0 * _pointResoZ0) + (_diffZ * _diffZ) * (driftLength / 10.0)); // driftLength in cm - FixedPadSizeDiskLayout padLayout(_tpc); int padIndex = padLayout.getNearestPad(thisPoint.perp(), thisPoint.phi()); - double TPCPadPlaneRMin = _tpc->rMinReadout / dd4hep::mm; - double TPCPadPlaneRMax = _tpc->rMaxReadout / dd4hep::mm; - int iRowHit = padLayout.getRowNumber(padIndex); int iPhiHit = padLayout.getPadNumber(padIndex); @@ -717,11 +717,6 @@ void DDTPCDigiProcessor::processEvent(LCEvent* evt) { CLHEP::Hep3Vector thisPoint(_SimTHit->getPosition()[0], _SimTHit->getPosition()[1], _SimTHit->getPosition()[2]); - FixedPadSizeDiskLayout padLayout(_tpc); - const std::vector& planeExt = padLayout.getPlaneExtent(); - double TPCPadPlaneRMin = planeExt[0]; - double TPCPadPlaneRMax = planeExt[1]; - int NBinsZ = (int)((2.0 * _tpc->driftLength / dd4hep::mm) / _binningZ); if ((thisPoint.perp() < TPCPadPlaneRMin) || (thisPoint.perp() > TPCPadPlaneRMax)) { @@ -1308,7 +1303,7 @@ void DDTPCDigiProcessor::plotHelixHitResidual(MCParticle* mcp, CLHEP::Hep3Vector int row = padLayout.getRowNumber(padLayout.getNearestPad(thisPoint->perp(), thisPoint->phi())); int pad = padLayout.getNearestPad(thisPoint->perp(), thisPoint->phi()); - double rHit_diff = thisPoint->perp() - padLayout.getPlaneExtent()[0] - ((row + 0.5) * _tpc->padHeight / dd4hep::mm); + double rHit_diff = thisPoint->perp() - TPCPadPlaneRMin - ((row + 0.5) * _tpc->padHeight / dd4hep::mm); _radiusCheckHisto->fill(rHit_diff); From 7d2768e8ac75705f5d0e15571403d3b1d86c7c8d Mon Sep 17 00:00:00 2001 From: Daniel Jeans Date: Fri, 20 Jun 2025 16:44:34 +0900 Subject: [PATCH 2/2] const definition --- source/Digitisers/src/DDTPCDigiProcessor.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/Digitisers/src/DDTPCDigiProcessor.cc b/source/Digitisers/src/DDTPCDigiProcessor.cc index 5c3e3c4..b761a97 100644 --- a/source/Digitisers/src/DDTPCDigiProcessor.cc +++ b/source/Digitisers/src/DDTPCDigiProcessor.cc @@ -391,9 +391,9 @@ void DDTPCDigiProcessor::processEvent(LCEvent* evt) { } catch (DataNotAvailableException& e) { } - FixedPadSizeDiskLayout padLayout(_tpc); - double TPCPadPlaneRMin = _tpc->rMinReadout / dd4hep::mm; - double TPCPadPlaneRMax = _tpc->rMaxReadout / dd4hep::mm; + const FixedPadSizeDiskLayout padLayout(_tpc); + const double TPCPadPlaneRMin = _tpc->rMinReadout / dd4hep::mm; + const double TPCPadPlaneRMax = _tpc->rMaxReadout / dd4hep::mm; float edep0 = 0.0; if (STHcol != 0) {