diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EMECSupportConstruction.h b/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EMECSupportConstruction.h
index b89d457dc7d0d182bec22728fcefc53f0e1eba0e..08d202b1adc0b02f065ec1a9227d336c7b630fbd 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EMECSupportConstruction.h
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EMECSupportConstruction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -95,10 +95,16 @@ class EMECSupportConstruction
     std::string m_BaseName;
     double m_Position, m_PhiStart, m_PhiSize;
 
-	GeoMaterial *m_LAr, *m_Alu, *m_Gten, *m_PermaliE730;
-	GeoMaterial *m_G10FeInner, *m_G10FeOuter, *m_Kapton_Cu;
-	GeoMaterial *m_Cable, *m_Copper;
-        GeoMaterial *m_Lead;
+        const GeoMaterial* m_LAr;
+        const GeoMaterial* m_Alu;
+        const GeoMaterial* m_Gten;
+        const GeoMaterial* m_PermaliE730;
+        const GeoMaterial* m_G10FeInner;
+        const GeoMaterial* m_G10FeOuter;
+        const GeoMaterial* m_Kapton_Cu;
+        const GeoMaterial* m_Cable;
+        const GeoMaterial* m_Copper;
+        const GeoMaterial* m_Lead;
 
 	IRDBRecordset_ptr m_DB_EmecGeometry, m_DB_EmecWheelParameters, m_DB_mn;
 	IRDBRecordset_ptr m_DB_boxes, m_DB_numbers, m_DB_tubes, m_DB_pcons;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapCryostatConstruction.h b/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapCryostatConstruction.h
index 09fa51ffa48c4324c4ab4a749474fda7aec5174b..57d04146ad82d23e4dc91071c7b32e0296f5b3ad 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapCryostatConstruction.h
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapCryostatConstruction.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -18,7 +18,6 @@
 #include "LArGeoHec/HEC2WheelConstruction.h"
 #include "LArGeoFcal/FCALConstruction.h"
 #include "LArGeoEndcap/EMECConstruction.h"
-#include "StoreGate/DataHandle.h"
 
 class IRDBAccessSvc;
 class IRDBRecord;
@@ -65,7 +64,7 @@ namespace LArGeo {
     friend class ::LArDetectorToolNV;
 
     GeoPhysVol* buildMbtsTrd(const IRDBRecord* rec
-			     , const DataHandle<StoredMaterialManager>& matmanager
+			     , const StoredMaterialManager* matmanager
 			     , GeoPhysVol* parent);
   };
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx
index a7dc1ef3001eb6ec8edd76d373d85ff1c34ff7d9..0c866b27039aea4712ddecebb0c097797943c5c2 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 // EMECConstruction
@@ -147,17 +147,17 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 	      << "================================================"
 	      << std::endl;
 
-  DataHandle<StoredMaterialManager> materialManager;
+  const StoredMaterialManager* materialManager = nullptr;
   if(StatusCode::SUCCESS != detStore->retrieve(materialManager, std::string("MATERIALS"))) return 0;
 
   //////////////////////////////////////////////////////////////////
   // Get materials from the manager
   //////////////////////////////////////////////////////////////////
 
-  GeoMaterial *LAr  = materialManager->getMaterial("std::LiquidArgon");
+  const GeoMaterial *LAr  = materialManager->getMaterial("std::LiquidArgon");
   if(!LAr) throw std::runtime_error("Error in EMECConstruction, std::LiquidArgon is not found.");
 
-	GeoMaterial* innerAbsorberMaterial = 0;
+	const GeoMaterial* innerAbsorberMaterial = 0;
 	std::string innerAbsorberMaterial_name = "LAr::EMEC_Thickabs";
 	if(mlabs > 0){
 		if(mlabs != 2){
@@ -175,7 +175,7 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 		);
 	}
 
-	GeoMaterial* outerAbsorberMaterial = 0;
+	const GeoMaterial* outerAbsorberMaterial = 0;
 	std::string outerAbsorberMaterial_name = "LAr::EMEC_Thinabs";
 	if(mlabs > 0){
 		if(mlabs != 2){
@@ -193,7 +193,8 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 		);
 	}
 
-	GeoMaterial *Glue = 0, *Lead = 0;
+	const GeoMaterial *Glue = 0;
+        const GeoMaterial *Lead = 0;
 	if(mlabs > 0){
 // to be replaced with glue and lead - finished by Adam Agocs
 		Glue = materialManager->getMaterial("LAr::Glue");
@@ -202,10 +203,10 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 		if(!Lead) throw std::runtime_error("Error in EMECConstruction, LAr::Lead is not found.");
 	}
 
