ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_CalibModuleListTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7SCT_CalibModuleListTool::SCT_CalibModuleListTool(const std::string& type, const std::string& name, const IInterface* parent):
8 base_class(type, name, parent)
9{
10}
11
13 ATH_MSG_DEBUG("Initializing SCT_CalibModuleListTool");
14
15 ATH_CHECK(detStore()->retrieve(m_pSCTHelper, "SCT_ID"));
17 ATH_MSG_DEBUG("in SCT_CalibModuleListTool::initialize after m_MonitorConditionsTool retrieved");
18 ATH_CHECK(m_IOVDbSvc.retrieve());
19 ATH_MSG_DEBUG("in SCT_CalibModuleListTool::initialize after m_IOVDbSvc retrieved");
20
21 return StatusCode::SUCCESS;
22}
23
25 return StatusCode::SUCCESS;
26}
27
28StatusCode SCT_CalibModuleListTool::readModuleList(std::map<Identifier, std::set<Identifier>>& moduleList) const {
29 //--- Read strips using SCT_MonitorConditionsSvc
30 SCT_ID::const_id_iterator waferIdItr{m_pSCTHelper->wafer_begin()};
31 SCT_ID::const_id_iterator waferIdItrE{m_pSCTHelper->wafer_end()};
32 for (; waferIdItr != waferIdItrE; ++waferIdItr) {
33 if (m_pSCTHelper->side( *waferIdItr ) != 0) continue;
34 Identifier waferId{*waferIdItr};
35 Identifier moduleId{m_pSCTHelper->module_id(waferId)};
36
37 std::set<Identifier> stripIdList;
38 //ATH_MSG_DEBUG("in SCT_CalibModuleListTool::readModuleList: before accessing badStrips");
39 m_MonitorConditionsTool->badStrips(moduleId, stripIdList);
40 //ATH_MSG_DEBUG("in SCT_CalibModuleListTool::readModuleList: after accessing badStrips");
41 if (!stripIdList.empty()) moduleList.insert(std::map<Identifier, std::set<Identifier>>::value_type(moduleId, stripIdList));
42 }
43
44 //--- Drop the folder to avoid conflict with SCTCalibWriteSvc
45 if (!(m_IOVDbSvc->dropObject("/SCT/Derived/Monitoring", true))) ATH_MSG_ERROR("Unable to drop /SCT/Derived/Monitoring");
46
47 return StatusCode::SUCCESS;
48}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
Header file for the SCT_CalibModuleListTool class.
ToolHandle< ISCT_MonitorConditionsTool > m_MonitorConditionsTool
virtual StatusCode readModuleList(std::map< Identifier, std::set< Identifier > > &moduleList) const
ServiceHandle< IIOVDbSvc > m_IOVDbSvc
SCT_CalibModuleListTool(const std::string &, const std::string &, const IInterface *)
std::vector< Identifier >::const_iterator const_id_iterator
Definition SCT_ID.h:73