22 for (
unsigned int i{0}; i!=
m_values.size(); ++i) {
23 userVector.push_back(
m_values[i][iparam]);
29 if (
insert(idHash, iparam, value)) {
31 m_sum[iparam] += value;
33 m_min[iparam] = std::min(
m_min[iparam], value);
34 m_max[iparam] = std::max(
m_max[iparam], value);
41 if (not
isValid(theValue, iparam))
return false;
42 std::array<float,N_PARAMETERS>& paramArray =
m_values[idHash];
44 if (not
isValid(paramArray[iparam], iparam)) {
45 paramArray[iparam] = theValue;
55 return !(iparam==
AVG_THRESHOLD and (parameterValue!=parameterValue));
62 result=std::numeric_limits<float>::quiet_NaN();
79 return (
m_n[iparam]!=0)?(
m_sum[iparam]/
m_n[iparam]):(std::numeric_limits<float>::quiet_NaN());
85 return std::sqrt((
m_sumsq[iparam]/
m_n[iparam]) - mu*mu);
95 std::array<float, N_PARAMETERS> init{};
97 m_min[i] = std::numeric_limits<float>::max();
98 m_max[i] = std::numeric_limits<float>::min();
header file for data object for SCT_ConditionsParameterTool and SCT_ConditionsParameterCondAlg.
This is a "hash" representation of an Identifier.
unsigned int m_n[N_PARAMETERS]
static float invalid(const unsigned int iparam)
What is the default error value for this parameter?
float m_min[N_PARAMETERS]
float m_sum[N_PARAMETERS]
float min(const SCT_CondParameterData::ParameterIndex iparam) const
Get minimum value.
SCT_CondParameterData()
Constructor.
ParameterIndex
Parameters.
float sd(const SCT_CondParameterData::ParameterIndex iparam) const
Get standard deviation.
bool insert(const IdentifierHash &idHash, const SCT_CondParameterData::ParameterIndex iparam, const float value)
Extended methods for data structure insertion.
void setValue(const IdentifierHash &idHash, const SCT_CondParameterData::ParameterIndex iparam, const float value)
Get the indicated value for a module identifier hash.
std::array< std::array< float, N_PARAMETERS >, SCT_ConditionsData::NUMBER_OF_WAFERS > m_values
float avg(const SCT_CondParameterData::ParameterIndex iparam) const
Get average value.
unsigned int n(const SCT_CondParameterData::ParameterIndex iparam) const
Get the number of values.
void getValues(std::vector< float > &userVector, const SCT_CondParameterData::ParameterIndex iparam) const
Fill a user-provided vector with the values.
float m_max[N_PARAMETERS]
float m_sumsq[N_PARAMETERS]
float getValue(const IdentifierHash &idHash, const SCT_CondParameterData::ParameterIndex iparam) const
Get the indicated value for a module identifier hash.
float max(const SCT_CondParameterData::ParameterIndex iparam) const
Get maximum value.
static bool isValid(const float parameterValue, const SCT_CondParameterData::ParameterIndex iparam)
Is a given value within acceptable limits?
void clear()
Clear all data members.