Loading [MathJax]/jax/output/SVG/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
EmulatedDefectsToDetectorElementStatusCondAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDET_EMULATEDDEFECTSTODETECTORELEMENTSTATUSCONDALG_H
6 #define INDET_EMULATEDDEFECTSTODETECTORELEMENTSTATUSCONDALG_H
7 
9 
10 
11 namespace InDet {
12 
13  namespace details {
14  template <class T_Derived>
16  }
17 
18  template <class T_Derived>
20  {
21  public:
25  using T_EmulatedDefectsKey = typename T_ModuleHelper::KEY_TYPE;
27 
29 
30  virtual StatusCode initialize() override;
31  virtual StatusCode execute(const EventContext& ctx) const override;
32 
33  protected:
34  static ChipFlags_t makeChipStatus(const InDetDD::SiDetectorElement &detector_element,
35  const std::vector<T_EmulatedDefectsKey> &emulated_module_defects) {
36  T_ModuleHelper module_helper( detector_element.design() );
37  ChipFlags_t chip_status=(1u<<module_helper.circuitsPerColumn()*module_helper.circuitsPerRow())-1;
38  if constexpr(CHIP_MASK_IDX < T_ModuleHelper::N_MASKS) {
39  for (T_EmulatedDefectsKey key : emulated_module_defects) {
40  if (module_helper.getMaskIdx(key) == CHIP_MASK_IDX) {
41  assert( module_helper.getChip(key) < 31 && (1u<<module_helper.getChip(key) ) < std::numeric_limits<ChipFlags_t>::max());
42  chip_status &= ~(1<<(module_helper.getChip(key)));
43  }
44  }
45  }
46  return chip_status;
47  };
48 
49 
51  {this, "EmulatedDefectsKey", "", "Key of the emulated defects input collection"};
52 
53  };
54 }
55 
57 #endif
EmulatedDefectsToDetectorElementStatusCondAlg.icc
InDet::EmulatedDefectsToDetectorElementStatusCondAlg::m_emulatedDefectsKey
SG::ReadCondHandleKey< T_EmulatedDefects > m_emulatedDefectsKey
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:51
InDet::EmulatedDefectsToDetectorElementStatusCondAlgBase::EmulatedDefectsToDetectorElementStatusCondAlgBase
EmulatedDefectsToDetectorElementStatusCondAlgBase(const std::string &name, ISvcLocator *pSvcLocator)
Definition: EmulatedDefectsToDetectorElementStatusCondAlgBase.cxx:8
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::EmulatedDefectsToDetectorElementStatusCondAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
InDet::EmulatedDefectsToDetectorElementStatusCondAlg< PixelEmulatedDefectsToDetectorElementStatusCondAlg >::T_ModuleHelper
details::EmulatedDefectsToDetectorElementStatusTraits< PixelEmulatedDefectsToDetectorElementStatusCondAlg >::T_ModuleHelper T_ModuleHelper
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:24
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
InDet::EmulatedDefectsToDetectorElementStatusCondAlg::makeChipStatus
static ChipFlags_t makeChipStatus(const InDetDD::SiDetectorElement &detector_element, const std::vector< T_EmulatedDefectsKey > &emulated_module_defects)
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:34
details
Definition: IParticleWriter.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::EmulatedDefectsToDetectorElementStatusCondAlgBase
Definition: EmulatedDefectsToDetectorElementStatusCondAlgBase.h:20
InDet::EmulatedDefectsToDetectorElementStatusCondAlg< PixelEmulatedDefectsToDetectorElementStatusCondAlg >::T_EmulatedDefectsKey
typename T_ModuleHelper::KEY_TYPE T_EmulatedDefectsKey
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:25
InDet::EmulatedDefectsToDetectorElementStatusCondAlg
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:20
InDet::details::EmulatedDefectsToDetectorElementStatusTraits
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:15
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
InDet::EmulatedDefectsToDetectorElementStatusCondAlg::initialize
virtual StatusCode initialize() override
SG::ReadCondHandleKey< T_EmulatedDefects >
InDet::EmulatedDefectsToDetectorElementStatusCondAlg::CHIP_MASK_IDX
static constexpr unsigned int CHIP_MASK_IDX
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:26
InDet::ChipFlags_t
unsigned short ChipFlags_t
Definition: SiDetectorElementStatus.h:60
InDetDD::SiDetectorElement::design
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
InDet::EmulatedDefectsToDetectorElementStatusCondAlg< PixelEmulatedDefectsToDetectorElementStatusCondAlg >::T_ConcreteDetectorElementStatusType
details::EmulatedDefectsToDetectorElementStatusTraits< PixelEmulatedDefectsToDetectorElementStatusCondAlg >::T_ConcreteDetectorElementStatusType T_ConcreteDetectorElementStatusType
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:22
InDet::EmulatedDefectsToDetectorElementStatusCondAlg< PixelEmulatedDefectsToDetectorElementStatusCondAlg >::T_EmulatedDefects
details::EmulatedDefectsToDetectorElementStatusTraits< PixelEmulatedDefectsToDetectorElementStatusCondAlg >::T_EmulatedDefects T_EmulatedDefects
Definition: EmulatedDefectsToDetectorElementStatusCondAlg.h:23
EmulatedDefectsToDetectorElementStatusCondAlgBase.h
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37