-  GeoMaterial* innerElectrodMaterial = materialManager->getMaterial("LAr::KaptonC");
+  const GeoMaterial* innerElectrodMaterial = materialManager->getMaterial("LAr::KaptonC");
   if(!innerElectrodMaterial) throw std::runtime_error("Error in EMECConstruction, LAr::KaptonC is not found.");
 
-  GeoMaterial* outerElectrodMaterial = innerElectrodMaterial;
+  const GeoMaterial* outerElectrodMaterial = innerElectrodMaterial;
 
   //////////////////////////////////////////////////////////////////
   // Define geometry
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx
index 9de61749dab09c9cb0ee190d73717234e79f1642..537bf556ce431b3fb9d22b5bac644950046a4cb1 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 // EMECSupportConstruction
@@ -104,8 +104,10 @@ EMECSupportConstruction::EMECSupportConstruction
 	if(svcLocator->service("DetectorStore", detStore, false) == StatusCode::FAILURE){
 		throw std::runtime_error("Error in EMECSupportConstruction, cannot access DetectorStore");
 	}
-	DataHandle<StoredMaterialManager> materialManager;
-	detStore->retrieve(materialManager, std::string("MATERIALS"));
+	const StoredMaterialManager* materialManager = nullptr;
+	if (detStore->retrieve(materialManager, std::string("MATERIALS")).isFailure()) {
+          throw std::runtime_error("Error in EMECSupportConstruction, cannot access MATERIALS");
+        }
 
 	m_PhiStart = 0.;
 	m_PhiSize = CLHEP::twopi*CLHEP::rad;
@@ -1689,11 +1691,13 @@ void EMECSupportConstruction::put_front_outer_extracyl(GeoPhysVol *motherPhysica
               if(svcLocator->service("DetectorStore", detStore, false) == StatusCode::FAILURE){
                 throw std::runtime_error("Error in EMECSupportConstruction/extracyl, cannot access DetectorStore");
               }
-              DataHandle<StoredMaterialManager> materialManager;
-              detStore->retrieve(materialManager, std::string("MATERIALS"));
+              const StoredMaterialManager* materialManager = nullptr;
+              if (detStore->retrieve(materialManager, std::string("MATERIALS")).isFailure()) {
+                throw std::runtime_error("Error in EMECSupportConstruction: cannot find MATERIALS.");
+              }
 
               std::string material=(*m_DB_emecExtraCyl)[i]->getString("MATERIAL"); //lead
-              GeoMaterial *mat = materialManager->getMaterial(material);
+              const GeoMaterial *mat = materialManager->getMaterial(material);
               if (!mat) {
                 throw std::runtime_error("Error in EMECSupportConstruction/extracyl,material for CylBeforePS is not found.");
               }
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx
index 52247bac9b6e8d439ffe81795b1070bcb7669b62..36e803b82e2a346502a123be4350adaca5479eb5 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 // EndcapCryostatConstruction
@@ -140,39 +140,39 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 
   // Get the materials from the material manager:-----------------------------------------------------//
   //                                                                                                  //
-  DataHandle<StoredMaterialManager> materialManager;
+  const StoredMaterialManager* materialManager = nullptr;
   if (StatusCode::SUCCESS != detStore->retrieve(materialManager, std::string("MATERIALS"))) return NULL;
 
-  GeoMaterial *Lead = materialManager->getMaterial("std::Lead");
+  const GeoMaterial *Lead = materialManager->getMaterial("std::Lead");
   if (!Lead) {
     throw std::runtime_error("Error in EndcapCryostatConstruction, std::Lead is not found.");
   }
   
-  GeoMaterial *Air  = materialManager->getMaterial("std::Air");
+  const GeoMaterial *Air  = materialManager->getMaterial("std::Air");
   if (!Air) {
     throw std::runtime_error("Error in EndcapCryostatConstruction, std::Air is not found.");
   }
   
-  GeoMaterial *Al  = materialManager->getMaterial("std::Aluminium");
+  const GeoMaterial *Al  = materialManager->getMaterial("std::Aluminium");
   if (!Al) {
     throw std::runtime_error("Error in EndcapCryostatConstruction, std::Aluminium is not found.");
   }
 
-  GeoMaterial *LAr  = materialManager->getMaterial("std::LiquidArgon");
+  const GeoMaterial *LAr  = materialManager->getMaterial("std::LiquidArgon");
   if (!LAr) {
     throw std::runtime_error("Error in EndcapCryostatConstruction, std::LiquidArgon is not found.");
   }
 
-  GeoMaterial *G10  = materialManager->getMaterial("LAr::G10");
+  const GeoMaterial *G10  = materialManager->getMaterial("LAr::G10");
   if (!G10) throw std::runtime_error("Error in EndcapCryostatConstruction, LAr::G10 is not found.");
 
-  GeoMaterial *Copper  = materialManager->getMaterial("std::Copper");
+  const GeoMaterial *Copper  = materialManager->getMaterial("std::Copper");
   if (!Copper) throw std::runtime_error("Error in EndcapCryostatConstruction, std::Copper is not found.");
   
-  GeoMaterial *Iron  = materialManager->getMaterial("std::Iron");
+  const GeoMaterial *Iron  = materialManager->getMaterial("std::Iron");
   if (!Iron) throw std::runtime_error("Error in EndcapCryostatConstruction, std::Iron is not found.");
 
-  GeoMaterial *Polystyrene  = materialManager->getMaterial("std::Polystyrene");
+  const GeoMaterial *Polystyrene  = materialManager->getMaterial("std::Polystyrene");
   if (!Polystyrene) throw std::runtime_error("Error in EndcapCryostatConstruction, std::Polystyrene is not found.");
 
   //                                                                                                 //
@@ -334,7 +334,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
                 double dphi=(*cryoExtraCyl)[i]->getDouble("DPHI");
                 if(dphi>6.28) dphi=2.*M_PI;
                 std::string material=(*cryoExtraCyl)[i]->getString("MATERIAL"); //lead
-                GeoMaterial *mat = materialManager->getMaterial(material);
+                const GeoMaterial *mat = materialManager->getMaterial(material);
                 if (!mat) {
                   throw std::runtime_error("Error in EndcapCryostatConstruction,material for CylBeforePS is not found.");
                 }
@@ -398,7 +398,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 			currentRecord->getDouble("DZ")*CLHEP::cm / 2.,
 			(double) 0.,
 			(double) 2.*M_PI*CLHEP::rad);
