23 #include "GaudiKernel/IToolSvc.h"
26 const std::string &
name,
37 ATH_MSG_ERROR(
"neighbourhoodType is "<<
m_neighbourhoodType<<
" but allowed values are only \"X\" (only long-edge) or \"XY\" (both long- and short-edge); will abort");
38 return StatusCode::FAILURE;
41 return StatusCode::SUCCESS;
45 return StatusCode::SUCCESS;
50 std::list<const xAOD::AFPSiHit*> hitsAboveThreshold;
55 hitsAboveThreshold.push_back(theHit);
57 while (!hitsAboveThreshold.empty())
60 std::list<const xAOD::AFPSiHit*> currentProtoCluster{hitsAboveThreshold.front()};
62 hitsAboveThreshold.pop_front();
70 if(abs(currHit->pixelVertID()-(*remHit)->pixelVertID())<=1 && abs(currHit->pixelHorizID()-(*remHit)->pixelHorizID())<=1)
72 if(
m_doOnlyHorz && currHit->pixelVertID()!=(*remHit)->pixelVertID())
79 currentProtoCluster.push_back(*remHit);
80 hitsAboveThreshold.erase(remHit++);
101 charge += currHit->depositedCharge();
102 horizID += currHit->pixelHorizID() * currHit->depositedCharge();
103 vertID += currHit->pixelVertID() * currHit->depositedCharge();
105 newCluster.
hits().push_back(currHit);
114 return StatusCode::SUCCESS;