Skip to content
Snippets Groups Projects
Commit 5873406d authored by Jihee Kim's avatar Jihee Kim Committed by Chao Peng
Browse files

minor fixes

parent fdc8245b
No related branches found
No related tags found
No related merge requests found
...@@ -37,6 +37,7 @@ public: ...@@ -37,6 +37,7 @@ public:
m_clusterCollection{"clusterCollection", Gaudi::DataHandle::Reader, this}; m_clusterCollection{"clusterCollection", Gaudi::DataHandle::Reader, this};
// Pointer to the geometry service // Pointer to the geometry service
SmartIF<IGeoSvc> m_geoSvc; SmartIF<IGeoSvc> m_geoSvc;
double m_depthCorr;
// ill-formed: using GaudiAlgorithm::GaudiAlgorithm; // ill-formed: using GaudiAlgorithm::GaudiAlgorithm;
ClusterRecoCoG(const std::string& name, ISvcLocator* svcLoc) ClusterRecoCoG(const std::string& name, ISvcLocator* svcLoc)
...@@ -56,6 +57,9 @@ public: ...@@ -56,6 +57,9 @@ public:
<< "Make sure you have GeoSvc and SimSvc in the right order in the configuration." << endmsg; << "Make sure you have GeoSvc and SimSvc in the right order in the configuration." << endmsg;
return StatusCode::FAILURE; return StatusCode::FAILURE;
} }
// depth: z length of the crystal block
m_depthCorr = m_geoSvc->detector()->constantAsDouble(m_moduleDimZName);
//info() << "z_length " << depth << endmsg;
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
...@@ -108,14 +112,7 @@ private: ...@@ -108,14 +112,7 @@ private:
// convert local position to global position, use the cell with max edep as a reference // convert local position to global position, use the cell with max edep as a reference
auto volman = m_geoSvc->detector()->volumeManager(); auto volman = m_geoSvc->detector()->volumeManager();
auto alignment = volman.lookupDetector(centerID).nominal(); auto alignment = volman.lookupDetector(centerID).nominal();
// depth auto gpos = alignment.localToWorld(dd4hep::Position(x/tw, y/tw, z/tw + m_depthCorr));
// @TODO, assume on the surface
auto dim = m_geoSvc->cellIDPositionConverter()->cellDimensions(centerID);
// z length of the crystal block
double depth = m_geoSvc->detector()->constantAsDouble(m_moduleDimZName);
//info() << "z_length " << depth << endmsg;
// info() << depth << " (" << dim[0] << ", " << dim[1] << ", " << dim[2] << ")" << endmsg;
auto gpos = alignment.localToWorld(dd4hep::Position(x/tw, y/tw, z/tw + depth));
cl.position({gpos.x(), gpos.y(), gpos.z()}); cl.position({gpos.x(), gpos.y(), gpos.z()});
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment