Get all addresses from provider.
Called before begin event.
64 {
66 return StatusCode::SUCCESS;
67 }
68 ServiceHandle<StoreGateSvc> detectorStoreSvc(
"DetectorStore",
name());
69
71
72
73 std::unique_ptr<PoolCollectionConverter> poolCollectionConverter =
getCollectionCnv();
74 if (!poolCollectionConverter) {
75 return StatusCode::FAILURE;
76 }
77
78 pool::ICollectionCursor* headerIterator = &poolCollectionConverter->selectAll();
79
80 for (int verNumber = 0; verNumber < 100; verNumber++) {
81 if (!headerIterator->
next()) {
82 poolCollectionConverter->disconnectDb().ignore();
83 poolCollectionConverter.reset();
86
88 if (!poolCollectionConverter) {
89 return StatusCode::FAILURE;
90 }
91
92 headerIterator = &poolCollectionConverter->selectAll();
93 if (!headerIterator->
next()) {
94 return StatusCode::FAILURE;
95 }
96 } else {
97 break;
98 }
99 }
100 SG::VersionedKey myVersKey(
name(), verNumber);
101 auto token = std::make_unique<Token>();
103 CxxUtils::RefCountedPtr<TokenAddress> tokenAddr
105 if (!detectorStoreSvc->recordAddress(std::move(tokenAddr)).isSuccess()) {
107 return StatusCode::FAILURE;
108 }
109 }
110 std::list<SG::ObjectWithVersion<DataHeader> > allVersions;
111 if (!detectorStoreSvc->retrieveAllVersions(allVersions,
name()).isSuccess()) {
112 ATH_MSG_DEBUG(
"Cannot retrieve DataHeader from DetectorStore.");
113 return StatusCode::SUCCESS;
114 }
115 for (const auto& version : allVersions) {
116 SG::ReadHandle<DataHeader> dataHeader =
version.dataObject;
117 ATH_MSG_DEBUG(
"The current File contains: " << dataHeader->size() <<
" objects");
118 for (const auto& element : *dataHeader) {
121 delete tadd; tadd = 0;
122 } else {
123 ATH_MSG_DEBUG(
"preLoadAddresses: DataObject address, clid = " << tadd->
clID() <<
", name = " << tadd->
name());
124 tads.push_back(tadd);
125 }
127 }
128 }
129 return StatusCode::SUCCESS;
130}
std::unique_ptr< PoolCollectionConverter > getCollectionCnv()
Return pointer to new PoolCollectionConverter.
CLID clID() const
Retrieve string key:
const std::string & name() const
Get the primary (hashed) SG key.
virtual const std::string toString() const
Retrieve the string representation of the token.
virtual bool next()=0
Advances the cursor to the next row of the query result set.
virtual const Token & eventRef() const =0
Returns the event reference Token for the current row.
void registerKeys(const DataHeaderElement &dhe, StoreGateSvc *store)
Register all hash keys for one DH Element.
static const DbType POOL_StorageType