![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
18 #include "GaudiKernel/ISvcLocator.h"
29 (
const std::string&
name,ISvcLocator* pSvcLocator) :
31 m_pTRTHelper(nullptr),
32 m_rdoContainerKey(
"TRT_RDOs"),
33 m_driftcircle_tool(
"InDet::TRT_DriftCircleTool", this),
34 m_rioContainerKey(
"TRT_DriftCircles"),
35 m_mode_rio_production(0),
37 m_rioContainerCacheKey(
"")
68 return StatusCode::SUCCESS;
84 ATH_CHECK( rioContainer.
record (std::make_unique<TRT_DriftCircleContainer>(clusterContainercache.
ptr()) ));
93 std::unique_ptr<DataPool<TRT_DriftCircle>> dataItemsPool =
nullptr;
94 if (!hasExternalCache) {
95 dataItemsPool = std::make_unique<DataPool<TRT_DriftCircle>>(ctx);
96 dataItemsPool->reserve(100000);
98 dataItemsPool = std::make_unique<DataPool<TRT_DriftCircle>>(ctx);
105 for(
const auto *
const rdoCollections : *rdoContainer) {
107 InDet::TRT_DriftCircleContainer::IDC_WriteHandle lock = rioContainer->getWriteHandle(currentCollection->
identifyHash());
108 if (lock.OnlineAndPresentInAnotherView()) {
111 std::unique_ptr<TRT_DriftCircleCollection> p_rio(
113 currentCollection, ctx, dataItemsPool.get(),
115 if (p_rio && !p_rio->empty()) {
116 ATH_CHECK(lock.addOrDelete(std::move(p_rio)));
122 std::vector<IdentifierHash> listOfTRTIds;
125 listOfTRTIds.clear();
127 for(
auto &
id : listOfTRTIds){
129 if (!RDO_Collection)
continue;
130 InDet::TRT_DriftCircleContainer::IDC_WriteHandle lock = rioContainer->getWriteHandle(
id);
131 if( lock.OnlineAndPresentInAnotherView() ) {
136 std::unique_ptr<TRT_DriftCircleCollection> p_rio(
138 RDO_Collection, ctx, dataItemsPool.get(),
140 if (p_rio && !p_rio->empty()) {
141 ATH_CHECK(lock.addOrDelete(std::move(p_rio)));
146 ATH_MSG_DEBUG(
"rioContainer->numberOfCollections() " << rioContainer->numberOfCollections());
148 return StatusCode::SUCCESS;
155 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
SG::WriteHandleKey< InDet::TRT_DriftCircleContainer > m_rioContainerKey
ToolHandle< IRegSelTool > m_regionSelector
region selector tool
SG::ReadHandleKey< TRT_RDO_Container > m_rdoContainerKey
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const std::string & name() const
Return the StoreGate ID for the referenced object.
DUMMY Primary Vertex Finder.
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.
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
int m_mode_rio_production
const TRT_ID * m_pTRTHelper
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_useDataPoolWithCache
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
ToolHandle< ITRT_DriftCircleTool > m_driftcircle_tool
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