ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_RODVetoTool.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
12
13#ifndef SCT_RODVetoTool_h
14#define SCT_RODVetoTool_h
15
16//Athena includes
19
20#include "Identifier/Identifier.h"
24
25//STL includes
26#include <string>
27
28//forward declarations
29class IdentifierHash;
30class SCT_ID;
31class SCT_RODVetoTool_test;
32
37class SCT_RODVetoTool: public extends<AthAlgTool, ISCT_ConditionsTool> {
40
41public:
42 //@name Tool methods
44 SCT_RODVetoTool(const std::string& type, const std::string& name, const IInterface* parent);
45 virtual ~SCT_RODVetoTool() = default;
46 virtual StatusCode initialize() override;
47 virtual StatusCode finalize() override;
49
51 virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
52
54 virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
55 virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
56
58 virtual bool isGood(const IdentifierHash& hashId) const override;
59 virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
60 virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
62
63private:
64
65 const IdentifierSet* getCondData(const EventContext& ctx) const;
66
67 // The vector of bad rods should be kept in a threadsafe way so it can
68 // be called and read safely.
69 SG::ReadCondHandleKey<IdentifierSet> m_badModuleIds{this, "BadModuleIds", "BadSCTModuleIds_RODVeto", "Read key for bad module identifiers"};
70
71 const SCT_ID* m_pHelper{nullptr};
72};
73
74#endif // SCT_RODVetoTool_h
header file for baseclass of SCT conditions tools
std::set< Identifier > IdentifierSet
IdentifierSet is std::set of Identifier and used in SCT_RODVetoCondAlg and SCT_RODVetoTool.
Header containing the InDetHierarchy enum, to avoid pulling in a class every time it is needed and na...
Property holding a SG store/key/clid from which a ReadHandle is made.
Header file for AthHistogramAlgorithm.
This is a "hash" representation of an Identifier.
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
virtual bool isGood(const Identifier &elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Is the detector element good?
const IdentifierSet * getCondData(const EventContext &ctx) const
virtual StatusCode initialize() override
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
Can the service report about the given component? (chip, module...)
virtual StatusCode finalize() override
SG::ReadCondHandleKey< IdentifierSet > m_badModuleIds
const SCT_ID * m_pHelper
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
friend class SCT_RODVetoTool_test
Allow the test class access to all methods.
virtual ~SCT_RODVetoTool()=default
SCT_RODVetoTool(const std::string &type, const std::string &name, const IInterface *parent)