28 algorithm->msg(MSG::DEBUG) <<
"Overlay::mergeChannelData<PixelRDORawData>(): "
29 <<
"Merging of data on the same channel is not "
30 "explicitly implemented for PixelRDORawData"
39 auto outputCollection = std::make_unique<PixelRDO_Collection>(hashId);
40 outputCollection->setIdentifier(collection->
identify());
42 outputCollection->reserve(collection->
size());
46 Pixel1RawData(existingDatum->identify(), existingDatum->getWord());
47 outputCollection->push_back(datumCopy);
49 return outputCollection;
80 return StatusCode::SUCCESS;
94 ATH_MSG_ERROR(
"Could not get background Pixel RDO container " << bkgContainer.
name() <<
" from store " << bkgContainer.
store());
95 return StatusCode::FAILURE;
97 bkgContainerPtr = bkgContainer.
cptr();
99 ATH_MSG_DEBUG(
"Found background Pixel RDO container " << bkgContainer.
name() <<
" in store " << bkgContainer.
store());
104 if (!signalContainer.
isValid()) {
105 ATH_MSG_ERROR(
"Could not get signal Pixel RDO container " << signalContainer.
name() <<
" from store " << signalContainer.
store());
106 return StatusCode::FAILURE;
108 ATH_MSG_DEBUG(
"Found signal Pixel RDO container " << signalContainer.
name() <<
" in store " << signalContainer.
store());
113 ATH_CHECK(outputContainer.
record(std::make_unique<PixelRDO_Container>(signalContainer->size())));
114 if (!outputContainer.
isValid()) {
115 ATH_MSG_ERROR(
"Could not record output Pixel RDO container " << outputContainer.
name() <<
" to store " << outputContainer.
store());
116 return StatusCode::FAILURE;
118 ATH_MSG_DEBUG(
"Recorded output Pixel RDO container " << outputContainer.
name() <<
" in store " << outputContainer.
store());
128 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
InDetRawDataCollection< PixelRDORawData > PixelRDO_Collection
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
Handle class for reading from StoreGate.
Handle class for recording to StoreGate.
a typed memory pool that saves time spent allocation small object.
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
void prepareToAdd(unsigned int size)
Prepare to add cached elements.
const_iterator end() const noexcept
const_iterator begin() const noexcept
size_type size() const noexcept
StatusCode overlayContainerWithSorting(const IDC_Container *bkgContainer, const IDC_Container *signalContainer, IDC_Container *outputContainer, DataPool< Type > &dataItems) const
IDC_OverlayBase(const std::string &name, ISvcLocator *pSvcLocator)
This is a "hash" representation of an Identifier.
virtual Identifier identify() const override final
virtual Identifier identify() const override final
virtual StatusCode initialize() override final
SG::ReadHandleKey< PixelRDO_Container > m_bkgInputKey
SG::ReadHandleKey< PixelRDO_Container > m_signalInputKey
virtual StatusCode execute(const EventContext &ctx) const override final
SG::WriteHandleKey< PixelRDO_Container > m_outputKey
PixelOverlay(const std::string &name, ISvcLocator *pSvcLocator)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
std::string store() const
Return the name of the store holding the object we are proxying.
const std::string & name() const
Return the StoreGate ID for the referenced object.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
pointer_type ptr()
Dereference the pointer.
Helpers for overlaying Identifiable Containers.
void mergeChannelData(HGTD_RDO &, const HGTD_RDO &, const IDC_OverlayBase *algorithm)
void sortCollection(PixelRDO_Collection *collection)
std::string debugPrint(const IDC_Container *container, unsigned numprint=25)
Diagnostic output of Identifiable Containers.
struct Overlay::PixelRDOSorter PixelRDOSorterObject
std::unique_ptr< HGTD_RDO_Collection > copyCollection(const IdentifierHash &hashId, const HGTD_RDO_Collection *collection)
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
void stable_sort(DataModel_detail::iterator< DVL > beg, DataModel_detail::iterator< DVL > end)
Specialization of stable_sort for DataVector/List.
bool operator()(PixelRDORawData *digit1, PixelRDORawData *digit2)