diff --git a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalibWriteTool.h b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalibWriteTool.h index 7c74eb5697acd4c0064904e343dd34668ee748c5..aa840c21fc1e027d231c10fb86ab236b2e8e892c 100644 --- a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalibWriteTool.h +++ b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalibWriteTool.h @@ -1,7 +1,7 @@ /** -*- c++ -*- */ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ /* @@ -16,16 +16,14 @@ #define SCTCalibWriteTool_H // Athena includes -//#include "AthenaBaseComps/AthService.h" #include "AthenaBaseComps/AthAlgTool.h" #include "AthenaKernel/IOVTime.h" #include "AthenaKernel/IIOVDbSvc.h" #include "AthenaKernel/IAthenaOutputStreamTool.h" #include "AthenaPoolUtilities/CondAttrListCollection.h" -#include "Identifier/Identifier.h" + #include "InDetConditionsSummaryService/InDetHierarchy.h" #include "StoreGate/ReadHandleKey.h" -//#include "StoreGate/WriteCondHandleKey.h" #include "StoreGate/WriteCondHandle.h" #include "CoralBase/AttributeListSpecification.h" @@ -48,6 +46,7 @@ //forward declarations class IdentifierHash; +class Identifier; class SCT_ID; class IIOVRegistrationSvc; class IAthenaOutputStreamTool; @@ -160,7 +159,7 @@ class SCTCalibWriteTool : public AthAlgTool { StatusCode streamOutCondObjectsWithErrMsg(const std::string& foldername); StatusCode registerCondObjects(const std::string& foldername,const std::string& tagname) const; - StatusCode recordAndStream(const CondAttrListCollection* pCollection,const std::string& foldername, bool& flag); + StatusCode recordAndStream(std::unique_ptr<CondAttrListCollection> pCollection,const std::string& foldername, bool& flag); StatusCode registerCondObjectsWithErrMsg(const std::string& foldername,const std::string& tagname) const; coral::AttributeListSpecification* createBasicDbSpec(const bool capsFormat) const; diff --git a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalibWriteTool.cxx b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalibWriteTool.cxx index 4bc4bd324631548c56d6e66a8c6393f128bae0c9..cac5f4c6d062dbd0842b8a2bc4b44d711938b425 100644 --- a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalibWriteTool.cxx +++ b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalibWriteTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ /** @@ -19,6 +19,7 @@ #include "CoralBase/Attribute.h" #include "Identifier/IdentifierHash.h" +#include "Identifier/Identifier.h" #include "InDetIdentifier/SCT_ID.h" //path resolver to find the file @@ -122,30 +123,6 @@ SCTCalibWriteTool::initialize() StatusCode SCTCalibWriteTool::finalize() { ATH_MSG_DEBUG("SCTCalibWriteTool::finalize"); - if (!m_attrListColl.release()) { - return StatusCode::FAILURE; - } - if (!m_attrListColl_deadStrip.release()) { - return StatusCode::FAILURE; - } - if (!m_attrListColl_deadChip.release()) { - return StatusCode::FAILURE; - } - if (!m_attrListColl_eff.release()) { - return StatusCode::FAILURE; - } - if (!m_attrListColl_no.release()) { - return StatusCode::FAILURE; - } - if (!m_attrListColl_RawOccu.release()) { - return StatusCode::FAILURE; - } - if (!m_attrListColl_BSErr.release()) { - return StatusCode::FAILURE; - } - if (!m_attrListColl_LA.release()) { - return StatusCode::FAILURE; - } if (!m_streamer.release().isSuccess()) { return StatusCode::FAILURE; } @@ -510,7 +487,7 @@ SCTCalibWriteTool::stringToInt(const std::string& s) const { StatusCode SCTCalibWriteTool::wrapUpNoisyChannel() { - if (recordAndStream(m_attrListColl.get(), s_defectFolderName, m_defectRecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl), s_defectFolderName, m_defectRecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_defectFolderName, m_tagID4NoisyStrips).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -519,7 +496,7 @@ SCTCalibWriteTool::wrapUpNoisyChannel() { StatusCode SCTCalibWriteTool::wrapUpDeadStrips() { - if (recordAndStream(m_attrListColl_deadStrip.get(), s_deadStripFolderName, m_deadStripRecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl_deadStrip), s_deadStripFolderName, m_deadStripRecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_deadStripFolderName, m_tagID4DeadStrips).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -528,7 +505,7 @@ SCTCalibWriteTool::wrapUpDeadStrips() { StatusCode SCTCalibWriteTool::wrapUpDeadChips() { - if (recordAndStream(m_attrListColl_deadChip.get(), s_deadChipFolderName, m_deadChipRecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl_deadChip), s_deadChipFolderName, m_deadChipRecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_deadChipFolderName, m_tagID4DeadChips).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -537,7 +514,7 @@ SCTCalibWriteTool::wrapUpDeadChips() { StatusCode SCTCalibWriteTool::wrapUpEfficiency() { - if (recordAndStream(m_attrListColl_eff.get(), s_effFolderName, m_effRecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl_eff), s_effFolderName, m_effRecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_effFolderName, m_tagID4Efficiency).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -546,7 +523,7 @@ SCTCalibWriteTool::wrapUpEfficiency() { StatusCode SCTCalibWriteTool::wrapUpNoiseOccupancy() { - if (recordAndStream(m_attrListColl_no.get(), s_noFolderName, m_noRecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl_no), s_noFolderName, m_noRecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_noFolderName, m_tagID4NoiseOccupancy).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -555,7 +532,7 @@ SCTCalibWriteTool::wrapUpNoiseOccupancy() { StatusCode SCTCalibWriteTool::wrapUpRawOccupancy() { - if (recordAndStream(m_attrListColl_RawOccu.get(), s_RawOccuFolderName, m_RawOccuRecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl_RawOccu), s_RawOccuFolderName, m_RawOccuRecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_RawOccuFolderName, m_tagID4RawOccupancy).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -564,7 +541,7 @@ SCTCalibWriteTool::wrapUpRawOccupancy() { StatusCode SCTCalibWriteTool::wrapUpBSErrors() { - if (recordAndStream(m_attrListColl_BSErr.get(), s_BSErrFolderName, m_BSErrRecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl_BSErr), s_BSErrFolderName, m_BSErrRecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_BSErrFolderName, m_tagID4BSErrors).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -573,7 +550,7 @@ SCTCalibWriteTool::wrapUpBSErrors() { StatusCode SCTCalibWriteTool::wrapUpLorentzAngle() { - if (recordAndStream(m_attrListColl_LA.get(), s_LAFolderName, m_LARecorded).isFailure()) return StatusCode::FAILURE; + if (recordAndStream(std::move(m_attrListColl_LA), s_LAFolderName, m_LARecorded).isFailure()) return StatusCode::FAILURE; if (registerCondObjectsWithErrMsg(s_LAFolderName, m_tagID4LorentzAngle).isFailure()) return StatusCode::FAILURE; return StatusCode::SUCCESS; } @@ -589,7 +566,6 @@ SCTCalibWriteTool::streamOutCondObjects(const std::string& foldername) { } IAthenaOutputStreamTool::TypeKeyPairs typeKeys{1}; if (m_readWriteCool) { - //ATH_MSG_DEBUG("before CondAttrListCollection " << foldername); IAthenaOutputStreamTool::TypeKeyPair attrCollPair{"CondAttrListCollection", foldername}; typeKeys[0] = attrCollPair; } @@ -688,10 +664,10 @@ SCTCalibWriteTool::registerCondObjectsWithErrMsg(const std::string& foldername,c /////////////////////////////////////////////////////////////////////////////////////// StatusCode -SCTCalibWriteTool::recordAndStream(const CondAttrListCollection* pCollection,const std::string& foldername, bool& flag) { +SCTCalibWriteTool::recordAndStream(std::unique_ptr<CondAttrListCollection> pCollection,const std::string& foldername, bool& flag) { ATH_MSG_DEBUG("recordAndStream start " << foldername); if (m_writeCondObjs) { - if (detStore()->record(pCollection, foldername).isFailure()) { + if (detStore()->record(std::move(pCollection), foldername).isFailure()) { ATH_MSG_ERROR("Could not record "<<foldername); return StatusCode::FAILURE; }