|
ATLAS Offline Software
|
Go to the documentation of this file.
59 return StatusCode::SUCCESS;
68 if (not externalCacheRDO) {
82 ATH_MSG_DEBUG(
"Created IDCInDetBSErrContainer w/o using external cache");
86 ATH_CHECK(bsIDCErrContainer.
record( std::make_unique<IDCInDetBSErrContainer>(cacheHandle.
ptr())) );
87 ATH_MSG_DEBUG(
"Created SCT IDCInDetBSErrContainer using external cache");
91 std::vector<const ROBFragment*> vecROBFrags;
92 std::vector<IdentifierHash> hashIDs;
94 std::vector<uint32_t> rodList;
100 std::vector<uint32_t> listOfROBs;
104 superRoI.
reserve(roiCollection->size());
118 ATH_MSG_DEBUG(
"Number of ROB fragments " << vecROBFrags.size());
126 ATH_CHECK(lvl1Collection.
record(std::make_unique<InDetTimeCollection>()));
127 ATH_CHECK(bcIDCollection.
record(std::make_unique<InDetTimeCollection>()));
129 lvl1Collection->reserve(vecROBFrags.size());
130 bcIDCollection->reserve(vecROBFrags.size());
136 uint32_t robID{(robFrag)->rod_source_id()};
138 unsigned int lvl1ID{(robFrag)->rod_lvl1_id()};
139 lvl1Collection->emplace_back(robID, lvl1ID);
141 unsigned int bcID{(robFrag)->rod_bc_id()};
142 bcIDCollection->emplace_back(robID, bcID);
144 ATH_MSG_DEBUG(
"Stored LVL1ID " << lvl1ID <<
" and BCID " << bcID <<
" in InDetTimeCollections");
148 if ( not hashIDs.empty() ) {
154 ATH_MSG_DEBUG(
"Out of: " << hashIDs.size() <<
"Hash IDs missing: " << missingCount );
155 if ( missingCount == 0 ) {
156 return StatusCode::SUCCESS;
160 std::unique_ptr<DataPool<SCT3_RawData>> dataItemsPool =
nullptr;
161 if(!externalCacheRDO){
162 dataItemsPool = std::make_unique<DataPool<SCT3_RawData>>(ctx);
163 dataItemsPool->reserve(10000);
165 dataItemsPool = std::make_unique<DataPool<SCT3_RawData>>(ctx);
171 *(rdoContainer.
ptr()),
176 if (statConv.isFailure() && statConv != StatusCode::RECOVERABLE) {
180 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
SG::UpdateHandleKey< IDCInDetBSErrContainer_Cache > m_bsErrContainerCacheKey
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
Gaudi::Property< bool > m_useDataPoolWithCache
Boolean to Use DataPool with IDC online Cache.
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
ROB Data Provider for accessing ROB data.
SG::WriteHandleKey< InDetTimeCollection > m_bcIDCollectionKey
Write handle for BC ID Inner Detector time collection.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SCTRawDataProvider(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< bool > m_storeInDetTimeColls
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
pointer_type ptr()
Dereference the pointer.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode initialize() override
Initialize.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
void push_back(const IRoiDescriptor *roi)
add a RoiDescriptor
void reserve(size_t s)
reserve elements in vector
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
SG::UpdateHandleKey< SCT_RDO_Cache > m_rdoContainerCacheKey
Update handle for SCT RDO and Erorrs Cache.
virtual bool tryAddFromCache(IdentifierHash hashId) override final
Looks in the cache to see if item already exists if not it returns false, If it does exist it incorpo...
ToolHandle< ISCT_CablingTool > m_cabling
Providing mappings of online and offline identifiers and also serial numbers.
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Read handle for Trigger ROI descriptor collection.
SG::WriteHandleKey< IDCInDetBSErrContainer > m_bsIDCErrContainerKey
Write handle for Inner Detector ByteStream error container.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
BooleanProperty m_roiSeeded
Boolean to determine if SCT Raw Data Provider should be run in RoI seeded mode.
size_type wafer_hash_max(void) const
eformat::ROBFragment< PointerType > ROBFragment
SG::WriteHandleKey< InDetTimeCollection > m_lvl1CollectionKey
Write handle for LVL 1 Inner Detector time collection.
SG::WriteHandleKey< SCT_RDO_Container > m_rdoContainerKey
Write handle for SCT RDO container.
virtual StatusCode execute(const EventContext &ctx) const override
Execute.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
ToolHandle< ISCTRawDataProviderTool > m_rawDataTool
Tool to fill Collections of SCT RDO Containers.
bool tryAddFromCache(size_t i)
Returns true if the value is also in the external cache, sets mask to true if it is.
void setComposite(bool b=true)
bool manageConstituents() const
always manage constituents ???
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
ToolHandle< IRegSelTool > m_regionSelector
Region Selector tool for Athena.
const SCT_ID * m_sctID
Identifier helper class for the SCT subdetector that creates compact Identifier objects and Identifie...