35 return StatusCode::SUCCESS;
42 const EventContext& ctx = Gaudi::Hive::currentContext();
47 if (writeHandle.isValid()) {
48 ATH_MSG_DEBUG(
"CondHandle " << writeHandle.fullKey() <<
" is already valid."
49 <<
". In theory this should not be called, but may happen"
50 <<
" if multiple concurrent events are being processed out of order.");
51 return StatusCode::SUCCESS;
56 if (oldColl==
nullptr) {
57 ATH_MSG_FATAL(
"Null pointer is returned by getDetectorElementCollection()");
58 return StatusCode::FAILURE;
62 std::unique_ptr<GeoAlignmentStore> writeCdo{std::make_unique<GeoAlignmentStore>()};
68 if (readCdoStatic==
nullptr) {
70 return StatusCode::FAILURE;
72 writeHandle.addDependency(readHandleStatic);
86 if (readCdoIBLDist==
nullptr) {
87 ATH_MSG_FATAL(
"Null pointer to the read conditions object of " << readHandleIBLDist.key());
88 return StatusCode::FAILURE;
90 writeHandle.addDependency(readHandleIBLDist);
101 if (readCdoDynamicL1==
nullptr) {
103 return StatusCode::FAILURE;
105 writeHandle.addDependency(readHandleDynamicL1);
109 if (readCdoDynamicL2==
nullptr) {
110 ATH_MSG_FATAL(
"Null pointer to the read conditions object of " << readHandleDynamicL2.key());
111 return StatusCode::FAILURE;
113 writeHandle.addDependency(readHandleDynamicL2);
117 if (readCdoDynamicL3==
nullptr) {
118 ATH_MSG_FATAL(
"Null pointer to the read conditions object of " << readHandleDynamicL3.key());
119 return StatusCode::FAILURE;
121 writeHandle.addDependency(readHandleDynamicL3);
144 if (readCdoIBLDist==
nullptr) {
145 ATH_MSG_FATAL(
"Null pointer to the read conditions object of " << readHandleIBLDist.key());
146 return StatusCode::FAILURE;
148 writeHandle.addDependency(readHandleIBLDist);
158 oldEl->getMaterialGeom()->getAbsoluteTransform(writeCdo.get());
159 oldEl->getMaterialGeom()->getDefAbsoluteTransform(writeCdo.get());
161 writeCdo->lockDelta();
162 writeCdo->lockPosCache();
164 if (writeHandle.record(std::move(writeCdo)).isFailure()) {
165 ATH_MSG_FATAL(
"Could not record GeoAlignmentStore " << writeHandle.key()
166 <<
" with EventRange " << writeHandle.getRange()
167 <<
" into Conditions Store");
168 return StatusCode::FAILURE;
170 ATH_MSG_INFO(
"recorded new CDO " << writeHandle.key() <<
" with range " << writeHandle.getRange() <<
" into Conditions Store");
172 return StatusCode::SUCCESS;