15#include "GaudiKernel/EventContext.h"
20 base_class(
type, name, parent)
29 ATH_MSG_ERROR(
"Retrieval of ToolHandleArray<ISCT_ConditionsTool> failed.");
34 ATH_MSG_FATAL(
"The event data (SCTDetElStatusEventDataBaseKey) and cond data (SCTDetElStatusCondDataBaseKey) keys cannot be set at the same time.");
51 return isGood(elementId,
h, ctx);
56 return isGood(elementHash, ctx);
61 return isGood(elementHash, elementId, ctx);
67 for (
const ToolHandle<ISCT_ConditionsTool>& tool:
m_toolHandles) {
68 if (tool->canReportAbout(
h) and (not tool->isGood(elementId, ctx,
h)))
return false;
77 for (
const ToolHandle<ISCT_ConditionsTool>& tool:
m_toolHandles) {
80 (not tool->isGood(elementHash, ctx))) {
92 throw std::runtime_error(
"Object is not of expected type InDet::SCT_DetectorElementStatus");
97std::unique_ptr<InDet::SiDetectorElementStatus>
100 std::string tool_name (name());
107 return std::make_unique<InDet::SCT_DetectorElementStatus>(*castToDerived(input_element_status.
cptr()));
113 return std::make_unique<InDet::SCT_DetectorElementStatus>(*castToDerived(input_element_status.
cptr()));
121 return std::make_unique<InDet::SCT_DetectorElementStatus>(*elements);
125std::unique_ptr<InDet::SiDetectorElementStatus>
128 std::unique_ptr<InDet::SiDetectorElementStatus>
131 for (
const ToolHandle<ISCT_ConditionsTool>& tool:
m_toolHandles) {
136 tool->getDetectorElementStatus(ctx,*element_status,whandle);
140 if (element_status->getElementStatus().empty()) {
141 element_status->getElementStatus().resize( element_status->getDetectorElements().size(),
true);
143 if (element_status->getElementChipStatus().empty()) {
144 element_status->getElementChipStatus().resize( element_status->getDetectorElements().size(), 0xffff);
146 if (element_status->getBadCells().empty()) {
147 element_status->getBadCells().resize( element_status->getDetectorElements().size());
149 return element_status;
155 for (
const ToolHandle<ISCT_ConditionsTool>& tool:
m_toolHandles) {
163 IDCCacheEntry*
vector{
nullptr};
170 ATH_MSG_WARNING(
"goodFraction is a deprecated function always returning 1.0 ");
176 ATH_MSG_WARNING(
"hasBSError() is not implemented for SCT_ConditionsSummaryTool");
182 ATH_MSG_WARNING(
"hasBSError() is not implemented for SCT_ConditionsSummaryTool");
188 ATH_MSG_WARNING(
"getBSErrorWord() is not implemented for SCT_ConditionsSummaryTool");
194 ATH_MSG_WARNING(
"getBSErrorWord() is not implemented for SCT_ConditionsSummaryTool");
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
This is an Identifier helper class for the SCT subdetector.
Header file for AthHistogramAlgorithm.
This is a "hash" representation of an Identifier.
Class to hold the SiDetectorElement objects to be put in the detector store.
Event data to hold the status information for SCT modules.
const_pointer_type cptr()
const_pointer_type cptr()
Dereference the pointer.
void addDependency(const EventIDRange &range)