ATLAS Offline Software
Loading...
Searching...
No Matches
TileDddbManager.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5/*
6 * Updates:
7 * - 2022 Jan, Riccardo Maria BIANCHI <riccardo.maria.bianchi@cern.ch>
8 * Added support for SQLite input, for the new DD architecture for Run4 (DetectorFactoryLite)
9 */
10
12
16
18 const std::string& version_tag,
19 const std::string& version_node,
20 bool sqliteInput)
21 : AthMessaging ("TileDddbManager")
22 , m_tag(version_tag)
23 , m_node(version_node)
24 , m_sqliteInput(sqliteInput)
25{
26 ATH_MSG_INFO( "m_tag = " << m_tag );
27
28 m_tiglob = access->getRecordsetPtr("TileGlobals",m_tag,m_node);
29 m_n_tiglob = m_tiglob->size();
30 ATH_MSG_INFO( "n_tiglob = " << m_n_tiglob );
31
32 if (m_sqliteInput || !access->getChildTag("TileModule",m_tag,m_node).empty()) {
33 m_timod = access->getRecordsetPtr("TileModule",m_tag,m_node);
34 }
35 else {
36 m_timod = access->getRecordsetPtr("TileModules",m_tag,m_node);
37 }
38 m_n_timod = m_timod->size();
39 ATH_MSG_INFO( "n_timod = " << m_n_timod );
40
41 if (m_sqliteInput || !access->getChildTag("TileCuts",m_tag,m_node).empty()) {
42 m_buildCuts = true;
43 m_cuts = access->getRecordsetPtr("TileCuts",m_tag,m_node);
44 m_n_cuts = m_cuts->size();
45 ATH_MSG_INFO( "n_cuts = " << m_n_cuts );
46 }
47
48 if (m_sqliteInput || !access->getChildTag("TileSaddleSup",m_tag,m_node).empty()) {
49 m_buildSaddle = true;
50 m_saddle = access->getRecordsetPtr("TileSaddleSup",m_tag,m_node);
51 m_n_saddle = m_saddle->size();
52 ATH_MSG_INFO( "n_saddle = " << m_n_saddle );
53 }
54
55 m_tile = access->getRecordsetPtr("TILE",m_tag,m_node);
56
57 m_tilb = access->getRecordsetPtr("TILB",m_tag,m_node);
58 m_n_tilb = m_tilb->size();
59 ATH_MSG_INFO( "n_tilb = " << m_n_tilb );
60
61 m_tigr = access->getRecordsetPtr("TIGR",m_tag,m_node);
62 m_n_tigr = m_tigr->size();
63
64 m_scnt = access->getRecordsetPtr("SCNT",m_tag,m_node);
65 m_n_scnt = m_scnt->size();
66
67 m_tifg = access->getRecordsetPtr("TIFG",m_tag,m_node);
68 m_n_tifg = m_tifg->size();
69
70 m_ticg = access->getRecordsetPtr("TICG",m_tag,m_node);
71 m_n_ticg = m_ticg->size();
72
73 m_ticl = access->getRecordsetPtr("TICL",m_tag,m_node);
74 m_n_ticl = m_ticl->size();
75
76 m_tileSwitches = access->getRecordsetPtr("TileSwitches",m_tag,m_node);
78 ATH_MSG_INFO( "n_tileSwitches = " << m_n_tileSwitches );
79}
80
81// ---------- T I L E -------------
82
84{
85 return (*m_tile)[0]->getInt("NMODUL");
86}
87
89{
90 return (*m_tile)[0]->getDouble("RMIM");
91}
92
94{
95 return (*m_tile)[0]->getDouble("RMAM");
96}
97
99{
100 return (*m_tile)[0]->getDouble("ZMAM");
101}
102
104{
105 return (*m_tile)[0]->getDouble("RMIN");
106}
107
109{
110 return (*m_tile)[0]->getDouble("RMAX");
111}
112
114{
115 return (*m_tile)[0]->getDouble("ZSHIFT");
116}
117
118unsigned int TileDddbManager::GetNumTilb() const
119{
120 return m_n_tilb;
121}
122
123// ------------ TILE GLOBALS--------------------
125{
126 return m_n_tiglob;
127}
128
130{
131 if (m_currentTileGlob) {
132 return m_currentTileGlob->getInt("PART");
133 }
134 else {
135 ATH_MSG_ERROR( "TileDddbManager::GetEnvType() - Current Envelope not set, returning -999" );
136 return -999;
137 }
138}
139
140int TileDddbManager::SetCurrentEnvByType(unsigned int envelopeT)
141{
145 m_modTypes.clear();
146
147 unsigned int ind2 = 0;
148 while (((*m_tiglob)[ind2]->getInt("PART") != static_cast<int>(envelopeT)) && (++ind2 < m_n_tiglob))
149 {
150 }
151 if (ind2 < m_n_tiglob) {
152 m_currentTileGlob = (*m_tiglob)[ind2];
153 m_EnvSize = m_currentTileGlob->getInt("NMODULES");
154 unsigned int ind3 = 0;
155 while (((*m_timod)[ind3]->getInt("PART") != static_cast<int>(envelopeT)) && (++ind3 < m_n_timod))
156 {
157 }
158 if (ind3 < m_n_timod) {
159 m_EnvBegin = ind3;
160 return 1;
161 }
162 else {
163 m_EnvSize = 0;
164 m_EnvBegin = 0;
165 ATH_MSG_ERROR( "TileDddbManager::SetCurrentEnvByType() - Couldn't return begin of modules" );
166 return 0;
167 }
168 } else {
170 ATH_MSG_ERROR( "TileDddbManager::SetCurrentEnvByType() - Couldn't return Envelope" );
171 return 0;
172 }
173}
174
175int TileDddbManager::SetCurrentEnvByIndex(unsigned int envelopeI)
176{
180 m_modTypes.clear();
181
182 if (envelopeI < m_n_tiglob) {
183 m_currentTileGlob = (*m_tiglob)[envelopeI];
184 m_EnvNum = m_currentTileGlob->getInt("PART");
185 m_EnvSize = m_currentTileGlob->getInt("NMODULES");
186 unsigned int ind1 = 0;
187// while (((*m_timod)[ind1]->getInt("PART") != static_cast<int>(m_EnvNum)) && (++ind1 < m_n_timod))
188// {
189// }
190 // FIXME: temporary fix for wrong PART in modules table
191 for ( ; ind1 < m_n_timod; ++ind1) {
192 int part = (*m_timod)[ind1]->getInt("PART");
193 if ( m_tag == "TileCal-02" ) {
194 if (part == 3) part = 5;
195 else if (part == 2) part = 3;
196 }
197 if ( part == static_cast<int>(m_EnvNum)) break;
198 }
199 if (ind1 < m_n_timod) {
200 m_EnvBegin = ind1;
201 return 1;
202 }
203 else {
204 m_EnvSize = 0;
205 m_EnvBegin = 0;
206 ATH_MSG_ERROR( "TileDddbManager::SetCurrentEnvByIndex() - Couldn't return begin of modules" );
207 return 0;
208 }
209 } else {
211 ATH_MSG_ERROR( "TileDddbManager::SetCurrentEnvByIndex() - Couldn't return Envelope" );
212 return 0;
213 }
214}
215
216
218{
219 if (m_currentTileGlob) {
220 return m_currentTileGlob->getInt("SIDE");
221 }
222 else {
223 ATH_MSG_ERROR( "TileDddbManager::GetEnvSide() - Current Section not set, returning -999" );
224 return -999;
225 }
226}
227
229{
230 if (m_currentTileGlob) {
231 return m_currentTileGlob->getInt("NMODULES");
232 //sb return 1;
233 }
234 else {
235 ATH_MSG_ERROR( "TileDddbManager::GetEnvNModules() - Current Envelope not set, returning -999" );
236 return -999;
237 }
238}
239
241{
242 if (m_currentTileGlob) {
243 return m_currentTileGlob->getDouble("RIN");
244 }
245 else {
246 ATH_MSG_ERROR( "TileDddbManager::GetEnvRin() - Current Envelope not set, returning -999" );
247 return -999;
248 }
249}
250
252{
253 if (m_currentTileGlob) {
254 return m_currentTileGlob->getDouble("ROUT");
255 }
256 else {
257 ATH_MSG_ERROR( "TileDddbManager::GetEnvRout() - Current Envelope not set, returning -999" );
258 return -999;
259 }
260}
261
263{
264 if (m_currentTileGlob) {
265 // return m_currentTileGlob->getDouble("ZLENGTH");
266 // FIXME: temporary correction for finger length
267 // all fingers for the testbeam are "small fingers"
268 double len =m_currentTileGlob->getDouble("ZLENGTH");
269 if (len > 564 + 37.7*2 && m_tag == "TileCal-02") {
270 len = 564 + 37.7*2;
271 }
272 return len;
273 }
274 else {
275 ATH_MSG_ERROR( "TileDddbManager::GetEnvZLength() - Current Envelope not set, returning -999" );
276 return -999;
277 }
278}
279
281{
282 if (m_currentTileGlob) {
283 // return m_currentTileGlob->getDouble("DPHI");
284 // FIXME: temporary fix for wrong dphi in table
285 double dphi = m_currentTileGlob->getDouble("DPHI");
286 if ( dphi != 0 && m_tag == "TileCal-02") {
287 dphi -= 360.0/64.0/2.;
288 }
289 return dphi;
290 }
291 else {
292 ATH_MSG_ERROR( "TileDddbManager::GetEnvDPhi() - Current Envelope not set, returning -999" );
293 return -999;
294 }
295}
296
298{
299 if (m_currentTileGlob) {
300 // return m_currentTileGlob->getDouble("DZ");
301 // FIXME: temporary correction for finger length
302 // all fingers for the testbeam are "small fingers"
303 double dz = m_currentTileGlob->getDouble("DZ");
304 if ( dz > 20 && m_tag == "TileCal-02") {
305 dz += 43.05 - 37.7;
306 }
307 return dz;
308 }
309 else {
310 ATH_MSG_ERROR( "TileDddbManager::GetEnvDZ() - Current Envelope not set, returning -999" );
311 return -999;
312 }
313}
314
316{
317 if (m_currentTileGlob) {
318 return m_currentTileGlob->getDouble("DX");
319 }
320 else {
321 ATH_MSG_ERROR( "TileDddbManager::GetEnvDX() - Current Envelope not set, returning -999" );
322 return -999;
323 }
324}
325
327{
328 if (m_currentTileGlob) {
329 return m_currentTileGlob->getDouble("DY");
330 }
331 else {
332 ATH_MSG_ERROR( "TileDddbManager::GetEnvDY() - Current Envelope not set, returning -999" );
333 return -999;
334 }
335}
336
338{
339 if (m_currentTileGlob) {
340 return m_currentTileGlob->getDouble("DPSI");
341 }
342 else {
343 ATH_MSG_ERROR( "TileDddbManager::GetEnvDPsi() - Current Envelope not set, returning -999" );
344 return -999;
345 }
346}
347
349{
350 if (m_currentTileGlob) {
351 return m_currentTileGlob->getDouble("DTHETA");
352 }
353 else {
354 ATH_MSG_ERROR( "TileDddbManager::GetEnvDTheta() - Current Envelope not set, returning -999" );
355 return -999;
356 }
357}
358
360{
361 if (m_currentTileGlob) {
362 return m_currentTileGlob->getDouble("ZSHIFT");
363 }
364 else {
365 ATH_MSG_ERROR( "TileDddbManager::GetEnvZShift() - Current Envelope not set, returning -999" );
366 return -999;
367 }
368}
369
370
371// ------------ TILE MODULES -------------------
373{
376 m_modTypes.clear();
377
378 if (m_currentTileGlob) {
379 // Modules enumerated from zero, so SetCurrentModuleByIndex(0) gives the first module in the Envelope
380 if (Id >= m_EnvSize) {
381 ATH_MSG_ERROR( "TileDddbManager::SetCurrentModuleByIndex() - Module number " << Id << " is out of range" );
382 return 0;
383 }
384 else {
385 m_currentTileMod = (*m_timod)[Id + m_EnvBegin];
386 FillModTypes();
387 return 1;
388 }
389 }
390 else {
391 ATH_MSG_ERROR( "TileDddbManager::SetCurrentModuleByIndex() - Current Envelope not set, returning -999" );
392 return -999;
393 }
394}
395
397{
400 m_modTypes.clear();
401
402 if (m_currentTileGlob) {
403 // Input here number from column "MODNUM"
404 unsigned int ind4 = m_EnvBegin;
405 unsigned int EnvEnd = m_EnvBegin + m_EnvSize;
406 while (((*m_timod)[ind4]->getInt("MODNUM") != static_cast<int>(Number))&&(++ind4 < EnvEnd))
407 {
408 }
409 if (ind4 < EnvEnd) {
410 m_currentTileMod = (*m_timod)[ind4];
411 FillModTypes();
412 return 1;
413 }
414 else{
416 ATH_MSG_ERROR( "TileDddbManager::SetCurrentModuleByNumber() - Couldn't return Module" );
417 return 0;
418 }
419 }
420 else {
421 ATH_MSG_ERROR( "TileDddbManager::SetCurrentModuleByNumber() - Current Envelope not set, returning -999" );
422 return -999;
423 }
424}
425
427{
428 if (m_currentTileMod) {
429 return m_currentTileMod->getInt("MODNUM");
430 }
431 else {
432 ATH_MSG_ERROR( "TileDddbManager::GetModNumber() - Current Module not set, returning -999" );
433 return -999;
434 }
435}
436
438{
439 if (m_currentTileMod) {
440 return m_currentTileMod->getInt("TYP");
441 }
442 else {
443 ATH_MSG_ERROR( "TileDddbManager::GetModType() - Current Module not set, returning -999" );
444 return -999;
445 }
446}
447
449{
450 if (m_currentTileMod) {
451 return m_currentTileMod->getDouble("DX");
452 }
453 else {
454 ATH_MSG_ERROR( "TileDddbManager::GetModDX() - Current Module not set, returning -999" );
455 return -999;
456 }
457}
458
460{
461 if (m_currentTileMod) {
462 return m_currentTileMod->getDouble("DY");
463 }
464 else {
465 ATH_MSG_ERROR( "TileDddbManager::GetModDY() - Current Module not set, returning -999" );
466 return -999;
467 }
468}
469
471{
472 if (m_currentTileMod) {
473 return m_currentTileMod->getDouble("DZ");
474 }
475 else {
476 ATH_MSG_ERROR( "TileDddbManager::GetModDZ() - Current Module not set, returning -999" );
477 return -999;
478 }
479}
480
482{
483 if (m_currentTileMod) {
484 return m_currentTileMod->getDouble("DPHI");
485 }
486 else {
487 ATH_MSG_ERROR( "TileDddbManager::GetModDPhi() - Current Module not set, returning -999" );
488 return -999;
489 }
490}
491
493{
494 if (m_currentTileMod) {
495 return m_currentTileMod->getDouble("DPSI");
496 }
497 else {
498 ATH_MSG_ERROR( "TileDddbManager::GetModDPsi() - Current Module not set, returning -999" );
499 return -999;
500 }
501}
502
504{
505 if (m_currentTileMod) {
506 return m_currentTileMod->getDouble("DTHETA");
507 }
508 else {
509 ATH_MSG_ERROR( "TileDddbManager::GetModDTheta() - Current Module not set, returning -999" );
510 return -999;
511 }
512}
513
514
515// ------------ TILE MODULE TYPES -------------------
517{
518 if (Id < m_modTypes.size()) {
519 return SetCurrentSection(m_modTypes[Id]);
520 } else {
521 ATH_MSG_ERROR( "TileDddbManager::SetCurrentTypeByIndex() - Type index (" << Id << ") is out of range (" << m_modTypes.size() << ")" );
523 return 0;
524 }
525}
526
528{
529 return SetCurrentSection(Number);
530}
531
532unsigned int TileDddbManager::GetModType(unsigned int Id) const
533{
534 if (Id < m_modTypes.size()) {
535 return m_modTypes[Id];
536 } else {
537 return 999;
538 }
539}
540
542{
543 return m_modTypes.size();
544}
545
547{
548 m_modTypes.clear();
549
550 int fullType = GetModType();
551
552 while (fullType > 0) {
553 unsigned int subType = fullType%100;
554 m_modTypes.push_back(subType);
555 fullType /= 100;
556 }
558}
559
560
561// ------------ S E C T I O N ------------------
562
563
565{
566 if (IdSection < m_n_tilb) {
567 m_currentSection = (*m_tilb)[IdSection];
568 return 1;
569 }
570 else {
571 ATH_MSG_ERROR( "TileDddbManager::SetCurrentSectionByIndex() - Section index (" << IdSection << ") is out of range (" << m_n_tilb << ")" );
573 return 0;
574 }
575}
576
581
583{
584 unsigned int ind = 0;
585
586 while (((*m_tilb)[ind]->getInt("SECTION") != static_cast<int>(section)) && (++ind < m_n_tilb))
587 {
588 }
589
590 if (ind >= m_n_tilb) {
591 if (print) ATH_MSG_ERROR( "TileDddbManager::SetCurrentSection() - Unable to find the section" );
593 return 0;
594 }
595 else {
596 m_currentSection = (*m_tilb)[ind];
597 return 1;
598 }
599}
600
602{
603 if (m_currentSection) {
604 return m_currentSection->getInt("SECTION");
605 }
606 else {
607 ATH_MSG_ERROR( "TileDddbManager::TILBsection() - Current Section not set, returning -999" );
608 return -999;
609 }
610}
611
613{
614 if (m_currentSection) {
615 return m_currentSection->getInt("NPERIOD");
616 }
617 else {
618 ATH_MSG_ERROR( "TileDddbManager::TILBnperiod() - Current Section not set, returning -999" );
619 return -999;
620 }
621}
622
624{
625 if (m_currentSection) {
626 return m_currentSection->getInt("NMODUL");
627 }
628 else {
629 ATH_MSG_ERROR( "TileDddbManager::TILBnmodul() - Current Section not set, returning -999" );
630 return -999;
631 }
632}
633
635{
636 if (m_currentSection) {
637 return m_currentSection->getDouble("RMIN");
638 }
639 else {
640 ATH_MSG_ERROR( "TileDddbManager::TILBrmin() - Current Section not set, returning -999.9" );
641 return -999.9;
642 }
643}
644
646{
647 if (m_currentSection) {
648 return m_currentSection->getDouble("RMAX");
649 }
650 else {
651 ATH_MSG_ERROR( "TileDddbManager::TILBrmax() - Current Section not set, returning -999.9" );
652 return -999.9;
653 }
654}
655
657{
658 if (m_currentSection) {
659 return m_currentSection->getDouble("RMINIMAL");
660 }
661 else {
662 ATH_MSG_ERROR( "TileDddbManager::TILBrminimal() - Current Section not set, returning -999.9" );
663 return -999.9;
664 }
665}
666
668{
669 if (m_currentSection) {
670 return m_currentSection->getDouble("RMAXIMAL");
671 }
672 else {
673 ATH_MSG_ERROR( "TileDddbManager::TILBrmaximal() - Current Section not set, returning -999.9" );
674 return -999.9;
675 }
676}
677
679{
680 if (m_currentSection) {
681 return m_currentSection->getDouble("DZPERIO");
682 }
683 else {
684 ATH_MSG_ERROR( "TileDddbManager::TILBdzperio() - Current Section not set, returning -999.9" );
685 return -999.9;
686 }
687}
688
690{
691 if (m_currentSection) {
692 return m_currentSection->getDouble("DRFRONT");
693 }
694 else {
695 ATH_MSG_ERROR( "TileDddbManager::TILBdrfront() - Current Section not set, returning -999.9" );
696 return -999.9;
697 }
698}
699
701{
702 if (m_currentSection) {
703 return m_currentSection->getDouble("DZEND");
704 }
705 else {
706 ATH_MSG_ERROR( "TileDddbManager::TILBdzend() - Current Section not set, returning -999.9" );
707 return -999.9;
708 }
709}
710
712{
713 if (m_currentSection) {
714 return m_currentSection->getDouble("FLANGEX");
715 }
716 else {
717 ATH_MSG_ERROR( "TileDddbManager::TILBflangex() - Current Section not set, returning -999.9" );
718 return -999.9;
719 }
720}
721
723{
724 if (m_currentSection) {
725 return m_currentSection->getDouble("FLANGEY");
726 }
727 else {
728 ATH_MSG_ERROR( "TileDddbManager::TILBflangey() - Current Section not set, returning -999.9" );
729 return -999.9;
730 }
731}
732
734{
735 if (m_currentSection) {
736 return m_currentSection->getDouble("ZOFFSET");
737 }
738 else {
739 ATH_MSG_ERROR( "TileDddbManager::TILBzoffset() - Current Section not set, returning -999.9" );
740 return -999.9;
741 }
742}
743
745{
746 if (m_currentSection) {
747 return m_currentSection->getDouble("PHIGAP");
748 }
749 else {
750 ATH_MSG_ERROR( "TileDddbManager::TILBphigap() - Current Section not set, returning -999.9" );
751 return -999.9;
752 }
753}
754
756{
757 if (m_currentSection) {
758 return m_currentSection->getInt("ISCI_ST");
759 }
760 else {
761 ATH_MSG_ERROR( "TileDddbManager::TILBisci_st() - Current Section not set, returning -999.9" );
762 return -999.9;
763 }
764}
765
767{
768 if (m_currentSection) {
769 return m_currentSection->getDouble("DZMODUL");
770 }
771 else {
772 ATH_MSG_ERROR( "TileDddbManager::TILBdzmodul() - Current Section not set, returning -999.9" );
773 return -999.9;
774 }
775}
776
778{
779 if (m_currentSection) {
780 return m_currentSection->getDouble("DZMAST");
781 }
782 else {
783 ATH_MSG_ERROR( "TileDddbManager::TILBdzmast() - Current Section not set, returning -999.9" );
784 return -999.9;
785 }
786}
787
789{
790 if (m_currentSection) {
791 return m_currentSection->getDouble("DZSPAC");
792 }
793 else {
794 ATH_MSG_ERROR( "TileDddbManager::TILBdzspac() - Current Section not set, returning -999.9" );
795 return -999.9;
796 }
797}
798
800{
801 if (m_currentSection) {
802 return m_currentSection->getDouble("DZEND1");
803 }
804 else {
805 ATH_MSG_ERROR( "TileDddbManager::TILBdzend1() - Current Section not set, returning -999.9" );
806 return -999.9;
807 }
808}
809
811{
812 if (m_currentSection) {
813 return m_currentSection->getDouble("DZEND2");
814 }
815 else {
816 ATH_MSG_ERROR( "TileDddbManager::TILBdzend2() - Current Section not set, returning -999.9" );
817 return -999.9;
818 }
819}
820
822{
823 if (m_currentSection) {
824 return m_currentSection->getInt("NGIRDER");
825 }
826 else {
827 ATH_MSG_ERROR( "TileDddbManager::TILBngirder() - Current Section not set, returning -999" );
828 return -999;
829 }
830}
831
833{
834 if (m_currentSection) {
835 return m_currentSection->getInt("NSCIN");
836 }
837 else {
838 ATH_MSG_ERROR( "TileDddbManager::TILBnscin() - Current Section not set, returning -999" );
839 return -999;
840 }
841}
842
844{
845 if (m_currentSection) {
846 return m_currentSection->getInt("FINGPATTERN");
847 }
848 else {
849 ATH_MSG_ERROR( "TileDddbManager::TILBfingpattern() - Current Section not set, returning -999" );
850 return -999;
851 }
852}
853
855{
856 if (m_currentSection) {
857 return m_currentSection->getInt("NPERCUTPOS");
858 }
859 else {
860 ATH_MSG_ERROR( "TileDddbManager::TILBnpercutpos() - Current Section not set, returning -999" );
861 return -999;
862 }
863}
864
866{
867 if (m_currentSection) {
868 return m_currentSection->getInt("NPERCUTNEG");
869 }
870 else {
871 ATH_MSG_ERROR( "TileDddbManager::TILBnpercutneg() - Current Section not set, returning -999" );
872 return -999;
873 }
874}
875
876
878{
879 if (m_currentSection) {
880 if (m_currentSection->isFieldNull("CURSCINT"))
881 return 0;
882 else
883 return m_currentSection->getInt("CURSCINT");
884 }
885 else {
886 ATH_MSG_ERROR( "TileDddbManager::TILBcurscint() - Current Section not set, returning -999" );
887 return -999;
888 }
889}
890
892{
893 if (m_currentSection) {
894 return m_currentSection->getDouble("DZGIR");
895 }
896 else {
897 ATH_MSG_ERROR( "TileDddbManager::TILBdzgir() - Current Section not set, returning -999" );
898 return -999;
899 }
900}
901
902// -------------------- S C I N T I L L A T O R ---------------------
904{
905 unsigned int ind = 0;
906
907 while (((*m_scnt)[ind]->getInt("ITEM") != item) && (++ind < m_n_scnt))
908 {
909 }
910
911 if (ind >= m_n_scnt)
912 {
913 ATH_MSG_ERROR( "TileDddbManager::SetCurrentScin() - Unable to find the scintillator, item = " << item );
914 return 0;
915 }
916 else
917 {
918 m_currentScin = (*m_scnt)[ind];
919 return 1;
920 }
921}
922
924{
925 if (m_currentScin)
926 return m_currentScin->getInt("ITEM");
927 else
928 {
929 ATH_MSG_ERROR( "TileDddbManager::SCNTitem() - Current Scintillator not set, returning -999" );
930 return -999;
931 }
932}
933
935{
936 if (m_currentScin)
937 return m_currentScin->getDouble("DR");
938 else
939 {
940 ATH_MSG_ERROR( "TileDddbManager::SCNTdr() - Current Scintillator not set, returning -999.9" );
941 return -999.9;
942 }
943}
944
946{
947 if (m_currentScin)
948 return m_currentScin->getDouble("RC");
949 else
950 {
951 ATH_MSG_ERROR( "TileDddbManager::SCNTrc() - Current Scintillator not set, returning -999.9" );
952 return -999.9;
953 }
954}
955
957{
958 if (m_currentScin)
959 return m_currentScin->getDouble("ZP");
960 else
961 {
962 ATH_MSG_ERROR( "TileDddbManager::SCNTzp() - Current Scintillator not set, returning -999.9" );
963 return -999.9;
964 }
965}
966
968{
969 if (m_currentScin)
970 return m_currentScin->getDouble("DRW");
971 else
972 {
973 ATH_MSG_ERROR( "TileDddbManager::SCNTdrw() - Current Scintillator not set, returning -999.9" );
974 return -999.9;
975 }
976}
977
979{
980 if (m_currentScin)
981 return m_currentScin->getDouble("DT");
982 else
983 {
984 ATH_MSG_ERROR( "TileDddbManager::SCNTdt() - Current Scintillator not set, returning -999.9" );
985 return -999.9;
986 }
987}
988
990{
991 if (m_currentScin)
992 return m_currentScin->getDouble("DTW");
993 else
994 {
995 ATH_MSG_ERROR( "TileDddbManager::SCNTdtw() - Current Scintillator not set, returning -999.9" );
996 return -999.9;
997 }
998}
999
1001{
1002 if (m_currentScin)
1003 return m_currentScin->getDouble("DPHI");
1004 else
1005 {
1006 ATH_MSG_ERROR( "TileDddbManager::SCNTdphi() - Current Scintillator not set, returning -999.9" );
1007 return -999.9;
1008 }
1009}
1010
1011
1012// -------------------- Extended Barrel C U T S ---------------------
1013
1014int TileDddbManager::SetCurrentCuts(const std::string& input)
1015{
1016 if (m_buildCuts)
1017 {std::string name(input);
1018 unsigned int ind = 0;
1019
1020 while (((*m_cuts)[ind]->getString("VOLUME") != name) && (++ind < m_n_cuts))
1021 {
1022 }
1023
1024 if (ind >= m_n_cuts)
1025 { ATH_MSG_ERROR( "TileDddbManager::SetCurrentCuts() - Unable to find the m_currentCuts volume name = " << name );
1026 return 0;
1027 }
1028 else
1029 { m_currentCuts = (*m_cuts)[ind];
1030 return 1;
1031 }
1032 }
1033 ATH_MSG_WARNING( "TileDddbManager::SetCurrentCuts() - SetCuts Ext.Barrel Cuts unavailable in touched DB" );
1034 return 1;
1035}
1036
1038{
1039 ATH_MSG_DEBUG( "TileDddbManager::BoolCuts() - return "
1040 << std::boolalpha << m_buildCuts );
1041 return m_buildCuts;
1042}
1043
1044std::string TileDddbManager::CutsName() const
1045{std::string output ="-999.9";
1046 if (m_currentCuts)
1047 return m_currentCuts->getString("VOLUME");
1048 else
1049 { ATH_MSG_ERROR( "TileDddbManager::CutsName() - Current VOLUME dimension not set, returning -999.9" );
1050 return output;
1051 }
1052}
1053
1055{
1056 if (m_currentCuts)
1057 return (double)m_currentCuts->getFloat("DX1");
1058 else
1059 { ATH_MSG_ERROR( "TileDddbManager::CutsDX1() - Current dX1 dimension not set, returning -999.9" );
1060 return -999.9;
1061 }
1062}
1063
1065{
1066 if (m_currentCuts)
1067 return (double)m_currentCuts->getFloat("DX2");
1068 else
1069 { ATH_MSG_ERROR( "TileDddbManager::CutsDX2() - Current dX2 dimension not set, returning -999.9" );
1070 return -999.9;
1071 }
1072}
1073
1075{
1076 if (m_currentCuts)
1077 return (double)m_currentCuts->getFloat("DY1");
1078 else
1079 { ATH_MSG_ERROR( "TileDddbManager::CutsDY1() - Current dY1 dimension not set, returning -999.9" );
1080 return -999.9;
1081 }
1082}
1083
1085{
1086 if (m_currentCuts)
1087 return (double)m_currentCuts->getFloat("DY2");
1088 else
1089 { ATH_MSG_ERROR( "TileDddbManager::CutsDY2() - Current dY2 dimension not set, returning -999.9" );
1090 return -999.9;
1091 }
1092}
1093
1095{
1096 if (m_currentCuts)
1097 return (double)m_currentCuts->getFloat("DZ1");
1098 else
1099 { ATH_MSG_ERROR( "TileDddbManager::CutsDZ1() - Current dZ1 dimension not set, returning -999.9" );
1100 return -999.9;
1101 }
1102}
1103
1105{
1106 if (m_currentCuts)
1107 return (double)m_currentCuts->getFloat("XPOS");
1108 else
1109 { ATH_MSG_ERROR( "TileDddbManager::CutsXpos() - Current Xpos dimension not set, returning -999.9" );
1110 return -999.9;
1111 }
1112}
1113
1115{
1116 if (m_currentCuts)
1117 return (double)m_currentCuts->getFloat("YPOS");
1118 else
1119 { ATH_MSG_ERROR( "TileDddbManager::CutsYpos() - Current Ypos dimension not set, returning -999.9" );
1120 return -999.9;
1121 }
1122}
1123
1124// -------------------- SADDLE SUPPORT ---------------------
1125
1127{
1128 if (m_buildSaddle)
1129 { if (index >= m_n_saddle)
1130 { return 0;
1131 }
1132 else
1133 { m_currentSaddle = (*m_saddle)[index];
1134 return 1;
1135 }
1136 }
1137 ATH_MSG_WARNING( "TileDddbManager::SetCurrentSaddle() - Saddle unavailable in touched DB");
1138 return 1;
1139}
1140
1142{ if (m_buildSaddle)
1143 { return m_buildSaddle;
1144 } else
1145 { ATH_MSG_DEBUG( "TileDddbManager::BoolSaddle() - return false" );
1146 return false;
1147 }
1148}
1149
1151{
1152 if (m_currentSaddle)
1153 return (double)m_currentSaddle->getFloat("DZSADDLESUPPORT");
1154 else
1155 { ATH_MSG_ERROR( "TileDddbManager::DzSaddleSupport() - dimension not set, returning -999.9" );
1156 return -999.9;
1157 }
1158}
1159
1161{
1162 if (m_currentSaddle)
1163 return (double)m_currentSaddle->getFloat("RADIUSSADDLE");
1164 else
1165 { ATH_MSG_ERROR( "TileDddbManager::RadiusSaddle() - dimension not set, returning -999.9" );
1166 return -999.9;
1167 }
1168}
1169
1170// -------------------- G I R D E R ---------------------
1172{
1173 unsigned int ind = 0;
1174
1175 while (((*m_tigr)[ind]->getInt("ITEM") != item) && (++ind < m_n_tigr))
1176 {
1177 }
1178
1179 if (ind >= m_n_tigr)
1180 {
1181 ATH_MSG_DEBUG( "TileDddbManager::SetCurrentGird() - Unable to find the girder element, item= " << item );
1182 return 0;
1183 }
1184 else
1185 {
1186 m_currentGird = (*m_tigr)[ind];
1187 return 1;
1188 }
1189}
1190
1192{
1193 if (m_currentGird)
1194 return m_currentGird->getInt("ITEM");
1195 else
1196 {
1197 ATH_MSG_ERROR( "TileDddbManager::TIGRitem() - Current Girder element not set, returning -999" );
1198 return -999;
1199 }
1200}
1201
1203{
1204 if (m_currentGird)
1205 return m_currentGird->getInt("MATERIAL");
1206 else
1207 {
1208 ATH_MSG_ERROR( "TileDddbManager::TIGRmaterial() - Current Girder element not set, returning -999" );
1209 return -999;
1210 }
1211}
1212
1214{
1215 if (m_currentGird)
1216 return m_currentGird->getDouble("RC");
1217 else
1218 {
1219 ATH_MSG_ERROR( "TileDddbManager::TIGRrc() - Current Girder element not set, returning -999.9" );
1220 return -999.9;
1221 }
1222}
1223
1225{
1226 if (m_currentGird)
1227 return m_currentGird->getDouble("DR");
1228 else
1229 {
1230 ATH_MSG_ERROR( "TileDddbManager::TIGRdr() - Current Girder element not set, returning -999.9" );
1231 return -999.9;
1232 }
1233}
1234
1236{
1237 if (m_currentGird)
1238 return m_currentGird->getDouble("DW");
1239 else
1240 {
1241 ATH_MSG_ERROR( "TileDddbManager::TIGRdw() - Current Girder element not set, returning -999.9" );
1242 return -999.9;
1243 }
1244}
1245
1247{
1248 if (m_currentGird)
1249 return m_currentGird->getDouble("OFF");
1250 else
1251 {
1252 ATH_MSG_ERROR( "TileDddbManager::TIGRoff() - Current Girder element not set, returning -999.9" );
1253 return -999.9;
1254 }
1255}
1256
1257// -------------------- T I F G ---------------------
1259{
1260 unsigned int ind = 0;
1261
1262 while (((*m_tifg)[ind]->getInt("SECTION") != section) && (++ind < m_n_tifg))
1263 {
1264 }
1265
1266 if (ind >= m_n_tifg)
1267 {
1268 ATH_MSG_DEBUG( "TileDddbManager::SetCurrentTifg() - Unable to find the finger, section = " << section );
1269 return 0;
1270 }
1271 else
1272 {
1273 m_currentTifg = (*m_tifg)[ind];
1274 return 1;
1275 }
1276}
1277
1279{
1280 if (m_currentTifg)
1281 return m_currentTifg->getInt("SECTION");
1282 else
1283 {
1284 ATH_MSG_ERROR( "TileDddbManager::TIFGsection() - Current TIFG not set, returning -999" );
1285 return -999;
1286 }
1287}
1288
1290{
1291 if (m_currentTifg)
1292 return m_currentTifg->getInt("NELEM");
1293 else
1294 {
1295 ATH_MSG_ERROR( "TileDddbManager::TIFGnelem() - Current TIFG not set, returning -999" );
1296 return -999;
1297 }
1298}
1299
1301{
1302 if (m_currentTifg)
1303 return m_currentTifg->getDouble("DZ");
1304 else
1305 {
1306 ATH_MSG_ERROR( "TileDddbManager::TIFGdz() - Current TIFG not set, returning -999.9" );
1307 return -999.9;
1308 }
1309}
1310
1311// -------------------- T I C G ---------------------
1313{
1314 unsigned int ind = 0;
1315
1316 while (((*m_ticg)[ind]->getInt("ITEM") != item) && (++ind < m_n_ticg))
1317 {
1318 }
1319
1320 if (ind >= m_n_ticg)
1321 {
1322 ATH_MSG_DEBUG( "TileDddbManager::SetCurrentTicg() - Unable to find the finger element, item = " << item );
1323 return 0;
1324 }
1325 else
1326 {
1327 m_currentTicg = (*m_ticg)[ind];
1328 return 1;
1329 }
1330}
1331
1333{
1334 if (m_currentTicg)
1335 return m_currentTicg->getInt("ITEM");
1336 else
1337 {
1338 ATH_MSG_ERROR( "TileDddbManager::TICGitem() - Current TICG not set, returning -999" );
1339 return -999;
1340 }
1341}
1342
1344{
1345 if (m_currentTicg)
1346 return m_currentTicg->getInt("MATERIAL");
1347 else
1348 {
1349 ATH_MSG_ERROR( "TileDddbManager::TICGmaterial() - Current TICG not set, returning -999" );
1350 return -999;
1351 }
1352}
1353
1355{
1356 if (m_currentTicg)
1357 return m_currentTicg->getInt("SHAPE");
1358 else
1359 {
1360 ATH_MSG_ERROR( "TileDddbManager::TICGshape() - Current TICG not set, returning -999" );
1361 return -999;
1362 }
1363}
1364
1366{
1367 if (m_currentTicg)
1368 return m_currentTicg->getDouble("RC");
1369 else
1370 {
1371 ATH_MSG_ERROR( "TileDddbManager::TICGrc() - Current TICG not set, returning -999.9" );
1372 return -999.9;
1373 }
1374}
1375
1377{
1378 if (m_currentTicg)
1379 return m_currentTicg->getDouble("DR");
1380 else
1381 {
1382 ATH_MSG_ERROR( "TileDddbManager::TICGdr() - Current TICG not set, returning -999.9" );
1383 return -999.9;
1384 }
1385}
1386
1388{
1389 if (m_currentTicg)
1390 return m_currentTicg->getDouble("DX1");
1391 else
1392 {
1393 ATH_MSG_ERROR( "TileDddbManager::TICGdx1() - Current TICG not set, returning -999.9" );
1394 return -999.9;
1395 }
1396}
1397
1399{
1400 if (m_currentTicg)
1401 return m_currentTicg->getDouble("DX2");
1402 else
1403 {
1404 ATH_MSG_ERROR( "TileDddbManager::TICGdx2() - Current TICG not set, returning -999.9" );
1405 return -999.9;
1406 }
1407}
1408
1410{
1411 if (m_currentTicg)
1412 return m_currentTicg->getDouble("OFF");
1413 else
1414 {
1415 ATH_MSG_ERROR( "TileDddbManager::TICGoff() - Current TICG not set, returning -999.9" );
1416 return -999.9;
1417 }
1418}
1419
1421{
1422 if (m_currentTicg)
1423 return m_currentTicg->getDouble("DZ");
1424 else
1425 {
1426 ATH_MSG_ERROR( "TileDddbManager::TICGdz() - Current TICG not set, returning -999.9" );
1427 return -999.9;
1428 }
1429}
1430
1432{
1433 if (m_currentTicg)
1434 return m_currentTicg->getDouble("ZC");
1435 else
1436 {
1437 ATH_MSG_ERROR( "TileDddbManager::TICGzc() - Current TICG not set, returning -999.9" );
1438 return -999.9;
1439 }
1440}
1441
1443{
1444 return m_n_ticl;
1445}
1446
1447// -------------------- T I C L ---------------------
1448int TileDddbManager::SetCurrentTicl(int detector, double sample, double tower)
1449{
1450 unsigned int detector_ind = 0;
1451
1452 // Looking for the first cell of given detector
1453 while (((*m_ticl)[detector_ind]->getInt("DETECTOR") != detector) && (++detector_ind < m_n_ticl))
1454 {
1455 }
1456
1457 if (detector_ind >= m_n_ticl)
1458 {
1459 ATH_MSG_DEBUG( "TileDddbManager::SetCurrentTicl() - Unable to find any cell for the detector = " << detector );
1460 return 0;
1461 }
1462 else
1463 {
1464 // Looking for the first cell in given sample of given detector
1465 unsigned int sample_ind = detector_ind;
1466
1467 while (((*m_ticl)[sample_ind]->getInt("SAMPLE") != sample) && (++sample_ind < m_n_ticl))
1468 {
1469 }
1470
1471 if (sample_ind >= m_n_ticl)
1472 {
1473 ATH_MSG_DEBUG( "TileDddbManager::SetCurrentTicl() - Unable to find any cell for sample = "
1474 << sample << " in the detector = " << detector );
1475 return 0;
1476 }
1477 else
1478 {
1479 // Looking for the cell with give tower inside found sample
1480 unsigned int ind = sample_ind;
1481
1482 while (((*m_ticl)[ind]->getInt("TOWER") != tower) && (++ind < m_n_ticl))
1483 {
1484 }
1485
1486 if (ind >= m_n_ticl)
1487 {
1488 ATH_MSG_DEBUG( "TileDddbManager::SetCurrentTicl() - Unable to find any cell for tower = "
1489 << tower << " in the detector = " << detector << " and sample = " << sample );
1490 return 0;
1491 }
1492 else
1493 {
1494 m_currentTicl = (*m_ticl)[ind];
1495 m_currentTiclInd = ind;
1496 return 1;
1497 }
1498 }
1499 }
1500}
1501
1503{
1504 if (index >= m_n_ticl)
1505 {
1506 ATH_MSG_DEBUG( "TileDddbManager::SetCurrentTicl() - The requested index = " << index << " out of range." );
1507 return 0;
1508 }
1509 else
1510 {
1511 m_currentTicl = (*m_ticl)[index];
1513 return 1;
1514 }
1515}
1516
1518{
1519 unsigned int ind = 0;
1520
1521 // Looking for the first cell of given detector
1522 while (((*m_ticl)[ind]->getInt("DETECTOR") != detector) && (++ind < m_n_ticl))
1523 {
1524 }
1525
1526 if (ind >= m_n_ticl)
1527 return 0; // FAILURE
1528
1529 m_currentTicl = (*m_ticl)[ind];
1530 m_currentTiclInd = ind;
1531 return 1; // SUCCESS
1532
1533}
1534
1535int TileDddbManager::SetFirstTiclInDetSamp(int detector, double sample)
1536{
1537 unsigned int detector_ind = 0;
1538
1539 // Looking for the first cell of given detector
1540 while (((*m_ticl)[detector_ind]->getInt("DETECTOR") != detector) && (++detector_ind < m_n_ticl))
1541 {
1542 }
1543
1544 if (detector_ind >= m_n_ticl)
1545 return 0; // FAILURE
1546 else
1547 {
1548 // Looking for the first cell in given sample of given detector
1549 unsigned int sample_ind = detector_ind;
1550
1551 while (((*m_ticl)[sample_ind]->getInt("SAMPLE") != sample) && (++sample_ind < m_n_ticl))
1552 {
1553 }
1554
1555 if (sample_ind >= m_n_ticl)
1556 return 0; // FAILURE
1557
1558 m_currentTicl = (*m_ticl)[sample_ind];
1560 return 1; // SUCCESS
1561 }
1562}
1563
1565{
1566 if (m_currentTiclInd<0) return 0; // FAILURE
1567
1568 int currentDetector = (*m_ticl)[m_currentTiclInd]->getInt("DETECTOR");
1569
1570 if ((++m_currentTiclInd == static_cast<int>(m_n_ticl))||((*m_ticl)[m_currentTiclInd]->getInt("DETECTOR") != currentDetector))
1571 {
1573 return 0; // FAILURE
1574 }
1575
1576 m_currentTicl = (*m_ticl)[m_currentTiclInd];
1577 return 1;
1578}
1579
1581{
1582 if (m_currentTiclInd<0) return 0; // FAILURE
1583
1584 int currentDetector = (*m_ticl)[m_currentTiclInd]->getInt("DETECTOR");
1585 float currentSample = (*m_ticl)[m_currentTiclInd]->getInt("SAMPLE");
1586
1587 if ((++m_currentTiclInd == static_cast<int>(m_n_ticl))||
1588 ((*m_ticl)[m_currentTiclInd]->getInt("DETECTOR") != currentDetector)||
1589 ((*m_ticl)[m_currentTiclInd]->getInt("SAMPLE") != currentSample))
1590 {
1592 return 0; // FAILURE
1593 }
1594
1595 m_currentTicl = (*m_ticl)[m_currentTiclInd];
1596 return 1;
1597}
1598
1600{
1601 if (m_currentTicl)
1602 return m_currentTicl->getInt("DETECTOR");
1603 else
1604 {
1605 ATH_MSG_ERROR( "TileDddbManager::TICLdetector() - Current TICL not set, returning -999" );
1606 return -999;
1607 }
1608}
1609
1611{
1612 if (m_currentTicl)
1613 return m_currentTicl->getInt("NCELL");
1614 else
1615 {
1616 ATH_MSG_ERROR( "TileDddbManager::TICLncell() - Current TICL not set, returning -999.9" );
1617 return -999.9;
1618 }
1619}
1620
1622{
1623 if (m_currentTicl)
1624 return m_currentTicl->getInt("TOWER");
1625 else
1626 {
1627 ATH_MSG_ERROR( "TileDddbManager::TICLtower() - Current TICL not set, returning -999.9" );
1628 return -999.9;
1629 }
1630}
1631
1633{
1634 if (m_currentTicl)
1635 return m_currentTicl->getInt("SAMPLE");
1636 else
1637 {
1638 ATH_MSG_ERROR( "TileDddbManager::TICLsample() - Current TICL not set, returning -999.9" );
1639 return -999.9;
1640 }
1641}
1642
1644{
1645 if (m_currentTicl)
1646 return m_currentTicl->getDouble("ETA");
1647 else
1648 {
1649 ATH_MSG_ERROR( "TileDddbManager::TICLeta() - Current TICL not set, returning -999.9" );
1650 return -999.9;
1651 }
1652}
1653
1655{
1656 if (m_currentTicl)
1657 return m_currentTicl->getDouble("DETA");
1658 else
1659 {
1660 ATH_MSG_ERROR( "TileDddbManager::TICLdeta() - Current TICL not set, returning -999.9" );
1661 return -999.9;
1662 }
1663}
1664
1666{
1667 if (m_currentTicl)
1668 return m_currentTicl->getInt("FIRSTROW");
1669 else
1670 {
1671 ATH_MSG_ERROR( "TileDddbManager::TICLfirstrow() - Current TICL not set, returning -999.9" );
1672 return -999.9;
1673 }
1674}
1675
1677{
1678 if (m_currentTicl)
1679 return m_currentTicl->getInt("LASTROW");
1680 else
1681 {
1682 ATH_MSG_ERROR( "TileDddbManager::TICLlastrow() - Current TICL not set, returning -999.9" );
1683 return -999.9;
1684 }
1685}
1686
1687double TileDddbManager::TICLntilesrow(unsigned int ind) const
1688{
1689 if (m_currentTicl)
1690 return m_currentTicl->getInt("NTILESROW",ind);
1691 else
1692 {
1693 ATH_MSG_ERROR( "TileDddbManager::TICLntilesrow() - Current TICL not set, returning 9999" );
1694 return 9999;
1695 }
1696}
1697
1699{
1700 if (m_currentTicl)
1701 return m_currentTicl->getInt("NPMT");
1702 else
1703 {
1704 ATH_MSG_ERROR( "TileDddbManager::TICLnpmt() - Current TICL not set, returning -999.9" );
1705 return -999.9;
1706 }
1707}
1708
1709double TileDddbManager::TICLholes(unsigned int ind) const
1710{
1711 if (m_currentTicl)
1712 return m_currentTicl->getInt("HOLES",ind);
1713 else
1714 {
1715 ATH_MSG_ERROR( "TileDddbManager::TICLholes() - Current TICL not set, returning 9999" );
1716 return 9999;
1717 }
1718}
1719
1720int TileDddbManager::getSwitch(const char *name, int val) const
1721{
1722 if (m_tileSwitches) {
1723 try {
1724 if ((*m_tileSwitches)[0]->isFieldNull(name)) {
1725 ATH_MSG_DEBUG( "TileDddbManager::getSwitch() - TileSwitches(" << name << ") is EMPTY, returning " << name << " = " << val );
1726 return val;
1727 } else {
1728 return (*m_tileSwitches)[0]->getInt(name);
1729 }
1730 } catch (std::exception& e) {
1731 ATH_MSG_WARNING( "TileDddbManager::getSwitch() - TileSwitches table does not contain field " << name << ", returning " << name << " = " << val );
1732 return val;
1733 }
1734 } else {
1735 ATH_MSG_ERROR( "TileDddbManager::getSwitch() - TileSwitches is not set, returning " << name << " = " << val );
1736 return val;
1737 }
1738}
1739
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
Definition of the abstract IRDBAccessSvc interface.
Definition of the abstract IRDBRecord interface.
Definition of the abstract IRDBRecordset interface.
void print(char *figname, TCanvas *c1)
void section(const std::string &sec)
#define sample_ind(r, m, c, i)
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
std::vector< unsigned int > m_modTypes
double TILBrminimal() const
double TICLncell() const
int SetCurrentTypeByIndex(unsigned int Id)
int SetFirstTiclInDet(int detector)
double TILBdzend1() const
double GetEnvDY() const
double TILBdzperio() const
double GetEnvRin() const
int GetNumberOfEnv() const
int SetCurrentModuleByIndex(unsigned int Id)
double DzSaddleSupport() const
const IRDBRecord * m_currentTileGlob
double GetEnvDZ() const
double SCNTdrw() const
unsigned int m_n_ticl
double CutsYpos() const
double SCNTdr() const
double TICGrc() const
const IRDBRecord * m_currentCuts
int SetCurrentTifg(int section)
double GetEnvDX() const
int TILBnpercutpos() const
double TICGdr() const
double TIGRdw() const
double CutsXpos() const
double GetEnvDPhi() const
double SCNTrc() const
unsigned int GetModTypeSize() const
const IRDBRecord * m_currentTileMod
double TIFGdz() const
double TICLlastrow() const
int SetCurrentGird(int item)
int TILBsection() const
TileDddbManager(IRDBAccessSvc *access, const std::string &version_tag, const std::string &version_node, bool sqliteInput=false)
const IRDBRecord * m_currentScin
const IRDBRecord * m_currentSection
int TILBngirder() const
double TICLholes(unsigned int ind) const
double TICLfirstrow() const
double TILBrmax() const
double TILErmax() const
int getSwitch(const char *name, int def_val) const
int TILBnpercutneg() const
IRDBRecordset_ptr m_ticg
double TIGRrc() const
double TILBzoffset() const
int SetCurrentSectionByIndex(unsigned int IdSection)
unsigned int m_EnvBegin
IRDBRecordset_ptr m_tifg
unsigned int m_n_tileSwitches
double GetModDZ() const
double TILBisci_st() const
double TILBdrfront() const
const IRDBRecord * m_currentTicl
double CutsDZ1() const
unsigned int GetNumTicl() const
int SetCurrentCuts(const std::string &input)
Fields of CUTS structure (see also Oracle comments):
unsigned int m_n_scnt
double TILBflangex() const
unsigned int m_n_tilb
double TILBflangey() const
int SCNTitem() const
Fields of SCNT structure (see also Oracle comments):
double TILBdzend() const
double TICLnpmt() const
IRDBRecordset_ptr m_timod
int SetCurrentSaddle(unsigned int index)
Fields of SADDLE structure (see also Oracle comments):
unsigned int m_n_tigr
double GetEnvZShift() const
double TILBdzspac() const
double TILBdzgir() const
const IRDBRecord * m_currentSaddle
double TICGdx1() const
std::string CutsName() const
double TICLsample() const
int SetCurrentModuleByNumber(unsigned int Number)
double GetModDY() const
double CutsDX1() const
double CutsDY2() const
double GetEnvDTheta() const
int SetCurrentTicg(int item)
int SetCurrentTypeByNumber(unsigned int Number)
const IRDBRecord * m_currentTifg
IRDBRecordset_ptr m_tileSwitches
double TICLeta() const
int GetModNumber() const
double TIGRoff() const
IRDBRecordset_ptr m_tile
int GetEnvNModules() const
double SCNTzp() const
IRDBRecordset_ptr m_ticl
double TILBdzend2() const
double GetEnvDPsi() const
double TILEzshift() const
double SCNTdtw() const
double TICLdeta() const
double TILErmam() const
double GetModDTheta() const
int SetCurrentEnvByIndex(unsigned int envelope)
unsigned int m_n_cuts
int SetCurrentSectionByNumber(unsigned int section)
double GetEnvZLength() const
int SetCurrentSection(unsigned int section, bool print=true)
double TICGoff() const
int SetFirstTiclInDetSamp(int detector, double sample)
IRDBRecordset_ptr m_scnt
int TILEnmodul() const
unsigned int m_n_tifg
int SetCurrentScin(int item)
IRDBRecordset_ptr m_tigr
double CutsDX2() const
double TILBdzmast() const
unsigned int m_n_saddle
unsigned int GetNumTilb() const
const IRDBRecord * m_currentTicg
double TICGzc() const
double GetModDPhi() const
double TICGdx2() const
int TILBfingpattern() const
IRDBRecordset_ptr m_tiglob
double TICLntilesrow(unsigned int ind) const
double TILBrmin() const
double SCNTdt() const
double CutsDY1() const
IRDBRecordset_ptr m_tilb
double TICLtower() const
double TILEzmam() const
double RadiusSaddle() const
unsigned int m_EnvSize
double TILBdzmodul() const
unsigned int m_n_tiglob
double TILBphigap() const
unsigned int m_n_ticg
double GetModDX() const
unsigned int m_n_timod
int TILBnperiod() const
int SetCurrentEnvByType(unsigned int envelope)
double GetModDPsi() const
unsigned int m_EnvNum
double TILErmin() const
double TIGRdr() const
double GetEnvRout() const
double TILErmim() const
IRDBRecordset_ptr m_cuts
IRDBRecordset_ptr m_saddle
double TILBrmaximal() const
int TILBcurscint() const
double SCNTdphi() const
int SetCurrentTicl(int detector, double sample, double tower)
double TICGdz() const
const IRDBRecord * m_currentGird
Definition index.py:1