ATLAS Offline Software
SCT_StripVetoTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
11 #ifndef SCT_StripVetoTool_h
12 #define SCT_StripVetoTool_h
13 
14 //Gaudi includes
16 
17 //Athena includes
20 
21 //STL includes
22 #include <set>
23 
24 //forward declarations
25 class IdentifierHash;
26 class SCT_ID;
27 
32 class SCT_StripVetoTool: public extends<AthAlgTool, ISCT_ConditionsTool> {
33 public:
34  //@name Tool methods
36  SCT_StripVetoTool(const std::string& type, const std::string& name, const IInterface* parent);
37  virtual ~SCT_StripVetoTool() = default;
38  virtual StatusCode initialize() override;
39  virtual StatusCode finalize() override;
41 
43  virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
44 
46  virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::SCT_STRIP) const override;
47  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::SCT_STRIP) const override;
48 
50  virtual bool isGood(const IdentifierHash& hashId) const override;
51  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
52  virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
54 
55 private:
57 
58  StringArrayProperty m_badElements{this, "BadStripIdentifiers", {}, "list of bad detector elements (= strips). Identifiers should be given as strings and decimal."};
59  std::set<Identifier> m_badIds;
60  const SCT_ID* m_pHelper{nullptr};
61 
62 };
63 
64 #endif // SCT_StripVetoTool_h
SCT_StripVetoTool::SCT_StripVetoTool
SCT_StripVetoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SCT_StripVetoTool.cxx:21
SCT_StripVetoTool::m_badIds
std::set< Identifier > m_badIds
Definition: SCT_StripVetoTool.h:59
ISCT_ConditionsTool.h
SCT_StripVetoTool::fillData
StatusCode fillData()
Definition: SCT_StripVetoTool.cxx:82
SCT_StripVetoTool::canReportAbout
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
Can the service report about the given component? (chip, module...)
Definition: SCT_StripVetoTool.cxx:50
InDetConditions::Hierarchy
Hierarchy
Definition: InDetHierarchy.h:14
SCT_StripVetoTool::getDetectorElementStatus
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
Definition: SCT_StripVetoTool.cxx:77
SCT_StripVetoTool
Definition: SCT_StripVetoTool.h:32
SCT_StripVetoTool::m_badElements
StringArrayProperty m_badElements
Definition: SCT_StripVetoTool.h:58
InDet::SiDetectorElementStatus
Definition: SiDetectorElementStatus.h:62
SCT_StripVetoTool::initialize
virtual StatusCode initialize() override
Definition: SCT_StripVetoTool.cxx:27
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetHierarchy.h
SCT_StripVetoTool::~SCT_StripVetoTool
virtual ~SCT_StripVetoTool()=default
SCT_StripVetoTool::isGood
virtual bool isGood(const Identifier &elementId, InDetConditions::Hierarchy h=InDetConditions::SCT_STRIP) const override
Is the detector element good?
Definition: SCT_StripVetoTool.cxx:55
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SCT_StripVetoTool::m_pHelper
const SCT_ID * m_pHelper
Definition: SCT_StripVetoTool.h:60
SCT_StripVetoTool::finalize
virtual StatusCode finalize() override
Definition: SCT_StripVetoTool.cxx:45
h
SCT_ID
Definition: SCT_ID.h:68
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IdentifierHash
Definition: IdentifierHash.h:38
InDetConditions::SCT_STRIP
@ SCT_STRIP
Definition: InDetHierarchy.h:14
SG::WriteCondHandle
Definition: WriteCondHandle.h:26