5 #ifndef INDET_EMULATEDDEFECTSTODETECTORELEMENTSTATUSCONDALG_H
6 #define INDET_EMULATEDDEFECTSTODETECTORELEMENTSTATUSCONDALG_H
14 template <
class T_Derived>
18 template <
class T_Derived>
35 const std::vector<T_EmulatedDefectsKey> &emulated_module_defects) {
37 ChipFlags_t chip_status=(1
u<<module_helper.circuitsPerColumn()*module_helper.circuitsPerRow())-1;
39 if (!emulated_module_defects.empty()) {
42 if (module_helper.isRangeKey(
key)) {
44 if ( module_helper.getRow(
key)==0
45 && module_helper.getColumn(
key)==0
46 && (module_helper.getChip(last_key)-module_helper.getChip(
key)>0
47 || ( module_helper.getColumn(last_key) >=module_helper.columnsPerCircuit()
48 && module_helper.getRow(last_key) >=module_helper.rowsPerCircuit()))) {
49 unsigned int end_chip = module_helper.getChip(last_key);
50 if ( module_helper.getColumn(last_key) >=module_helper.columnsPerCircuit()
51 && module_helper.getRow(last_key) >= module_helper.rowsPerCircuit()) {
54 for (
unsigned int chip_i=module_helper.getChip(
key); chip_i<end_chip; ++chip_i) {
56 chip_status &= ~(1<<(chip_i));
67 {
this,
"EmulatedDefectsKey",
"",
"Key of the emulated defects input collection"};