17 return StatusCode::SUCCESS;
25 if ( m_inputHits.empty() ) {
26 return StatusCode::SUCCESS;
31 ATH_CHECK( outputHandle.record(std::make_unique<CaloCalibrationHitContainer>()) );
33 unsigned int nHitsMerged(0);
34 for (
const auto& collKey: m_inputHits ) {
36 ATH_MSG_DEBUG(inputHandle.name() <<
" has " << inputHandle->size() <<
" hits.");
45 auto bookmark = calibrationHits.lower_bound(hit);
58 if (bookmark == calibrationHits.end() ||
59 !(*bookmark)->Equals(hit)) {
60 auto&& hitCopy = std::make_unique<CaloCalibrationHit>(*hit);
63 if (calibrationHits.empty() ||
64 bookmark == calibrationHits.begin()) {
66 calibrationHits.insert(hitCopy.release());
75 calibrationHits.insert(--bookmark, hitCopy.release());
80 (*bookmark)->Add(hit);
86 for(
auto *hit : calibrationHits)
89 outputHandle->push_back(hit);
92 calibrationHits.clear();
93 ATH_MSG_DEBUG(outputHandle.name() <<
" has " << outputHandle->size() <<
" hits. Merged " << nHitsMerged <<
" hits.");
94 return StatusCode::SUCCESS;