11 #include <top/dbobjects/TOPCalModuleAlignment.h>
12 #include <framework/logging/Logger.h>
22 void TOPCalModuleAlignment::setAlpha(
int moduleID,
double alpha,
double errAlpha)
24 unsigned module = moduleID - 1;
25 if (module >= c_numModules) {
26 B2ERROR(
"Invalid module number, constant not set (" << ClassName() <<
")");
29 m_alpha[module] = alpha;
30 m_errAlpha[module] = errAlpha;
33 void TOPCalModuleAlignment::setBeta(
int moduleID,
double beta,
double errBeta)
35 unsigned module = moduleID - 1;
36 if (module >= c_numModules) {
37 B2ERROR(
"Invalid module number, constant not set (" << ClassName() <<
")");
40 m_beta[module] = beta;
41 m_errBeta[module] = errBeta;
44 void TOPCalModuleAlignment::setGamma(
int moduleID,
double gamma,
double errGamma)
46 unsigned module = moduleID - 1;
47 if (module >= c_numModules) {
48 B2ERROR(
"Invalid module number, constant not set (" << ClassName() <<
")");
51 m_gamma[module] = gamma;
52 m_errGamma[module] = errGamma;
55 void TOPCalModuleAlignment::setX(
int moduleID,
double x,
double errX)
57 unsigned module = moduleID - 1;
58 if (module >= c_numModules) {
59 B2ERROR(
"Invalid module number, constant not set (" << ClassName() <<
")");
63 m_errX[module] = errX;
66 void TOPCalModuleAlignment::setY(
int moduleID,
double y,
double errY)
68 unsigned module = moduleID - 1;
69 if (module >= c_numModules) {
70 B2ERROR(
"Invalid module number, constant not set (" << ClassName() <<
")");
74 m_errY[module] = errY;
77 void TOPCalModuleAlignment::setZ(
int moduleID,
double z,
double errZ)
79 unsigned module = moduleID - 1;
80 if (module >= c_numModules) {
81 B2ERROR(
"Invalid module number, constant not set (" << ClassName() <<
")");
85 m_errZ[module] = errZ;
88 void TOPCalModuleAlignment::setCalibrated(
int moduleID)
90 unsigned module = moduleID - 1;
91 if (module >= c_numModules) {
92 B2ERROR(
"Invalid module number, status not set (" << ClassName() <<
")");
95 m_status[module] = c_Calibrated;
98 void TOPCalModuleAlignment::setUnusable(
int moduleID)
100 unsigned module = moduleID - 1;
101 if (module >= c_numModules) {
102 B2ERROR(
"Invalid module number, status not set (" << ClassName() <<
")");
105 m_status[module] = c_Unusable;
108 double TOPCalModuleAlignment::getAlpha(
int moduleID)
const
110 unsigned module = moduleID - 1;
111 if (module >= c_numModules) {
112 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
115 return m_alpha[module];
118 double TOPCalModuleAlignment::getBeta(
int moduleID)
const
120 unsigned module = moduleID - 1;
121 if (module >= c_numModules) {
122 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
125 return m_beta[module];
128 double TOPCalModuleAlignment::getGamma(
int moduleID)
const
130 unsigned module = moduleID - 1;
131 if (module >= c_numModules) {
132 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
135 return m_gamma[module];
138 double TOPCalModuleAlignment::getX(
int moduleID)
const
140 unsigned module = moduleID - 1;
141 if (module >= c_numModules) {
142 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
148 double TOPCalModuleAlignment::getY(
int moduleID)
const
150 unsigned module = moduleID - 1;
151 if (module >= c_numModules) {
152 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
158 double TOPCalModuleAlignment::getZ(
int moduleID)
const
160 unsigned module = moduleID - 1;
161 if (module >= c_numModules) {
162 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
168 double TOPCalModuleAlignment::getAlphaErr(
int moduleID)
const
170 unsigned module = moduleID - 1;
171 if (module >= c_numModules) {
172 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
175 return m_errAlpha[module];
178 double TOPCalModuleAlignment::getBetaErr(
int moduleID)
const
180 unsigned module = moduleID - 1;
181 if (module >= c_numModules) {
182 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
185 return m_errBeta[module];
188 double TOPCalModuleAlignment::getGammaErr(
int moduleID)
const
190 unsigned module = moduleID - 1;
191 if (module >= c_numModules) {
192 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
195 return m_errGamma[module];
198 double TOPCalModuleAlignment::getXErr(
int moduleID)
const
200 unsigned module = moduleID - 1;
201 if (module >= c_numModules) {
202 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
205 return m_errX[module];
208 double TOPCalModuleAlignment::getYErr(
int moduleID)
const
210 unsigned module = moduleID - 1;
211 if (module >= c_numModules) {
212 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
215 return m_errY[module];
218 double TOPCalModuleAlignment::getZErr(
int moduleID)
const
220 unsigned module = moduleID - 1;
221 if (module >= c_numModules) {
222 B2WARNING(
"Invalid module number, returning 0 (" << ClassName() <<
")");
225 return m_errZ[module];
228 bool TOPCalModuleAlignment::isCalibrated(
int moduleID)
const
230 unsigned module = moduleID - 1;
231 if (module >= c_numModules)
return false ;
232 return m_status[module] == c_Calibrated;
235 bool TOPCalModuleAlignment::isDefault(
int moduleID)
const
237 unsigned module = moduleID - 1;
238 if (module >= c_numModules)
return false ;
239 return m_status[module] == c_Default;
242 bool TOPCalModuleAlignment::isUnusable(
int moduleID)
const
244 unsigned module = moduleID - 1;
245 if (module >= c_numModules)
return false ;
246 return m_status[module] == c_Unusable;
249 bool TOPCalModuleAlignment::areAllCalibrated()
const
251 for (
int i = 0; i < c_numModules; i++) {
252 if (m_status[i] != c_Calibrated)
return false;
257 bool TOPCalModuleAlignment::areAllPrecise(
double spatialPrecision,
258 double angularPrecision)
const
260 for (
int i = 0; i < c_numModules; i++) {
261 if (m_errAlpha[i] > angularPrecision)
return false;
262 if (m_errBeta[i] > angularPrecision)
return false;
263 if (m_errGamma[i] > angularPrecision)
return false;
264 if (m_errX[i] > spatialPrecision)
return false;
265 if (m_errY[i] > spatialPrecision)
return false;
266 if (m_errZ[i] > spatialPrecision)
return false;