|
ATLAS Offline Software
|
Go to the documentation of this file.
17 #include "GaudiKernel/ISvcLocator.h"
28 (
const std::string&
name,ISvcLocator* pSvcLocator) :
30 m_pTRTHelper(nullptr){}
51 return StatusCode::SUCCESS;
67 ATH_CHECK( rioContainer.
record (std::make_unique<TRT_DriftCircleContainer>(clusterContainercache.
ptr()) ));
76 std::unique_ptr<DataPool<TRT_DriftCircle>> dataItemsPool =
nullptr;
77 if (!hasExternalCache) {
78 dataItemsPool = std::make_unique<DataPool<TRT_DriftCircle>>(ctx);
79 dataItemsPool->reserve(100000);
81 dataItemsPool = std::make_unique<DataPool<TRT_DriftCircle>>(ctx);
88 for(
const auto *
const rdoCollections : *rdoContainer) {
90 InDet::TRT_DriftCircleContainer::IDC_WriteHandle lock = rioContainer->getWriteHandle(currentCollection->
identifyHash());
91 if (lock.OnlineAndPresentInAnotherView()) {
94 std::unique_ptr<TRT_DriftCircleCollection> p_rio(
96 currentCollection, ctx, dataItemsPool.get(),
98 if (p_rio && !p_rio->empty()) {
99 ATH_CHECK(lock.addOrDelete(std::move(p_rio)));
105 std::vector<IdentifierHash> listOfTRTIds;
108 listOfTRTIds.clear();
110 for(
auto &
id : listOfTRTIds){
112 if (!RDO_Collection)
continue;
113 InDet::TRT_DriftCircleContainer::IDC_WriteHandle lock = rioContainer->getWriteHandle(
id);
114 if( lock.OnlineAndPresentInAnotherView() ) {
119 std::unique_ptr<TRT_DriftCircleCollection> p_rio(
121 RDO_Collection, ctx, dataItemsPool.get(),
123 if (p_rio && !p_rio->empty()) {
124 ATH_CHECK(lock.addOrDelete(std::move(p_rio)));
129 ATH_MSG_DEBUG(
"rioContainer->numberOfCollections() " << rioContainer->numberOfCollections());
131 return StatusCode::SUCCESS;
138 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
ToolHandle< ITRT_DriftCircleTool > m_driftcircle_tool
SG::WriteHandleKey< InDet::TRT_DriftCircleContainer > m_rioContainerKey
ToolHandle< IRegSelTool > m_regionSelector
region selector tool
SG::ReadHandleKey< TRT_RDO_Container > m_rdoContainerKey
const std::string & name() const
Return the StoreGate ID for the referenced object.
IntegerProperty m_mode_rio_production
virtual ~TRT_RIO_Maker()
no-op destructor
size_type straw_layer_hash_max(void) const
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
const std::string & key() const
Return the StoreGate ID for the referenced object.
BooleanProperty m_trtBadChannels
StatusCode setConst()
Set the 'const' bit for the bound proxy in the store.
virtual StatusCode execute(const EventContext &ctx) const override
pointer_type ptr()
Dereference the pointer.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
An algorithm that can be simultaneously executed in multiple threads.
virtual IdentifierHash identifyHash() const override final
virtual bool hasExternalCache() const override final
BooleanProperty m_useDataPoolWithCache
const TRT_ID * m_pTRTHelper
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::UpdateHandleKey< InDet::TRT_DriftCircleContainerCache > m_rioContainerCacheKey
virtual const T * indexFindPtr(IdentifierHash hashId) const override final
return pointer on the found entry or null if out of range using hashed index - fast version,...
virtual StatusCode initialize() override
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
virtual StatusCode finalize() override
BooleanProperty m_roiSeeded