17 ISvcLocator* pSvcLocator) :
37 return StatusCode::FAILURE;
44 return StatusCode::FAILURE;
66 return StatusCode::SUCCESS;
91 return StatusCode::FAILURE;
93 rdoContainer = std::make_unique<PixelRDO_Container>(updateh.
ptr());
102 std::vector<uint32_t> listOfRobs;
116 superRoI.
reserve(roiCollection->size());
119 for (; roi!=roiE; ++roi) {
124 std::vector<const ROBFragment*> listOfRobf;
129 ATH_MSG_DEBUG(
"Number of ROB fragments " << listOfRobf.size()
130 <<
" (out of=" << listOfRobs.size() <<
" expected)");
133 std::unique_ptr<DummyPixelRDO> tempcont;
134 if( not
m_rdoCacheKey.empty() ) tempcont = std::make_unique<DummyPixelRDO> (rdoContainer.
ptr());
139 std::unique_ptr<IDCInDetBSErrContainer> decodingErrors;
142 decodingErrors = std::make_unique<IDCInDetBSErrContainer>( bsErrorsCacheHandle.
ptr() );
144 decodingErrors = std::make_unique<IDCInDetBSErrContainer>(
m_rawDataTool->SizeOfIDCInDetBSErrContainer(), std::numeric_limits<int>::min() );
148 if (
m_rawDataTool->convert(listOfRobf, containerInterface, *decodingErrors, ctx).isFailure())
151 if(tempcont)
ATH_CHECK(tempcont->MergeToRealContainer(rdoContainer.
ptr()));
157 ATH_MSG_DEBUG(
"Number of Collections in IDC " << rdoContainer->numberOfCollections());
160 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
This is an Identifier helper class for the Pixel subdetector.
EventContainers::IIdentifiableCont< InDetRawDataCollection< PixelRDORawData > > IPixelRDO_Container
EventContainers::IdentifiableContTemp< InDetRawDataCollection< PixelRDORawData > > DummyPixelRDO
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const ServiceHandle< StoreGateSvc > & detStore() const
An algorithm that can be simultaneously executed in multiple threads.
DataModel_detail::const_iterator< DataVector > const_iterator
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
StatusCode execute(const EventContext &ctx) const override
Execute.
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
~PixelRawDataProvider()
Don't need to override Finalize.
StatusCode initialize() override
Initialize.
SG::WriteHandleKey< IDCInDetBSErrContainer > m_bsErrorsKey
PixelRawDataProvider(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
SG::WriteHandleKey< PixelRDO_Container > m_rdoContainerKey
Gaudi::Property< bool > m_roiSeeded
SG::UpdateHandleKey< IDCInDetBSErrContainer_Cache > m_bsErrorsCacheKey
SG::ReadCondHandleKey< PixelCablingCondData > m_condCablingKey
SG::UpdateHandleKey< PixelRDO_Cache > m_rdoCacheKey
ToolHandle< IPixelRawDataProviderTool > m_rawDataTool
const PixelID * m_pixel_id
ToolHandle< IRegSelTool > m_regionSelector
void push_back(const IRoiDescriptor *roi)
add a RoiDescriptor
bool manageConstituents() const
always manage constituents ???
void reserve(size_t s)
reserve elements in vector
void setComposite(bool b=true)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual bool isValid() override final
Can the handle be successfully dereferenced?
pointer_type ptr()
Dereference the pointer.
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.
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
eformat::ROBFragment< PointerType > ROBFragment