From 8a9ae13bc4aad27c0e55bb6b8acb38654cc422f5 Mon Sep 17 00:00:00 2001 From: Bohdan Dudar Date: Tue, 12 Oct 2021 15:31:37 +0200 Subject: [PATCH] Implement Thomas comment --- .../Digitisers/src/DDPlanarDigiProcessor.cc | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/source/Digitisers/src/DDPlanarDigiProcessor.cc b/source/Digitisers/src/DDPlanarDigiProcessor.cc index 819ff2a..88346a7 100644 --- a/source/Digitisers/src/DDPlanarDigiProcessor.cc +++ b/source/Digitisers/src/DDPlanarDigiProcessor.cc @@ -416,25 +416,24 @@ void DDPlanarDigiProcessor::processEvent( LCEvent * evt ) { // dd4hep::rec::Vector3D newPosTmp = oldPos + uSmear * u ; // if( ! _isStrip ) newPosTmp = newPosTmp + vSmear * v ; - double xStripPos, yStripPos, zStripPos; - if ( _subDetName == "SET" && _isStrip){ - //Find intersection of the strip with the z=centerOfSensor plane to set it as the center of the SET strip - dd4hep::rec::Vector3D simHitPosSmeared = (1./dd4hep::mm) * ( surf->localToGlobal( dd4hep::rec::Vector2D( (uL+uSmear)*dd4hep::mm, 0.) ) ); - zStripPos = surf->origin()[2] / dd4hep::mm ; - double lineParam = (zStripPos - simHitPosSmeared[2])/v[2]; - xStripPos = simHitPosSmeared[0] + lineParam*v[0]; - yStripPos = simHitPosSmeared[1] + lineParam*v[1]; - } - dd4hep::rec::Vector3D newPosTmp; - if (! _isStrip){ - newPosTmp = (1./dd4hep::mm) * ( surf->localToGlobal( dd4hep::rec::Vector2D( (uL+uSmear)*dd4hep::mm, (vL+vSmear)*dd4hep::mm ) ) ); - } - else if (_subDetName == "SET"){ - newPosTmp = dd4hep::rec::Vector3D(xStripPos, yStripPos, zStripPos); + if (_isStrip){ + if (_subDetName == "SET"){ + double xStripPos, yStripPos, zStripPos; + //Find intersection of the strip with the z=centerOfSensor plane to set it as the center of the SET strip + dd4hep::rec::Vector3D simHitPosSmeared = (1./dd4hep::mm) * ( surf->localToGlobal( dd4hep::rec::Vector2D( (uL+uSmear)*dd4hep::mm, 0.) ) ); + zStripPos = surf->origin()[2] / dd4hep::mm ; + double lineParam = (zStripPos - simHitPosSmeared[2])/v[2]; + xStripPos = simHitPosSmeared[0] + lineParam*v[0]; + yStripPos = simHitPosSmeared[1] + lineParam*v[1]; + newPosTmp = dd4hep::rec::Vector3D(xStripPos, yStripPos, zStripPos); + } + else{ + newPosTmp = (1./dd4hep::mm) * ( surf->localToGlobal( dd4hep::rec::Vector2D( (uL+uSmear)*dd4hep::mm, 0. ) ) ); + } } else{ - newPosTmp = (1./dd4hep::mm) * ( surf->localToGlobal( dd4hep::rec::Vector2D( (uL+uSmear)*dd4hep::mm, 0. ) ) ); + newPosTmp = (1./dd4hep::mm) * ( surf->localToGlobal( dd4hep::rec::Vector2D( (uL+uSmear)*dd4hep::mm, (vL+vSmear)*dd4hep::mm ) ) ); } streamlog_out( DEBUG1 ) << " hit at : " << oldPos