147 ATH_CHECK(pSvcLocator->service(
"GeoModelSvc",iGeoModel));
148 ATH_CHECK(pSvcLocator->service(
"RDBAccessSvc",iAccessSvc));
150 auto warn = [&](
const std::string &
msg){
151 if (
log.level()<=MSG::WARNING){
155 auto debug = [&](
const std::string &
msg){
162 return (loadDefaults and pRecordset->size() == 0);
165 if (loadDefaults)
debug(
"Will load material defaults if not present");
169 m_elements = iAccessSvc->getRecordsetPtr(
"Elements",keyAtlas.tag(),keyAtlas.node());
171 warn(
"Getting Elements with default tag");
172 m_elements = iAccessSvc->getRecordsetPtr(
"Elements",
"Materials-00",
"Materials");
174 m_stdmatcomponents = iAccessSvc->getRecordsetPtr(
"StdMatComponents",keyAtlas.tag(),keyAtlas.node());
176 warn(
"Getting StdMatComponents with default tag");
177 m_stdmatcomponents = iAccessSvc->getRecordsetPtr(
"StdMatComponents",
"Materials-00",
"Materials");
179 m_stdmaterials = iAccessSvc->getRecordsetPtr(
"StdMaterials",keyAtlas.tag(),keyAtlas.node());
181 warn(
"Getting StdMaterials with default tag");
182 m_stdmaterials = iAccessSvc->getRecordsetPtr(
"StdMaterials",
"Materials-00",
"Materials");
187 m_pixmatcomponents = iAccessSvc->getRecordsetPtr(
"PixMatComponents",keyPixel.tag(),keyPixel.node());
189 warn(
"Getting PixMatComponents with default tag");
190 m_pixmatcomponents = iAccessSvc->getRecordsetPtr(
"PixMatComponents",
"PixMatComponents-00");
192 m_pixmaterials = iAccessSvc->getRecordsetPtr(
"PixMaterials",keyPixel.tag(),keyPixel.node());
194 warn(
"Getting PixMaterials with default tag");
195 m_pixmaterials = iAccessSvc->getRecordsetPtr(
"PixMaterials",
"PixMaterials-00");
200 m_pixtbmatcomponents = iAccessSvc->getRecordsetPtr(
"PixelTBMatComponents",keyPixel.tag(),keyPixel.node());
202 debug(
"Getting PixTBMatComponents with default tag" );
205 m_pixtbmaterials = iAccessSvc->getRecordsetPtr(
"PixelTBMaterials",keyPixel.tag(),keyPixel.node());
207 debug(
"Getting PixTBMaterials with default tag");
208 m_pixtbmaterials = iAccessSvc->getRecordsetPtr(
"PixMaterials",
"PixMaterials-00");
213 m_sctmatcomponents = iAccessSvc->getRecordsetPtr(
"SCTMatComponents",keySCT.tag(),keySCT.node());
215 warn(
"Getting SCTMatComponents with default tag");
216 m_sctmatcomponents = iAccessSvc->getRecordsetPtr(
"SCTMatComponents",
"SCTMatComponents-00");
219 m_sctmaterials = iAccessSvc->getRecordsetPtr(
"SCTMaterials",keySCT.tag(),keySCT.node());
221 warn(
"Getting SCTMaterials with default tag");
222 m_sctmaterials = iAccessSvc->getRecordsetPtr(
"SCTMaterials",
"SCTMaterials-00");
227 m_trtmatcomponents = iAccessSvc->getRecordsetPtr(
"TrtMatComponents",keyTRT.tag(),keyTRT.node());
229 warn(
"Getting TrtMatComponents with default tag");
230 m_trtmatcomponents = iAccessSvc->getRecordsetPtr(
"TrtMatComponents",
"TrtMatComponents-00");
232 m_trtmaterials = iAccessSvc->getRecordsetPtr(
"TrtMaterials",keyTRT.tag(),keyTRT.node());
234 warn(
"Getting TrtMaterials with default tag");
235 m_trtmaterials = iAccessSvc->getRecordsetPtr(
"TrtMaterials",
"TrtMaterials-00");
240 m_indetmatcomponents = iAccessSvc->getRecordsetPtr(
"InDetMatComponents",keyInDet.tag(),keyInDet.node());
242 debug(
"Getting InDetMatComponents with default tag");
243 m_indetmatcomponents = iAccessSvc->getRecordsetPtr(
"InDetMatComponents",
"InDetMatComponents-00");
246 m_indetmaterials = iAccessSvc->getRecordsetPtr(
"InDetMaterials",keyInDet.tag(),keyInDet.node());
248 debug(
"Getting InDetMaterials with default tag");
249 m_indetmaterials = iAccessSvc->getRecordsetPtr(
"InDetMaterials",
"InDetMaterials-00");
254 m_larmatcomponents = iAccessSvc->getRecordsetPtr(
"LArMatComponents",keyLAr.tag(),keyLAr.node());
256 warn(
"Getting LArMatComponents with default tag");
257 m_larmatcomponents = iAccessSvc->getRecordsetPtr(
"LArMatComponents",
"LArMatComponents-00");
259 m_larmaterials = iAccessSvc->getRecordsetPtr(
"LArMaterials",keyLAr.tag(),keyLAr.node());
261 warn(
"Getting LArMaterials with default tag");
262 m_larmaterials = iAccessSvc->getRecordsetPtr(
"LArMaterials",
"LArMaterials-00");
267 m_tilematcomponents = iAccessSvc->getRecordsetPtr(
"TileMatComponents",keyTile.tag(),keyTile.node());
269 warn(
"Getting TileMatComponents with default tag" );
270 m_tilematcomponents = iAccessSvc->getRecordsetPtr(
"TileMatComponents",
"TileMatComponents-00");
272 m_tilematerials = iAccessSvc->getRecordsetPtr(
"TileMaterials",keyTile.tag(),keyTile.node());
274 warn(
"Getting TileMaterials with default tag");
275 m_tilematerials = iAccessSvc->getRecordsetPtr(
"TileMaterials",
"TileMaterials-00");
280 m_muomatcomponents = iAccessSvc->getRecordsetPtr(
"MUOMatComponents",keyMuon.tag(),keyMuon.node());
282 warn(
"Getting MUOMatComponents with default tag");
283 m_muomatcomponents = iAccessSvc->getRecordsetPtr(
"MUOMatComponents",
"MUOMatComponents-00");
285 m_muomaterials = iAccessSvc->getRecordsetPtr(
"MUOMaterials",keyMuon.tag(),keyMuon.node());
287 warn(
"Getting MUOMaterials with default tag" );
288 m_muomaterials = iAccessSvc->getRecordsetPtr(
"MUOMaterials",
"MUOMaterials-00");
290 m_shieldmatcomponents = iAccessSvc->getRecordsetPtr(
"ShieldMatComponents",keyMuon.tag(),keyMuon.node());
292 warn(
"Getting ShieldMatComponents with default tag");
295 m_shieldmaterials = iAccessSvc->getRecordsetPtr(
"ShieldMaterials",keyMuon.tag(),keyMuon.node());
297 warn(
"Getting ShieldMaterials with default tag");
298 m_shieldmaterials = iAccessSvc->getRecordsetPtr(
"ShieldMaterials",
"ShieldMaterials-00");
300 m_toromatcomponents = iAccessSvc->getRecordsetPtr(
"ToroMatComponents",keyMuon.tag(),keyMuon.node());
302 warn(
"Getting ToroMatComponents with default tag");
303 m_toromatcomponents = iAccessSvc->getRecordsetPtr(
"ToroMatComponents",
"ToroMatComponents-00");
305 m_toromaterials = iAccessSvc->getRecordsetPtr(
"ToroMaterials",keyMuon.tag(),keyMuon.node());
307 warn(
"Getting ToroMaterials with default tag");
308 m_toromaterials = iAccessSvc->getRecordsetPtr(
"ToroMaterials",
"ToroMaterials-00");
310 return StatusCode::SUCCESS;