13#include "GaudiKernel/ThreadLocalContext.h"
23 base_class(
type, name, parent)
28 if (detStore()->retrieve(
m_pHelper,
"SCT_ID").isFailure()) {
30 return StatusCode::FAILURE;
40 return StatusCode::SUCCESS;
44 return StatusCode::SUCCESS;
61 moduleId =
m_pHelper->module_id(elementId);
72 if (not moduleId.
is_valid())
return true;
76 if (condDataState==
nullptr)
return false;
77 else if (condDataState->
output(
castId(moduleId))==0)
return true;
85 const EventContext& ctx{Gaudi::Hive::currentContext()};
86 return isGood(elementId, ctx,
h);
100 if (not condDataHandle.
isValid()) {
108 if (condDataState==
nullptr)
return;
110 if (status.empty()) {
111 status.resize(
m_pHelper->wafer_hash_max(),
true);
114 constexpr unsigned int N_CHIPS_PER_SIDE = 6;
115 constexpr unsigned int N_SIDES = 2;
116 constexpr InDet::ChipFlags_t all_flags_set =
static_cast<InDet::ChipFlags_t
>((1ul<<(N_CHIPS_PER_SIDE*N_SIDES)) - 1ul);
117 if (chip_status.empty()) {
118 chip_status.resize(status.size(), all_flags_set);
123 for (
unsigned int side_i=0; side_i<2; ++side_i) {
130 status.at(hashId.
value() ) = status.at(hashId.
value() ) && dcs_state.second.empty();
131 chip_status.at(hashId.
value()) = chip_status.at(hashId.
value()) & ( dcs_state.second.empty() ? all_flags_set : 0 );
138 const EventContext& ctx{Gaudi::Hive::currentContext()};
139 return isGood(hashId, ctx);
161 const EventContext& ctx{Gaudi::Hive::currentContext()};
162 return modHV(elementId, ctx,
h);
173 const EventContext& ctx{Gaudi::Hive::currentContext()};
174 return modHV(hashId, ctx);
193 const EventContext& ctx{Gaudi::Hive::currentContext()};
205 const EventContext& ctx{Gaudi::Hive::currentContext()};
223 int modeta{
m_pHelper->eta_module(moduleId)};
235 const EventContext& ctx{Gaudi::Hive::currentContext()};
247 const EventContext& ctx{Gaudi::Hive::currentContext()};
#define ATH_CHECK
Evaluate an expression and check for errors.
This is an Identifier helper class for the SCT subdetector.
Header file for AthHistogramAlgorithm.
This is a "hash" representation of an Identifier.
bool is_valid() const
Check if id is in a valid state.
const std::vector< bool > & getElementStatus() const
const std::vector< ChipFlags_t > & getElementChipStatus() const
Class for data object used in SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
bool getValue(const CondAttrListCollection::ChanNum &chanNum, float &value) const
Get the float value for a channel.
Classs for data object used in SCT_DCSConditionsStatCondAlg, SCT_DCSConditionsTool,...
const DCSConditions & badChannelsMap() const
int output(const CondAttrListCollection::ChanNum &chanNum, std::vector< std::string > &usersVector) const
Copy all defects to a users vector, the return value is the size.
const_pointer_type retrieve()
const_pointer_type cptr()
void addDependency(const EventIDRange &range)