33{
34 SmartIF<IGeoModelSvc> iGeoModel{pSvcLocator->service("GeoModelSvc")};
36
37 SmartIF<IRDBAccessSvc> iAccessSvc{pSvcLocator->service("RDBAccessSvc")};
39
42 return (loadDefaults and pRecordset->size() == 0);
43 };
44
45 if (loadDefaults)
ATH_MSG_DEBUG(
"Will load material defaults if not present");
46
47
48 DecodeVersionKey keyAtlas(iGeoModel, "ATLAS");
49 m_elements = iAccessSvc->getRecordsetPtr(
"Elements",keyAtlas.tag(),keyAtlas.node());
52 m_elements = iAccessSvc->getRecordsetPtr(
"Elements",
"Materials-00",
"Materials");
53 }
54
57
58
59 recMatcomponents = iAccessSvc->getRecordsetPtr("StdMatComponents",keyAtlas.tag(),keyAtlas.node());
60 if(defaulted(recMatcomponents)) {
62 recMatcomponents = iAccessSvc->getRecordsetPtr("StdMatComponents","Materials-00","Materials");
63 }
64 recMaterials = iAccessSvc->getRecordsetPtr("StdMaterials",keyAtlas.tag(),keyAtlas.node());
65 if(defaulted(recMaterials)) {
67 recMaterials = iAccessSvc->getRecordsetPtr("StdMaterials","Materials-00","Materials");
68 }
70
71
72 DecodeVersionKey keyPixel(iGeoModel, "Pixel");
73 recMatcomponents = iAccessSvc->getRecordsetPtr("PixMatComponents",keyPixel.tag(),keyPixel.node());
74 if(defaulted(recMatcomponents)) {
76 recMatcomponents = iAccessSvc->getRecordsetPtr("PixMatComponents","PixMatComponents-00");
77 }
78 recMaterials = iAccessSvc->getRecordsetPtr("PixMaterials",keyPixel.tag(),keyPixel.node());
79 if(defaulted(recMaterials)) {
81 recMaterials = iAccessSvc->getRecordsetPtr("PixMaterials","PixMaterials-00");
82 }
84
85
86 DecodeVersionKey keySCT(iGeoModel, "SCT");
87 recMatcomponents = iAccessSvc->getRecordsetPtr("SCTMatComponents",keySCT.tag(),keySCT.node());
88 if(defaulted(recMatcomponents)) {
90 recMatcomponents = iAccessSvc->getRecordsetPtr("SCTMatComponents","SCTMatComponents-00");
91 }
92 recMaterials = iAccessSvc->getRecordsetPtr("SCTMaterials",keySCT.tag(),keySCT.node());
93 if(defaulted(recMaterials)) {
95 recMaterials = iAccessSvc->getRecordsetPtr("SCTMaterials","SCTMaterials-00");
96 }
98
99
100 DecodeVersionKey keyTRT(iGeoModel, "TRT");
101 recMatcomponents = iAccessSvc->getRecordsetPtr("TrtMatComponents",keyTRT.tag(),keyTRT.node());
102 if(defaulted(recMatcomponents)) {
104 recMatcomponents = iAccessSvc->getRecordsetPtr("TrtMatComponents","TrtMatComponents-00");
105 }
106 recMaterials = iAccessSvc->getRecordsetPtr("TrtMaterials",keyTRT.tag(),keyTRT.node());
107 if(defaulted(recMaterials)) {
109 recMaterials = iAccessSvc->getRecordsetPtr("TrtMaterials","TrtMaterials-00");
110 }
112
113
114 DecodeVersionKey keyInDet(iGeoModel, "InnerDetector");
115 recMatcomponents = iAccessSvc->getRecordsetPtr("InDetMatComponents",keyInDet.tag(),keyInDet.node());
116 if(defaulted(recMatcomponents)) {
117 ATH_MSG_DEBUG(
"Getting InDetMatComponents with default tag");
118 recMatcomponents = iAccessSvc->getRecordsetPtr("InDetMatComponents","InDetMatComponents-00");
119 }
120 recMaterials = iAccessSvc->getRecordsetPtr("InDetMaterials",keyInDet.tag(),keyInDet.node());
121 if(defaulted(recMaterials)) {
123 recMaterials = iAccessSvc->getRecordsetPtr("InDetMaterials","InDetMaterials-00");
124 }
126
127
128 DecodeVersionKey keyLAr(iGeoModel, "LAr");
129 recMatcomponents = iAccessSvc->getRecordsetPtr("LArMatComponents",keyLAr.tag(),keyLAr.node());
130 if(defaulted(recMatcomponents)) {
132 recMatcomponents = iAccessSvc->getRecordsetPtr("LArMatComponents","LArMatComponents-00");
133 }
134 recMaterials = iAccessSvc->getRecordsetPtr("LArMaterials",keyLAr.tag(),keyLAr.node());
135 if(defaulted(recMaterials)) {
137 recMaterials = iAccessSvc->getRecordsetPtr("LArMaterials","LArMaterials-00");
138 }
140
141
142 DecodeVersionKey keyTile(iGeoModel, "TileCal");
143 recMatcomponents = iAccessSvc->getRecordsetPtr("TileMatComponents",keyTile.tag(),keyTile.node());
144 if (defaulted(recMatcomponents)) {
146 recMatcomponents = iAccessSvc->getRecordsetPtr("TileMatComponents","TileMatComponents-00");
147 }
148 recMaterials = iAccessSvc->getRecordsetPtr("TileMaterials",keyTile.tag(),keyTile.node());
149 if(defaulted(recMaterials)) {
151 recMaterials = iAccessSvc->getRecordsetPtr("TileMaterials","TileMaterials-00");
152 }
154
155
156 DecodeVersionKey keyMuon(iGeoModel, "MuonSpectrometer");
157 recMatcomponents = iAccessSvc->getRecordsetPtr("MUOMatComponents",keyMuon.tag(),keyMuon.node());
158 if(defaulted(recMatcomponents)) {
160 recMatcomponents = iAccessSvc->getRecordsetPtr("MUOMatComponents","MUOMatComponents-00");
161 }
162 recMaterials = iAccessSvc->getRecordsetPtr("MUOMaterials",keyMuon.tag(),keyMuon.node());
163 if(defaulted(recMaterials)) {
165 recMaterials = iAccessSvc->getRecordsetPtr("MUOMaterials","MUOMaterials-00");
166 }
168
169
170 recMatcomponents = iAccessSvc->getRecordsetPtr("ShieldMatComponents",keyMuon.tag(),keyMuon.node());
171 if(defaulted(recMatcomponents)) {
173 recMatcomponents = iAccessSvc->getRecordsetPtr("ShieldMatComponents","ShieldMatComponents-00");
174 }
175 recMaterials = iAccessSvc->getRecordsetPtr("ShieldMaterials",keyMuon.tag(),keyMuon.node());
176 if(defaulted(recMaterials)) {
178 recMaterials = iAccessSvc->getRecordsetPtr("ShieldMaterials","ShieldMaterials-00");
179 }
181
182
183 recMatcomponents = iAccessSvc->getRecordsetPtr("ToroMatComponents",keyMuon.tag(),keyMuon.node());
184 if(defaulted(recMatcomponents)) {
186 recMatcomponents = iAccessSvc->getRecordsetPtr("ToroMatComponents","ToroMatComponents-00");
187 }
188 recMaterials = iAccessSvc->getRecordsetPtr("ToroMaterials",keyMuon.tag(),keyMuon.node());
189 if(defaulted(recMaterials)) {
191 recMaterials = iAccessSvc->getRecordsetPtr("ToroMaterials","ToroMaterials-00");
192 }
193 m_detData.emplace(
"toro",
DetectorAuxData{
"TOROMATERIALS_DATA_ID", std::move(recMaterials), std::move(recMatcomponents)});
194
195 return StatusCode::SUCCESS;
196}
#define ATH_CHECK
Evaluate an expression and check for errors.