24 ISvcLocator* pSvcLocator) :
34 return StatusCode::SUCCESS;
40 std::vector<unsigned int> allRods;
45 return StatusCode::SUCCESS;
48 std::unique_ptr<IdentifierSet> bad_id_set = std::make_unique<IdentifierSet>();
51 ATH_MSG_DEBUG(
"This rod is " << std::hex <<
"0x" << thisRod << std::dec);
54 if (std::find(allRods.begin(), allRods.end(), thisRod)==allRods.end()) {
55 ATH_MSG_WARNING(
"Your vetoed selection " << std::hex <<
"0x" << thisRod <<
" does not exist." << std::dec);
59 std::vector<IdentifierHash> listOfHashes;
60 m_cabling->getHashesForRod(listOfHashes, thisRod, ctx);
67 const bool alreadyInserted{modId==previousId};
69 if (alreadyInserted)
continue;
71 const bool thisInsertionOk{bad_id_set->insert(modId).second};
72 if (not thisInsertionOk) {
73 ATH_MSG_WARNING(
"Insertion failed for rod " << std::hex <<
"0x" << thisRod << std::dec <<
" and module (hash,id): " << thisHash <<
", " << modId);
79 return StatusCode::SUCCESS;
83 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
This is an Identifier helper class for the SCT subdetector.
Header file for the SCT_RODVetoCondAlg class in package SCT_ConditionsAlgorithms.
const ServiceHandle< StoreGateSvc > & detStore() const
Base class for conditions algorithms.
static EventIDRange infiniteRunLB()
Produces an EventIDRange that is infinite in RunLumi and invalid in Time.
This is a "hash" representation of an Identifier.
virtual StatusCode execute(const EventContext &ctx) const override final
virtual StatusCode finalize() override final
UnsignedIntegerArrayProperty m_badRODElementsInput
virtual StatusCode initialize() override final
ToolHandle< ISCT_CablingTool > m_cabling
SCT_RODVetoCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteCondHandleKey< IdentifierSet > m_badIds
StatusCode record(const EventIDRange &range, T *t)
record handle, with explicit range DEPRECATED