ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_ConditionsParameterTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
10#include <limits>
11
13
14//c'tor
15SCT_ConditionsParameterTool::SCT_ConditionsParameterTool(const std::string& type, const std::string& name, const IInterface* parent) :
16 base_class(type, name, parent) {
17}
18
19//
20StatusCode
22 ATH_CHECK(m_condKey.initialize());
23
24 return StatusCode::SUCCESS;
25}
26
27//
28StatusCode
30 return StatusCode::SUCCESS;
31}
32
34bool
35SCT_ConditionsParameterTool::available(const SCT_CondParameterData::ParameterIndex iparam, const EventContext& /*ctx*/) const {
37}
38
39bool
41 const EventContext& ctx{Gaudi::Hive::currentContext()};
42 return available(iparam, ctx);
43}
44
46float
47SCT_ConditionsParameterTool::value(const IdentifierHash& idHash, const SCT_CondParameterData::ParameterIndex iparam, const EventContext& ctx) const {
49 if (data==nullptr) return invalid(iparam);
50 return data->getValue(idHash, iparam);
51}
52
53float
55 const EventContext& ctx{Gaudi::Hive::currentContext()};
56 return value(idHash, iparam, ctx);
57}
58
60float
61SCT_ConditionsParameterTool::validity(const IdentifierHash& /*idHash*/, const SCT_CondParameterData::ParameterIndex /*iparam*/, const EventContext& /*ctx*/) const {
62 return 1.0;
63}
64
65float
67 const EventContext& ctx{Gaudi::Hive::currentContext()};
68 return validity(idHash, iparam, ctx);
69}
70
72bool
73SCT_ConditionsParameterTool::isValid(const float parameterValue, const SCT_CondParameterData::ParameterIndex iparam, const EventContext& ctx) const {
75 if (data==nullptr) return invalid(iparam);
76 return SCT_CondParameterData::isValid(parameterValue, iparam);
77}
78
79bool
80SCT_ConditionsParameterTool::isValid(const float parameterValue, const SCT_CondParameterData::ParameterIndex iparam) const {
81 const EventContext& ctx{Gaudi::Hive::currentContext()};
82 return isValid(parameterValue, iparam, ctx);
83}
84
86float
87SCT_ConditionsParameterTool::invalid(const unsigned int iparam, const EventContext& /*ctx*/) const {
88 float result{0.0};
90 result=std::numeric_limits<float>::quiet_NaN();
91 }
92 return result;
93}
94
95float
96SCT_ConditionsParameterTool::invalid(const unsigned int iparam) const {
97 const EventContext& ctx{Gaudi::Hive::currentContext()};
98 return invalid(iparam, ctx);
99}
100
102float
105 if (data==nullptr) return invalid(iparam);
106 return data->max(iparam);
107}
108
109float
111 const EventContext& ctx{Gaudi::Hive::currentContext()};
112 return max(iparam, ctx);
113}
114
116float
119 if (data==nullptr) return invalid(iparam);
120 return data->min(iparam);
121}
122
123float
125 const EventContext& ctx{Gaudi::Hive::currentContext()};
126 return min(iparam, ctx);
127}
128
130float
133 if (data==nullptr) return invalid(iparam);
134 return data->avg(iparam);
135}
136
137float
139 const EventContext& ctx{Gaudi::Hive::currentContext()};
140 return avg(iparam, ctx);
141}
142
144float
145SCT_ConditionsParameterTool::sd(const SCT_CondParameterData::ParameterIndex iparam, const EventContext& ctx) const {
147 if (data==nullptr) return invalid(iparam);
148 return data->sd(iparam);
149}
150
151float
153 const EventContext& ctx{Gaudi::Hive::currentContext()};
154 return sd(iparam, ctx);
155}
156
158unsigned int
159SCT_ConditionsParameterTool::n(const SCT_CondParameterData::ParameterIndex iparam, const EventContext& ctx) const {
161 if (data==nullptr) return 0;
162 return data->n(iparam);
163}
164
165unsigned int
167 const EventContext& ctx{Gaudi::Hive::currentContext()};
168 return n(iparam, ctx);
169}
170
172void
173SCT_ConditionsParameterTool::getValues(std::vector<float>& userVector, const SCT_CondParameterData::ParameterIndex iparam, const EventContext& ctx) const {
175 if (data!=nullptr) data->getValues(userVector, iparam);
176 //no return value
177}
178
179void
180SCT_ConditionsParameterTool::getValues(std::vector<float>& userVector, const SCT_CondParameterData::ParameterIndex iparam) const {
181 const EventContext& ctx{Gaudi::Hive::currentContext()};
182 getValues(userVector, iparam, ctx);
183}
184
186bool
187SCT_ConditionsParameterTool::filled(const EventContext& ctx) const {
189 return (data!=nullptr);
190}
191
192bool
194 const EventContext& ctx{Gaudi::Hive::currentContext()};
195 return filled(ctx);
196}
197
200 if (not condData.isValid()) {
201 ATH_MSG_ERROR("Failed to get " << m_condKey.key());
202 return nullptr;
203 }
204 return *condData;
205}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
header file for SCT conditions tool giving numerical parameters
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41
This is a "hash" representation of an Identifier.
Data object for SCT_ConditionsParameterTool and SCT_ConditionsParameterCondAlg.
static bool isValid(const float parameterValue, const SCT_CondParameterData::ParameterIndex iparam)
Is a given value within acceptable limits?
virtual float sd(const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Standard deviation.
virtual StatusCode finalize() override
virtual float max(const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Maximum value read in from the database.
virtual bool available(const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Is the required parameter available?
virtual float min(const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Minimum value read in from the database.
const SCT_CondParameterData * getCondData(const EventContext &ctx) const
virtual void getValues(std::vector< float > &userVector, const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Fill a user-provided vector with the values (hopefully won't be needed?)
virtual float value(const IdentifierHash &idHash, const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Give the indicated value for a module identifier hash.
virtual float avg(const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Average value.
virtual bool filled() const override
virtual float validity(const IdentifierHash &idHash, const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Measure of how many valid values went to calculate it. Should be 1 but if, say, 3 chip values were va...
virtual StatusCode initialize() override
virtual bool isValid(const float parameterValue, const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Is a given value within acceptable limits?
virtual float invalid(const unsigned int iparam, const EventContext &ctx) const override
What is the default error value for this parameter?
virtual unsigned int n(const SCT_CondParameterData::ParameterIndex iparam, const EventContext &ctx) const override
Number of values read in.
SG::ReadCondHandleKey< SCT_CondParameterData > m_condKey
SCT_ConditionsParameterTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor necessary for Svc factory.