-	GeoMaterial *material  = materialManager->getMaterial(currentRecord->getString("MATERIAL"));
+	const GeoMaterial *material  = materialManager->getMaterial(currentRecord->getString("MATERIAL"));
       
 	if (!material) {
 	  std::ostringstream errorMessage;
@@ -516,7 +516,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
   GeoFullPhysVol* totalEMHLArPhysical = new GeoFullPhysVol(totalEMHLArLogical);
 
   // Add brass plugs
-  GeoMaterial *PlugBrass(0);
+  const GeoMaterial *PlugBrass(0);
   for(size_t i(0);i<2;++i) {
     const planeIndMap& brassPlugPlanes = brassPlugPlanesVect[i];
     if (brassPlugPlanes.size()) {
@@ -737,7 +737,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	double dzMM = (*itMother)->getDouble("DZ")*CLHEP::mm;
 	zposMM = (*itMother)->getDouble("ZPOS")*CLHEP::mm;
 	
-	GeoMaterial *matMM  = materialManager->getMaterial((*itMother)->getString("MATERIAL"));
+	const GeoMaterial *matMM  = materialManager->getMaterial((*itMother)->getString("MATERIAL"));
 	
 	GeoTube  *tubeMM = new GeoTube(rminMM,rmaxMM,dzMM);
 	
@@ -770,7 +770,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	double dzMod = (*itModerator)->getDouble("DZ")*CLHEP::mm;
 	double zposMod = (*itModerator)->getDouble("ZPOS")*CLHEP::mm;
 	
-	GeoMaterial *matMod  = materialManager->getMaterial((*itModerator)->getString("MATERIAL"));
+	const GeoMaterial *matMod  = materialManager->getMaterial((*itModerator)->getString("MATERIAL"));
 	
 	GeoTube* solidMod = new GeoTube(rminMM,rmaxMM,dzMod);
 	GeoLogVol* lvMod = new GeoLogVol("Moderator",solidMod, matMod);
@@ -854,7 +854,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	GeoTube* tubeJM = new GeoTube((*mbtsTubs)[0]->getDouble("RMIN"),
 				      (*mbtsTubs)[0]->getDouble("RMAX"),
 				      (*mbtsTubs)[0]->getDouble("DZ"));
-	GeoMaterial* matJM  = materialManager->getMaterial((*mbtsTubs)[0]->getString("MATERIAL"));
+	const GeoMaterial* matJM  = materialManager->getMaterial((*mbtsTubs)[0]->getString("MATERIAL"));
 	GeoLogVol* lvJM = new GeoLogVol("ModeratorJMTube",tubeJM, matJM);
 	GeoPhysVol* pvJM = new GeoPhysVol(lvJM);
 
@@ -890,7 +890,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	  }
 	  catch(std::runtime_error&) {}
 	
-	  GeoMaterial *matScin  = materialManager->getMaterial(curScin->getString("MATERIAL"));
+	  const GeoMaterial *matScin  = materialManager->getMaterial(curScin->getString("MATERIAL"));
 	
 	  std::ostringstream ostr;
 	  ostr << curScin->getInt("SCIN_ID");
@@ -1086,7 +1086,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 }
 
 GeoPhysVol* LArGeo::EndcapCryostatConstruction::buildMbtsTrd(const IRDBRecord* rec
-							     , const DataHandle<StoredMaterialManager>& matmanager
+							     , const StoredMaterialManager* matmanager
 							     , GeoPhysVol* parent)
 {
   // Construct the Trd
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx
index 275438dfbf00bb29608fa9e6b524d4c5f0e007d5..75f1f7af96147f42a581d0a10e7b3d3d0bcffb96 100644
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "EndcapDMConstruction.h"
@@ -8,7 +8,6 @@
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/IMessageSvc.h"
 #include "StoreGate/StoreGateSvc.h"
-#include "StoreGate/DataHandle.h"
 
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoFullPhysVol.h"
@@ -75,7 +74,7 @@ void LArGeo::EndcapDMConstruction::create(GeoFullPhysVol* envelope)
     throw std::runtime_error("Error in EndcapDMConstruction, cannot access RDBAccessSvc");
 
   DecodeVersionKey keyLAr(geoModel, "LAr");
-  DataHandle<StoredMaterialManager> materialManager;
+  const StoredMaterialManager* materialManager = nullptr;
   if(StatusCode::SUCCESS != detStore->retrieve(materialManager, std::string("MATERIALS"))) 
     throw std::runtime_error("Error in EndcapDMConstruction, stored MaterialManager is not found");
 
@@ -109,8 +108,8 @@ void LArGeo::EndcapDMConstruction::create(GeoFullPhysVol* envelope)
   unsigned int recordIndex;
 
   // Get materials
-  GeoMaterial *alu               = materialManager->getMaterial("std::Aluminium"); //2.7 CLHEP::g/CLHEP::cm3
-  GeoMaterial* matBoardsEnvelope = materialManager->getMaterial("LAr::BoardsEnvelope");// 0.932*CLHEP::gram/CLHEP::cm3);
+  const GeoMaterial *alu               = materialManager->getMaterial("std::Aluminium"); //2.7 CLHEP::g/CLHEP::cm3
+  const GeoMaterial* matBoardsEnvelope = materialManager->getMaterial("LAr::BoardsEnvelope");// 0.932*CLHEP::gram/CLHEP::cm3);
 
   ////----------- Building Front-end crates --------------------
   recordIndex = tubeMap["Ped2"];
@@ -238,7 +237,7 @@ void LArGeo::EndcapDMConstruction::create(GeoFullPhysVol* envelope)
   // Build services
   IRDBRecordset_ptr EndcapDMTubes = rdbAccess->getRecordsetPtr("LArEndcapDMTubes",keyLAr.tag(),keyLAr.node());
   if(EndcapDMTubes->size()) {
-    GeoMaterial* matECServices = materialManager->getMaterial("LAr::LArECServices");    
+    const GeoMaterial* matECServices = materialManager->getMaterial("LAr::LArECServices");    
     for(unsigned i(0); i<EndcapDMTubes->size(); ++i) {
       GeoTube* endcapTube = new GeoTube((*EndcapDMTubes)[i]->getDouble("RMIN"),(*EndcapDMTubes)[i]->getDouble("RMAX"),(*EndcapDMTubes)[i]->getDouble("DZ"));
       GeoLogVol* endcapTubeLv = new GeoLogVol((*EndcapDMTubes)[i]->getString("TUBENAME"),endcapTube,matECServices);
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx
index ad74198430dfafaf615ab9f64f8838bcecc9a9ef..727960b3b202b07c0e5a823ef27db523e4adb29b 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "LArGeoEndcap/EndcapPresamplerConstruction.h"
@@ -13,7 +13,6 @@
 #include "GeoModelKernel/GeoNameTag.h"  
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "StoreGate/StoreGateSvc.h"
-#include "StoreGate/DataHandle.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
@@ -68,10 +67,10 @@ GeoFullPhysVol* EndcapPresamplerConstruction::Envelope()
     throw std::runtime_error("Error in EndcapCryostatConstruction, cannot access DetectorStore");
   }
 
-  DataHandle<StoredMaterialManager> materialManager;
+  const StoredMaterialManager* materialManager = nullptr;
   if (StatusCode::SUCCESS != detStore->retrieve(materialManager, std::string("MATERIALS"))) return 0;
 
-  GeoMaterial *LAr  = materialManager->getMaterial("std::LiquidArgon");
+  const GeoMaterial *LAr  = materialManager->getMaterial("std::LiquidArgon");
   if (!LAr) {
     throw std::runtime_error("Error in EndcapCryostatConstruction, std::LiquidArgon is not found.");
   }