21 ISvcLocator *pSvcLocator)
54 return StatusCode::SUCCESS;
76 return StatusCode::SUCCESS;
83 if (not pixelDetEleHandle.
isValid() or pixElements==
nullptr) {
85 return StatusCode::FAILURE;
103 pixelAccessor ( *inputPixelClusters,
105 pixElements->size());
108 for (
const auto& hashId : allIdHashes) {
110 if ( element ==
nullptr ) {
111 ATH_MSG_FATAL(
"Invalid pixel detector element for hash " << hashId);
112 return StatusCode::FAILURE;
115 std::unique_ptr<InDet::PixelClusterCollection> collection = std::make_unique<InDet::PixelClusterCollection>(hashId);
119 for (
auto start = this_range.first;
start != this_range.second; ++
start) {
127 collection->push_back(cluster);
131 InDet::PixelClusterContainer::IDC_WriteHandle lock = outputPixelClusterContainer->getWriteHandle(hashId);
132 ATH_CHECK(lock.addOrDelete( std::move(collection) ));
138 return StatusCode::SUCCESS;
145 if (not stripDetEleHandle.
isValid() or stripElements==
nullptr) {
147 return StatusCode::FAILURE;
165 stripAccessor ( *inputStripClusters,
167 stripElements->size());
172 for (
const auto& hashId : allIdHashes) {
174 if ( element ==
nullptr ) {
175 ATH_MSG_FATAL(
"Invalid strip detector element for hash " << hashId);
176 return StatusCode::FAILURE;
185 std::unique_ptr<InDet::SCT_ClusterCollection> collection = std::make_unique<InDet::SCT_ClusterCollection>(hashId);
190 for (
auto start = this_range.first;
start != this_range.second; ++
start) {
198 collection->push_back( cluster );
202 InDet::SCT_ClusterContainer::IDC_WriteHandle lock = outputStripClusterContainer->getWriteHandle(hashId);
203 ATH_CHECK(lock.addOrDelete( std::move(collection) ));
209 return StatusCode::SUCCESS;
216 if (not hgtdDetEleHandle.
isValid() or hgtdElements==
nullptr) {
218 return StatusCode::FAILURE;
230 hgtdAccessor ( *inputHgtdClusters,
232 hgtdElements->size());
235 for (
const auto& hashId : allIdHashes) {
237 if ( element ==
nullptr ) {
238 ATH_MSG_FATAL(
"Invalid hgtd detector element for hash " << hashId);
239 return StatusCode::FAILURE;
242 std::unique_ptr<::HGTD_ClusterCollection> collection = std::make_unique<::HGTD_ClusterCollection>(hashId);
246 for (
auto start = this_range.first;
start != this_range.second; ++
start) {
265 return StatusCode::SUCCESS;