ATLAS Offline Software
Loading...
Searching...
No Matches
sTGC_readoutHandler.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
10#include "GaudiKernel/Bootstrap.h"
11#include <iostream>
12
13
16 : XMLHandler(s, c)
17{
18}
19
21 xercesc::DOMNode *t)
22{
23 sTGCHandler* sTGCHand = dynamic_cast<sTGCHandler*>
24 (c.GetHandlerStore().GetHandler("sTGC"));
25 if (!sTGCHand) std::abort();
26
27 sTGCDetectorDescription* sTGC = sTGCHand->GetsTGCCurrent();
28 // std::cout<<" this is sTGC_readoutHandler::Handle"<<sTGC->GetName()<<std::endl;
29
30 bool ret=true;
31 sTGC->roParameters.sPadWidth = getAttributeAsDouble (c, t, "sPadWidth", ret);
32 if (! ret) std::cout << "WARNING: sPadWidth is missing" << std::endl;
33
34 sTGC->roParameters.lPadWidth = getAttributeAsDouble (c, t, "lPadWidth", ret);
35 if (! ret) std::cout << "WARNING: lPadWidth is missing" << std::endl;
36
37 sTGC->roParameters.sStripWidth = getAttributeAsDouble (c, t, "sStripWidth", ret);
38 if (! ret) std::cout << "WARNING: sStripWidth is missing" << std::endl;
39
40 sTGC->roParameters.lStripWidth = getAttributeAsDouble (c, t, "lStripWidth", ret);
41 if (! ret) std::cout << "WARNING: lStripWidth is missing" << std::endl;
42
43 sTGC->roParameters.padH = getAttributeAsVector (c, t, "padH", ret);
44 if (! ret) std::cout << "WARNING: padH is missing" << std::endl;
45
46 sTGC->roParameters.nPadPhi = getAttributeAsIntVector (c, t, "nPadPhi", ret);
47 if (! ret) { // Check for backwards compatibility
48 std::cout << "INFO: nPadPhi is missing trying older format nPadX" << std::endl;
49 sTGC->roParameters.nPadPhi = getAttributeAsIntVector (c, t, "nPadX", ret);
50 if (! ret) std::cout << "WARNING: nPadX is missing" << std::endl;
51 }
52
53 sTGC->roParameters.anglePadPhi = getAttributeAsDouble (c, t, "anglePadPhi", ret);
54 if (! ret){
55 std::cout << "INFO: anglePadPhi is missing trying older format anglePadX" << std::endl;
56 sTGC->roParameters.anglePadPhi = getAttributeAsDouble (c, t, "anglePadX", ret);
57 if (! ret) std::cout << "WARNING: anglePadX is missing" << std::endl;
58 }
59
60 sTGC->roParameters.firstPadPhiDivision_A = getAttributeAsVector (c, t, "firstPadPhiDivision_A", ret);
61 sTGC->roParameters.firstPadPhiDivision_C = getAttributeAsVector (c, t, "firstPadPhiDivision_C", ret);
62 if (! ret){
63 std::cout << "INFO: firstPadPhiDivision_C/A is missing trying older format firstPadPhi" << std::endl;
64 sTGC->roParameters.firstPadPhiDivision_A = getAttributeAsVector (c, t, "firstPadPhi", ret);
65 sTGC->roParameters.firstPadPhiDivision_C = getAttributeAsVector (c, t, "firstPadPhi", ret);
66 if (! ret) std::cout << "WARNING: firstPadPhi is missing" << std::endl;
67 }
68
69
70
71 sTGC->roParameters.PadPhiShift_A = getAttributeAsVector (c, t, "PadPhiShift_A", ret);
72 sTGC->roParameters.PadPhiShift_C = getAttributeAsVector (c, t, "PadPhiShift_C", ret);
73 if (! ret){
74 std::cout << "INFO: PadPhiShift_C/A is missing trying older format firstPadPhi" << std::endl;
75 sTGC->roParameters.PadPhiShift_A = getAttributeAsVector (c, t, "firstPadPhi", ret);
76 sTGC->roParameters.PadPhiShift_C = getAttributeAsVector (c, t, "firstPadPhi", ret);
77 if (! ret) std::cout << "WARNING: firstPadPhi is missing" << std::endl;
78 }
79
80 sTGC->roParameters.nPadH = getAttributeAsVector (c, t, "nPadH", ret);
81 if (! ret) std::cout << "WARNING: nPadH is missing" << std::endl;
82
83 sTGC->roParameters.firstPadH = getAttributeAsVector (c, t, "firstPadH", ret);
84 if (! ret) std::cout << "WARNING: firstPadH is missing" << std::endl;
85
86 sTGC->roParameters.firstPadRow = getAttributeAsIntVector (c, t, "firstPadRow", ret);
87 if (! ret) std::cout << "WARNING: firstPadRow is missing" << std::endl;
88
89 sTGC->roParameters.nWires = getAttributeAsIntVector (c, t, "nWires", ret);
90 if (! ret) std::cout << "WARNING: nWires is missing" << std::endl;
91
92 sTGC->roParameters.wireCutout = getAttributeAsVector (c, t, "wireCutout", ret);
93 if (! ret) std::cout << "WARNING: wireCutout is missing" << std::endl;
94
95 sTGC->roParameters.firstWire = getAttributeAsVector (c, t, "firstWire", ret);
96 if (! ret) std::cout << "WARNING: firstWire is missing" << std::endl;
97
98 sTGC->roParameters.wireGroupWidth = getAttributeAsDouble (c, t, "wireGroupWidth", ret);
99 if (! ret) std::cout << "WARNING: wireGroupWidth is missing" << std::endl;
100
101 sTGC->roParameters.nStrips = getAttributeAsInt (c, t, "nStrips", ret);
102 if (! ret) std::cout << "WARNING: nStrips is missing" << std::endl;
103
104 sTGC->roParameters.firstTriggerBand = getAttributeAsIntVector (c, t, "firstTriggerBand", ret);
105 if (! ret) std::cout << "WARNING: firstTriggerBand is missing" << std::endl;
106
107 sTGC->roParameters.nTriggerBands = getAttributeAsIntVector (c, t, "nTriggerBands", ret);
108 if (! ret) std::cout << "WARNING: nTriggerBands is missing" << std::endl;
109
110 sTGC->roParameters.firstStripInTrigger = getAttributeAsIntVector (c, t, "firstStripInTrigger", ret);
111 if (! ret) std::cout << "WARNING: firstStripInTrigger is missing" << std::endl;
112
113 sTGC->roParameters.firstStripWidth = getAttributeAsVector (c, t, "firstStripWidth", ret);
114 if (! ret) std::cout << "WARNING: firstStripWidth is missing" << std::endl;
115
116 sTGC->roParameters.StripsInBandsLayer1 = getAttributeAsIntVector (c, t, "StripsInBandsLayer1", ret);
117 if (! ret) std::cout << "WARNING: StripsInBandsLayer1 is missing" << std::endl;
118
119 sTGC->roParameters.StripsInBandsLayer2 = getAttributeAsIntVector (c, t, "StripsInBandsLayer2", ret);
120 if (! ret) std::cout << "WARNING: StripsInBandsLayer2 is missing" << std::endl;
121
122 sTGC->roParameters.StripsInBandsLayer3 = getAttributeAsIntVector (c, t, "StripsInBandsLayer3", ret);
123 if (! ret) std::cout << "WARNING: StripsInBandsLayer3 is missing" << std::endl;
124
125 sTGC->roParameters.StripsInBandsLayer4 = getAttributeAsIntVector (c, t, "StripsInBandsLayer4", ret);
126 if (! ret) std::cout << "WARNING: StripsInBandsLayer4 is missing" << std::endl;
127
128 sTGC->roParameters.nWireGroups = getAttributeAsIntVector (c, t, "nWireGroups", ret);
129 if (! ret) std::cout << "WARNING: nWireGroups is missing" << std::endl;
130
131 sTGC->roParameters.firstWireGroup = getAttributeAsIntVector (c, t, "firstWireGroup", ret);
132 if (! ret) std::cout << "WARNING: firstWireGroup is missing" << std::endl;
133}
int getAttributeAsInt(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
std::vector< double > getAttributeAsVector(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
std::vector< int > getAttributeAsIntVector(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
double getAttributeAsDouble(AGDDController &c, const xercesc::DOMNode *t, const std::string &) const
XMLHandler(const std::string &n, AGDDController &c)
sTGCReadoutParameters roParameters
sTGCDetectorDescription * GetsTGCCurrent()
sTGC_readoutHandler(const std::string &, AGDDController &c)
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t) override
std::vector< int > firstWireGroup
std::vector< int > StripsInBandsLayer1
std::vector< double > firstPadPhiDivision_A
std::vector< int > firstStripInTrigger
std::vector< double > firstPadPhiDivision_C
std::vector< double > firstStripWidth
std::vector< int > StripsInBandsLayer4
std::vector< double > firstPadH
std::vector< int > StripsInBandsLayer3
std::vector< double > firstWire
std::vector< double > PadPhiShift_C
std::vector< int > StripsInBandsLayer2
std::vector< double > padH
std::vector< double > wireCutout
std::vector< int > firstTriggerBand
std::vector< double > PadPhiShift_A
std::vector< double > nPadH
std::vector< int > nTriggerBands