ATLAS Offline Software
Loading...
Searching...
No Matches
TRTStrawStatusWrite.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
5//
12
13#include "TRTStrawStatusWrite.h"
14#include <fstream>
15#include <iostream>
16#include <iomanip>
17#include <sstream>
18#include <stdio.h>
20
21TRTStrawStatusWrite::TRTStrawStatusWrite(const std::string &name, ISvcLocator *pSvcLocator) : AthAlgorithm(name, pSvcLocator){}
22
24{
25 ATH_MSG_INFO(" Initializing TRTStrawStatusWrite ");
26 ATH_CHECK(detStore()->retrieve(m_trtid, "TRT_ID"));
27
28 if (!m_par_stattextfile.empty())
29 {
30 ATH_MSG_INFO("Recording StrawStatusContainer for key " << m_par_strawstatuscontainerkey);
32 {
33 ATH_MSG_ERROR(" Could not read TRT StrawStatus objects ");
34 return StatusCode::FAILURE;
35 }
36 ATH_MSG_INFO(" Filled " << m_par_strawstatuscontainerkey << " using input file " << m_par_stattextfile);
37 }
38
39 if (!m_par_stattextfilepermanent.empty())
40 {
41 ATH_MSG_INFO("Recording StrawStatusPermanent Container for key " << m_par_strawstatuspermanentcontainerkey);
43 {
44 ATH_MSG_ERROR(" Could not read TRT StrawStatus permanent objects ");
45 return StatusCode::FAILURE;
46 }
48 }
49
50 if (!m_par_stattextfileHT.empty())
51 {
52 ATH_MSG_INFO("Recording StrawStatusHTContainer for key " << m_par_strawstatusHTcontainerkey);
54 {
55 ATH_MSG_ERROR(" Could not read TRT StrawStatus HT objects ");
56 return StatusCode::FAILURE;
57 }
58 ATH_MSG_INFO(" Filled " << m_par_strawstatusHTcontainerkey << " using input file " << m_par_stattextfileHT);
59 }
60
61 return StatusCode::SUCCESS;
62}
63
65{
66 return StatusCode::SUCCESS;
67}
68
70{
71 return StatusCode::SUCCESS;
72}
73
74// set special bits//////////////////////////////////////////////////
75void TRTStrawStatusWrite::set_status_temp(StrawStatusContainer *strawstatuscontainer, Identifier offlineID, bool set)
76{
78 TRTCond::ExpandedIdentifier id = TRTCond::ExpandedIdentifier(m_trtid->barrel_ec(offlineID), m_trtid->layer_or_wheel(offlineID),
79 m_trtid->phi_module(offlineID), m_trtid->straw_layer(offlineID),
80 m_trtid->straw(offlineID), level);
81
82 unsigned int org_stat = int((*strawstatuscontainer).get(id).getstatus());
83 const unsigned int statusbitmask = 1 << 8; // 0000001 00000000
84
85 if (set)
86 {
87 (*strawstatuscontainer).set(id, (org_stat | statusbitmask));
88 }
89 else
90 {
91 (*strawstatuscontainer).set(id, (org_stat & (~statusbitmask)));
92 }
93}
94
95// set special bits////////////////////////////////////////////////
96void TRTStrawStatusWrite::set_status_permanent(StrawStatusContainer *strawstatuspermanentcontainer, Identifier offlineID, bool set)
97{
98
100 TRTCond::ExpandedIdentifier id = TRTCond::ExpandedIdentifier(m_trtid->barrel_ec(offlineID), m_trtid->layer_or_wheel(offlineID),
101 m_trtid->phi_module(offlineID), m_trtid->straw_layer(offlineID),
102 m_trtid->straw(offlineID), level);
103 unsigned int org_stat = int((*strawstatuspermanentcontainer).get(id).getstatus());
104 const unsigned int statusbitmask = 1 << 8; // 0000001 00000000
105
106 if (set)
107 {
108 (*strawstatuspermanentcontainer).set(id, (org_stat | statusbitmask));
109 }
110 else
111 {
112 (*strawstatuspermanentcontainer).set(id, (org_stat & (~statusbitmask)));
113 }
114}
115
117StatusCode TRTStrawStatusWrite::readStatFromTextFile(const std::string &filename)
118{
119
121
122 strawstatus->clear();
123 ATH_MSG_INFO(" ***************** TRTStrawStatusWrite ************************ ");
124 ATH_MSG_INFO(" readStatFromTextFile called with file name " << filename);
125
126 int deadba0[32];
127 int deadba1[32];
128 int deadba2[32];
129 int deadbc0[32];
130 int deadbc1[32];
131 int deadbc2[32];
132 int deadea[14];
133 int deadec[14];
134 for (int i = 0; i < 32; i++)
135 {
136 deadba0[i] = 0;
137 deadba1[i] = 0;
138 deadba2[i] = 0;
139 deadbc0[i] = 0;
140 deadbc1[i] = 0;
141 deadbc2[i] = 0;
142 }
143 for (int i = 0; i < 14; i++)
144 {
145 deadea[i] = 0;
146 deadec[i] = 0;
147 }
148 // initialize detector layers with status 'good'
149 for (int l = 0; l < 3; l++)
150 {
152 strawstatus->setStatus(idbc, TRTCond::StrawStatus::Good);
154 strawstatus->setStatus(idba, TRTCond::StrawStatus::Good);
155 }
156 for (int l = 0; l < 14; l++)
157 {
159 strawstatus->setStatus(idec, TRTCond::StrawStatus::Good);
161 strawstatus->setStatus(idea, TRTCond::StrawStatus::Good);
162 }
163
164 if (filename.empty())
165 {
166 ATH_MSG_FATAL(" Empty input file! ");
167 return StatusCode::FAILURE;
168 }
169 std::ifstream ifs(filename.c_str());
170 int bec, layer, sector, strawlayer, straw, status;
171 // txt file format : bec sector straw strawlayer layer dead/alive
172 int line = 0;
174 while (ifs >> bec >> sector >> straw >> strawlayer >> layer >> status)
175 {
176 if ((status == 3) || (status == 4) || (status == 5))
177 status = 1;
178 if (status != 1)
179 {
180 ATH_MSG_FATAL(" The Status Temp : " << status << " IS NOT ACCEPTED, Use 1 for dead ");
181 return StatusCode::FAILURE;
182 }
184 line += 1;
185
186 if (straw < 0)
187 {
189 straw = 0;
190 }
191 if (strawlayer < 0)
192 {
194 strawlayer = 0;
195 }
196 if (sector < 0)
197 {
199 sector = 0;
200 }
201 if (layer < 0)
202 {
204 layer = 0;
205 }
206 if (bec < -2)
207 {
209 bec = -2;
210 }
211
213 {
214 if (bec == -1 && sector >= 0 && sector < 32)
215 {
216 if (layer == 0)
217 deadbc0[sector]++;
218 if (layer == 1)
219 deadbc1[sector]++;
220 if (layer == 2)
221 deadbc2[sector]++;
222 }
223 if (bec == 1 && sector >= 0 && sector < 32)
224 {
225 if (layer == 0)
226 deadba0[sector]++;
227 if (layer == 1)
228 deadba1[sector]++;
229 if (layer == 2)
230 deadba2[sector]++;
231 }
232 if (bec == -2 && layer >= 0 && layer < 14)
233 deadec[layer]++;
234 if (bec == 2 && layer >= 0 && layer < 14)
235 deadea[layer]++;
236 }
237 else
238 {
239 ATH_MSG_INFO("Entire Module dead: bec: " << bec << " layer: " << layer << " phi: " << sector << " stl: " << strawlayer << " stw: " << straw << " level " << level);
240 }
241
242 TRTCond::ExpandedIdentifier id(bec, layer, sector, strawlayer, straw, level);
243 // 1 means BAD
244 strawstatus->setStatus(id, 1);
245
246 // I don't know why to set this extra bit 8 here for dead straws. Been always like that. (PH)
247 strawstatus->set(id, 1);
248 Identifier ID = m_trtid->straw_id(bec, sector, layer, strawlayer, straw);
249 set_status_temp(strawstatus, ID, status == 1 ? true : false);
250 }
251
252 ATH_MSG_INFO(" Dead straws BA layer 0");
253 ATH_MSG_INFO("deadba0[] = { " << deadba0[0] << ", " << deadba0[1] << ", " << deadba0[2] << ", " << deadba0[3] << ", " << deadba0[4] << ", " << deadba0[5] << ", " << deadba0[6] << ", " << deadba0[7] << ", " << deadba0[8] << ", " << deadba0[9] << ", " << deadba0[10] << ", " << deadba0[11] << ", " << deadba0[12] << ", " << deadba0[13] << ", " << deadba0[14] << ", " << deadba0[15] << ", " << deadba0[16] << ", " << deadba0[17] << ", " << deadba0[18] << ", " << deadba0[19] << ", " << deadba0[20] << ", " << deadba0[21] << ", " << deadba0[22] << ", " << deadba0[23] << ", " << deadba0[24] << ", " << deadba0[25] << ", " << deadba0[26] << ", " << deadba0[27] << ", " << deadba0[28] << ", " << deadba0[29] << ", " << deadba0[30] << ", " << deadba0[31] << "}; ");
254 ATH_MSG_INFO(" Dead straws BA layer 1 ");
255 ATH_MSG_INFO("deadba1[] = { " << deadba1[0] << ", " << deadba1[1] << ", " << deadba1[2] << ", " << deadba1[3] << ", " << deadba1[4] << ", " << deadba1[5] << ", " << deadba1[6] << ", " << deadba1[7] << ", " << deadba1[8] << ", " << deadba1[9] << ", " << deadba1[10] << ", " << deadba1[11] << ", " << deadba1[12] << ", " << deadba1[13] << ", " << deadba1[14] << ", " << deadba1[15] << ", " << deadba1[16] << ", " << deadba1[17] << ", " << deadba1[18] << ", " << deadba1[19] << ", " << deadba1[20] << ", " << deadba1[21] << ", " << deadba1[22] << ", " << deadba1[23] << ", " << deadba1[24] << ", " << deadba1[25] << ", " << deadba1[26] << ", " << deadba1[27] << ", " << deadba1[28] << ", " << deadba1[29] << ", " << deadba1[30] << ", " << deadba1[31] << "};");
256 ATH_MSG_INFO(" Dead straws BA layer 2");
257 ATH_MSG_INFO("deadba2[]= { " << deadba2[0] << ", " << deadba2[1] << ", " << deadba2[2] << ", " << deadba2[3] << ", " << deadba2[4] << ", " << deadba2[5] << ", " << deadba2[6] << ", " << deadba2[7] << ", " << deadba2[8] << ", " << deadba2[9] << ", " << deadba2[10] << ", " << deadba2[11] << ", " << deadba2[12] << ", " << deadba2[13] << ", " << deadba2[14] << ", " << deadba2[15] << ", " << deadba2[16] << ", " << deadba2[17] << ", " << deadba2[18] << ", " << deadba2[19] << ", " << deadba2[20] << ", " << deadba2[21] << ", " << deadba2[22] << ", " << deadba2[23] << ", " << deadba2[24] << ", " << deadba2[25] << ", " << deadba2[26] << ", " << deadba2[27] << ", " << deadba2[28] << ", " << deadba2[29] << ", " << deadba2[30] << ", " << deadba2[31] << "}; ");
258
259 ATH_MSG_INFO(" Dead straws BC layer 0");
260 ATH_MSG_INFO("deadbc0[] = { " << deadbc0[0] << ", " << deadbc0[1] << ", " << deadbc0[2] << ", " << deadbc0[3] << ", " << deadbc0[4] << ", " << deadbc0[5] << ", " << deadbc0[6] << ", " << deadbc0[7] << ", " << deadbc0[8] << ", " << deadbc0[9] << ", " << deadbc0[10] << ", " << deadbc0[11] << ", " << deadbc0[12] << ", " << deadbc0[13] << ", " << deadbc0[14] << ", " << deadbc0[15] << ", " << deadbc0[16] << ", " << deadbc0[17] << ", " << deadbc0[18] << ", " << deadbc0[19] << ", " << deadbc0[20] << ", " << deadbc0[21] << ", " << deadbc0[22] << ", " << deadbc0[23] << ", " << deadbc0[24] << ", " << deadbc0[25] << ", " << deadbc0[26] << ", " << deadbc0[27] << ", " << deadbc0[28] << ", " << deadbc0[29] << ", " << deadbc0[30] << ", " << deadbc0[31] << "}; ");
261 ATH_MSG_INFO(" Dead straws BC layer 1 ");
262 ATH_MSG_INFO("deadbc1[] = { " << deadbc1[0] << ", " << deadbc1[1] << ", " << deadbc1[2] << ", " << deadbc1[3] << ", " << deadbc1[4] << ", " << deadbc1[5] << ", " << deadbc1[6] << ", " << deadbc1[7] << ", " << deadbc1[8] << ", " << deadbc1[9] << ", " << deadbc1[10] << ", " << deadbc1[11] << ", " << deadbc1[12] << ", " << deadbc1[13] << ", " << deadbc1[14] << ", " << deadbc1[15] << ", " << deadbc1[16] << ", " << deadbc1[17] << ", " << deadbc1[18] << ", " << deadbc1[19] << ", " << deadbc1[20] << ", " << deadbc1[21] << ", " << deadbc1[22] << ", " << deadbc1[23] << ", " << deadbc1[24] << ", " << deadbc1[25] << ", " << deadbc1[26] << ", " << deadbc1[27] << ", " << deadbc1[28] << ", " << deadbc1[29] << ", " << deadbc1[30] << ", " << deadbc1[31] << "};");
263 ATH_MSG_INFO(" Dead straws BC leayer 2");
264 ATH_MSG_INFO("deadbc2[]= { " << deadbc2[0] << ", " << deadbc2[1] << ", " << deadbc2[2] << ", " << deadbc2[3] << ", " << deadbc2[4] << ", " << deadbc2[5] << ", " << deadbc2[6] << ", " << deadbc2[7] << ", " << deadbc2[8] << ", " << deadbc2[9] << ", " << deadbc2[10] << ", " << deadbc2[11] << ", " << deadbc2[12] << ", " << deadbc2[13] << ", " << deadbc2[14] << ", " << deadbc2[15] << ", " << deadbc2[16] << ", " << deadbc2[17] << ", " << deadbc2[18] << ", " << deadbc2[19] << ", " << deadbc2[20] << ", " << deadbc2[21] << ", " << deadbc2[22] << ", " << deadbc2[23] << ", " << deadbc2[24] << ", " << deadbc2[25] << ", " << deadbc2[26] << ", " << deadbc2[27] << ", " << deadbc2[28] << ", " << deadbc2[29] << ", " << deadbc2[30] << ", " << deadbc2[31] << "}; ");
265
266 ATH_MSG_INFO(" Dead straws EA");
267 ATH_MSG_INFO("deadea[] = { " << deadea[0] << ", " << deadea[1] << ", " << deadea[2] << ", " << deadea[3] << ", " << deadea[4] << ", " << deadea[5] << ", " << deadea[6] << ", " << deadea[7] << ", " << deadea[8] << ", " << deadea[9] << ", " << deadea[10] << ", " << deadea[11] << ", " << deadea[12] << ", " << deadea[13] << "}; ");
268 ATH_MSG_INFO(" Dead straws EC");
269 ATH_MSG_INFO("deadec[] = { " << deadec[0] << ", " << deadec[1] << ", " << deadec[2] << ", " << deadec[3] << ", " << deadec[4] << ", " << deadec[5] << ", " << deadec[6] << ", " << deadec[7] << ", " << deadec[8] << ", " << deadec[9] << ", " << deadec[10] << ", " << deadec[11] << ", " << deadec[12] << ", " << deadec[13] << "}; ");
270
271 ATH_MSG_INFO("Recording StrawStatus Container. Number of dead straws " << line << " straws");
272 if ((detStore()->record(strawstatus, m_par_strawstatuscontainerkey)) != StatusCode::SUCCESS)
273 {
274 ATH_MSG_ERROR("Could not record StrawStatus Container for key " << m_par_strawstatuscontainerkey);
275 return StatusCode::FAILURE;
276 }
277 else
278 {
279 ATH_MSG_INFO("Recorded StrawStatus container " << m_par_strawstatuscontainerkey << " with DetStore ");
280 }
281
282 return StatusCode::SUCCESS;
283}
284
285StatusCode TRTStrawStatusWrite::readStatHTFromTextFile(const std::string &filename)
286{
287
289
290 strawstatusHT->clear();
291
292 ATH_MSG_INFO(" ***************** TRTStrawStatusWrite ************************ ");
293 ATH_MSG_INFO(" readStatHTFromTextFile called with file name " << filename);
294
295 std::ifstream ifsHT(filename.c_str());
296 if (ifsHT)
297 {
298
299 // initialize detector layers with Good like in rel21 (PH: Good and Xenon is treated as the same)
300 int lineXe = 0;
302 strawstatusHT->setStatus(iddet, TRTCond::StrawStatus::Good);
303
304 for (int l = 0; l < 3; l++)
305 {
306
308 strawstatusHT->setStatus(idbc, TRTCond::StrawStatus::Good);
310 strawstatusHT->setStatus(idba, TRTCond::StrawStatus::Good);
311 lineXe += 2;
312 }
313 for (int l = 0; l < 14; l++)
314 {
316 strawstatusHT->setStatus(idec, TRTCond::StrawStatus::Good);
318 strawstatusHT->setStatus(idea, TRTCond::StrawStatus::Good);
319 lineXe += 2;
320 }
321
322 int bec, layer, sector, strawlayer, straw, status;
323 // txt file format : bec sector straw strawlayer layer dead/alive
324 int line = 0;
325 int lineAr = 0;
326 int lineKr = 0;
327 int lineEAr = 0;
328 int lineEKr = 0;
329
330 while (ifsHT >> bec >> sector >> strawlayer >> straw >> layer >> status)
331 {
333
334 line += 1;
335 if (straw < 0)
336 {
338 straw = 0;
339 }
340 if (strawlayer < 0)
341 {
343 strawlayer = 0;
344 }
345 if (sector < 0)
346 {
348 sector = 0;
349 }
350 if (layer < 0)
351 {
353 layer = 0;
354 }
355 if (bec < -2)
356 {
358 bec = -2;
359 }
360
361 ATH_MSG_INFO("Layer/Wheel with Argon: bec: " << bec << " layer: " << layer << " phi: " << sector << " stl: " << strawlayer << " stw: " << straw << " status (" << TRTCond::StrawStatus::Argon << " is Argon): " << status << " level (" << TRTCond::ExpandedIdentifier::LAYERWHEEL << " is LAYERWHEEL) " << level);
362 TRTCond::ExpandedIdentifier id(bec, layer, sector, strawlayer, straw, level);
363 if (status == 4)
364 { // Argon
365 strawstatusHT->setStatus(id, TRTCond::StrawStatus::Argon);
366 lineAr += 1;
367 lineXe -= 1;
368 }
369 else if (status == 5)
370 { // Krypton
371 strawstatusHT->setStatus(id, TRTCond::StrawStatus::Krypton);
372 lineKr += 1;
373 lineXe -= 1;
374 }
375 else if (status == 6)
376 { // EmulateArgon
378 lineEAr += 1;
379 }
380 else if (status == 7)
381 { // EmulateKrypton
383 lineEKr += 1;
384 lineXe -= 1;
385 }
386 else
387 {
388 ATH_MSG_FATAL(" The HT Status: " << status << " IS NOT ACCEPTED, 4 for Argon, 5 for Krypton!! "
389 << " Or 6 or 7 for emulated types!");
390 return StatusCode::FAILURE;
391 }
392 }
393 ATH_MSG_INFO("All the rest is running Xenon");
394 ATH_MSG_INFO("HT Status. Read " << line << " layers. " << " Xenon: " << lineXe << " Argon: " << lineAr << " Krypton: " << lineKr << " EmulateArgon: " << lineEAr << " EmulateKrypton: " << lineEKr);
395
396 if ((detStore()->record(strawstatusHT, m_par_strawstatusHTcontainerkey)) != StatusCode::SUCCESS)
397 {
398 ATH_MSG_ERROR("Could not record StrawStatusHT Container for key " << m_par_strawstatusHTcontainerkey);
399 return StatusCode::FAILURE;
400 }
401 else
402 {
403 ATH_MSG_INFO("Recorded StrawStatusHT container " << m_par_strawstatusHTcontainerkey << " with DetStore ");
404 }
405 }
406 else
407 {
408 ATH_MSG_WARNING(" The HT Status input file not found ");
409 }
410 return StatusCode::SUCCESS;
411}
412
413StatusCode TRTStrawStatusWrite::readStatPermFromTextFile(const std::string &filename)
414{
415
417 strawstatuspermanent->clear();
418
419 ATH_MSG_INFO(" readStatPermFromTextFile called with file name " << filename);
420
421 std::ifstream ifspermanent(filename.c_str());
422
423 if (ifspermanent)
424 {
425
426 // initialize all straws with status 'Good'
427 for (std::vector<Identifier>::const_iterator it = m_trtid->straw_layer_begin(); it != m_trtid->straw_layer_end(); ++it)
428 {
429 Identifier id = m_trtid->straw_id(*it, 0);
430 int m = m_trtid->phi_module(id);
431 int n = m_trtid->barrel_ec(id);
432 int l = m_trtid->layer_or_wheel(id);
433 int nStrawsInLayer = m_trtid->straw_max(*it);
434 int sl = m_trtid->straw_layer(id);
435 for (int i = 0; i <= nStrawsInLayer; i++)
436 {
437 id = m_trtid->straw_id(*it, i);
439 strawstatuspermanent->setStatus(expid, TRTCond::StrawStatus::Good);
440 }
441 }
442 int bec, layer, sector, strawlayer, straw, status;
443 // txt file format : bec sector straw strawlayer layer dead/alive
444 int line = 0;
445 int nmodu = 0;
446 while (ifspermanent >> bec >> sector >> straw >> strawlayer >> layer >> status)
447 {
448 if ((status == 3) || (status == 4) || (status == 5))
449 status = 1;
450 if (status != 1)
451 {
452 ATH_MSG_FATAL(" The Status Permanent: " << status << " IS NOT ACCEPTED, Use 1 for dead ");
453 return StatusCode::FAILURE;
454 }
456 line += 1;
457
458 // Expect the line to ask for either an entire modules or an individual straw to be turned off
459 if (strawlayer < 0)
460 {
461 std::cout << " Read permanent dead module from txt: " << bec << " ,sector " << sector << " ,straw " << straw << " ,strawlayer " << strawlayer << " ,layer " << layer << " ,status " << status << std::endl;
462 for (std::vector<Identifier>::const_iterator it = m_trtid->straw_layer_begin(); it != m_trtid->straw_layer_end(); ++it)
463 {
464 Identifier id = m_trtid->straw_id(*it, 0);
465 int m = m_trtid->phi_module(id);
466 int n = m_trtid->barrel_ec(id);
467 int l = m_trtid->layer_or_wheel(id);
468 if (n != bec || m != sector || l != layer)
469 continue;
470
471 int nStrawsInLayer = m_trtid->straw_max(*it);
472 int sl = m_trtid->straw_layer(id);
473 for (int i = 0; i <= nStrawsInLayer; i++)
474 {
475 id = m_trtid->straw_id(*it, i);
476 TRTCond::ExpandedIdentifier expid(bec, layer, sector, sl, i, level);
477 strawstatuspermanent->setStatus(expid, TRTCond::StrawStatus::Dead);
478 }
479 }
480 nmodu++;
481 }
482 else
483 {
484 TRTCond::ExpandedIdentifier expid(bec, layer, sector, strawlayer, straw, level);
485 strawstatuspermanent->setStatus(expid, TRTCond::StrawStatus::Dead);
486 }
487
488 ATH_MSG_DEBUG("Permanent dead ids: bec: " << bec << " layer: " << layer << " phi: " << sector << " stl: " << strawlayer << " stw: " << straw);
489 } // end reading input text file
490
491 ATH_MSG_INFO(" Record Permanent Straw Status. Dead modules : " << nmodu << " Number of lines: " << line << " of dead identifiers ");
492 if ((detStore()->record(strawstatuspermanent, m_par_strawstatuspermanentcontainerkey)) != StatusCode::SUCCESS)
493 {
494 ATH_MSG_ERROR("Could not record StrawStatusPermanent Container for key " << m_par_strawstatuspermanentcontainerkey);
495 return StatusCode::FAILURE;
496 }
497 else
498 {
499 ATH_MSG_INFO("Recorded StrawStatusPermanent container " << m_par_strawstatuspermanentcontainerkey << " with DetStore ");
500 }
501 }
502 return StatusCode::SUCCESS;
503}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_FATAL(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
std::vector< Identifier > ID
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
const ServiceHandle< StoreGateSvc > & detStore() const
void set(const ExpandedIdentifier &id, const typename DaughterContainer::value_type &t)
set a value
void clear()
clear all layercontainers
A COOL multichannel container for StrawStatus.
void setStatus(const ExpandedIdentifier &id, unsigned int status)
set t0
Gaudi::Property< std::string > m_par_strawstatuspermanentcontainerkey
virtual void set_status_permanent(StrawStatusContainer *ssc, Identifier offlineID, bool set)
Gaudi::Property< std::string > m_par_stattextfilepermanent
virtual StatusCode execute() override
virtual StatusCode readStatHTFromTextFile(const std::string &filename)
virtual StatusCode finalize() override
virtual void set_status_temp(StrawStatusContainer *ssc, Identifier offlineID, bool set)
Gaudi::Property< std::string > m_par_stattextfileHT
TRTStrawStatusWrite(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::string > m_par_strawstatuscontainerkey
Gaudi::Property< std::string > m_par_strawstatusHTcontainerkey
virtual StatusCode readStatPermFromTextFile(const std::string &filename)
TRTCond::StrawStatusMultChanContainer StrawStatusContainer
Gaudi::Property< std::string > m_par_stattextfile
virtual StatusCode readStatFromTextFile(const std::string &filename)
virtual StatusCode initialize() override
STL class.