This class is the EventSelector and AddressProvider for event data.
More...
#include <AthenaPoolAddressProviderSvc.h>
This class is the EventSelector and AddressProvider for event data.
Definition at line 28 of file AthenaPoolAddressProviderSvc.h.
◆ AthenaPoolAddressProviderSvc()
| AthenaPoolAddressProviderSvc::AthenaPoolAddressProviderSvc |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~AthenaPoolAddressProviderSvc()
| AthenaPoolAddressProviderSvc::~AthenaPoolAddressProviderSvc |
( |
| ) |
|
|
virtual |
◆ eventStore()
| StoreGateSvc * AthenaPoolAddressProviderSvc::eventStore |
( |
| ) |
const |
|
private |
◆ initialize()
| StatusCode AthenaPoolAddressProviderSvc::initialize |
( |
| ) |
|
|
overridevirtual |
◆ loadAddresses()
Get all addresses for this event from provider.
- Parameters
-
| storeID | [IN] store ID, this function only preloads event store addresses. |
| tads | [OUT] list of the transient addresses which were preloaded. |
Only call registerKeys() if we haven't seen this form before.
Definition at line 81 of file AthenaPoolAddressProviderSvc.cxx.
84 return StatusCode::SUCCESS;
89 if (dataHeader ==
nullptr) {
91 if (!eventDataHeader.isValid()) {
93 return StatusCode::FAILURE;
95 dataHeader = eventDataHeader.cptr();
100 std::string tokenStr;
103 tokenStr = (*attrList)[
"eventRef_secondary"].data<std::string>();
104 ATH_MSG_DEBUG(
"found AthenaAttribute, name = eventRef_secondary = " << tokenStr);
107 return StatusCode::FAILURE;
111 return StatusCode::FAILURE;
114 if (!
eventStore()->recordAddress(iop).isSuccess()) {
115 ATH_MSG_ERROR(
"Cannot record address to StoreGate with token string: " << tokenStr);
116 return StatusCode::FAILURE;
121 bool doRegister = dataHeader->
dhFormToken().empty() ||
123 ATH_MSG_DEBUG(
"The current Event contains: " << dataHeader->
size() <<
" objects");
124 for (
const auto& element : *dataHeader) {
130 delete tadd; tadd =
nullptr;
132 ATH_MSG_DEBUG(
"loadAddresses: DataObject address, clid = " << tadd->
clID() <<
", name = " << tadd->
name());
134 tads.push_back(tadd);
138 return StatusCode::SUCCESS;
◆ preLoadAddresses()
Get all addresses from provider.
Called before begin event.
- Parameters
-
| storeID | [IN] store ID, this function only preloads detector store addresses. |
| tads | [OUT] list of the transient addresses which were preloaded. |
Definition at line 53 of file AthenaPoolAddressProviderSvc.cxx.
56 return StatusCode::SUCCESS;
62 if (!dataHeader.isValid()) {
63 ATH_MSG_DEBUG(
"Cannot retrieve DataHeader from DetectorStore.");
64 return StatusCode::SUCCESS;
66 ATH_MSG_DEBUG(
"The current File contains: " << dataHeader->size() <<
" objects");
67 for (
const auto& element : *dataHeader) {
70 delete tadd; tadd =
nullptr;
72 ATH_MSG_DEBUG(
"preLoadAddresses: DataObject address, clid = " << tadd->
clID() <<
", name = " << tadd->
name());
78 return StatusCode::SUCCESS;
◆ updateAddress()
Update a transient address.
- Parameters
-
| storeID | [IN] store ID, this function only preloads event store addresses. |
| tad | [IN] transient address to be updated. |
Definition at line 141 of file AthenaPoolAddressProviderSvc.cxx.
144 return StatusCode::FAILURE;
◆ m_attrListKey
| Gaudi::Property<std::string> AthenaPoolAddressProviderSvc::m_attrListKey |
|
private |
Initial value:{this, "AttributeListKey", {},
"Attribute list key of a secondary input file. If non-zero, creates a new IOpaqueAddress for that file and records it."}
Definition at line 65 of file AthenaPoolAddressProviderSvc.h.
◆ m_clidSvc
| ServiceHandle<IClassIDSvc> AthenaPoolAddressProviderSvc::m_clidSvc |
|
private |
◆ m_dataHeaderKey
| Gaudi::Property<std::string> AthenaPoolAddressProviderSvc::m_dataHeaderKey |
|
private |
◆ m_dhFormKeys
| std::unordered_set<std::string> AthenaPoolAddressProviderSvc::m_dhFormKeys |
|
private |
◆ m_guid
| Guid AthenaPoolAddressProviderSvc::m_guid |
|
private |
◆ m_metaDataStore
The documentation for this class was generated from the following files: