diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3cba605b33ce3adcd9ad6a604170521570005156..0aef82debb458e44c3b9bfa1dceb4d2f79548bee 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,7 +25,7 @@ build_image:
     - mkdir build
     - cd build
     - set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
-    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.40; set -e
+    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e
     - cmake ../../calypso
     - make -j 3
   artifacts:
@@ -41,7 +41,7 @@ test_unittest:
     - yum -y install man
     - cd build
     - set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
-    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.40; set -e 
+    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e 
     - set +e && source `find . -name 'setup.sh'`; set -e
     - ctest -j3
   dependencies:
diff --git a/Calorimeter/CaloG4/EcalG4_SD/python/EcalG4_SDToolConfig.py b/Calorimeter/CaloG4/EcalG4_SD/python/EcalG4_SDToolConfig.py
index e679d7fca9c93e9341a87c61685f6bd2d9d00b6c..293f2057dd710cc2edb3f5cd29d049f619a127df 100644
--- a/Calorimeter/CaloG4/EcalG4_SD/python/EcalG4_SDToolConfig.py
+++ b/Calorimeter/CaloG4/EcalG4_SD/python/EcalG4_SDToolConfig.py
@@ -17,5 +17,7 @@ def EcalSensorSDCfg(ConfigFlags, name="EcalSensorSD", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["Ecal::_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell"])
     kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
 
-    # result.merge(acc)
-    return result, EcalSensorSDTool(name, **kwargs)
+    result = ComponentAccumulator()
+    result.setPrivateTools(CompFactory.EcalSensorSDTool(name, **kwargs))
+    return result
+
diff --git a/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh b/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh
index 6bb4b895732639182709dc0d237458704ddeb4fe..64cca5567690c0680a4966b7e64f1d8ea869b1ca 100755
--- a/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh
+++ b/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh
@@ -89,7 +89,7 @@ asetup
 source build/x8*/setup.sh
 #
 # Do this by hand
-# asetup --input="$release_directory/calypso/asetup.faser" Athena,22.0.40
+# asetup --input="$release_directory/calypso/asetup.faser" Athena,22.0.49
 # source "$release_directory/build/x8*/setup.sh"
 #
 #
diff --git a/Generators/FaserCosmicGenerator/README.md b/Generators/FaserCosmicGenerator/README.md
index 512c32c60d6d875dba083a0fc2e5dc34e7dc8499..49199a3cef6173c5f4fed4c41de452ef7713c6ff 100644
--- a/Generators/FaserCosmicGenerator/README.md
+++ b/Generators/FaserCosmicGenerator/README.md
@@ -2,7 +2,7 @@
 
 ## Setup
 
-In Athena 22.0.40, the scipy module is missing from the LCG environment for some reason.
+In Athena 22.0.49, the scipy module is missing from the LCG environment for some reason.
 
 To use the generator, the following command is required after the usual steps to setup the release:
 
diff --git a/Neutrino/NeutrinoG4/EmulsionG4_SD/python/EmulsionG4_SDToolConfig.py b/Neutrino/NeutrinoG4/EmulsionG4_SD/python/EmulsionG4_SDToolConfig.py
index 391e572abaef8cc7df72ec56a692c694aab32d74..e61195b70b006059df083bb30ff93b0bd4769daf 100644
--- a/Neutrino/NeutrinoG4/EmulsionG4_SD/python/EmulsionG4_SDToolConfig.py
+++ b/Neutrino/NeutrinoG4/EmulsionG4_SD/python/EmulsionG4_SDToolConfig.py
@@ -17,5 +17,7 @@ def EmulsionSensorSDCfg(ConfigFlags, name="EmulsionSensorSD", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["Emulsion::FrontFilm", "Emulsion::BackFilm"])
     kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
 
-    # result.merge(acc)
-    return result, EmulsionSensorSDTool(name, **kwargs)
+    result = ComponentAccumulator()
+    result.setPrivateTools(CompFactory.EmulsionSensorSDTool(name, **kwargs))
+    return result
+
diff --git a/README.md b/README.md
index c2900525af586a7660cc4740ce93547fee008dc2..39456152138cd7933396a895d60d5059a59433c9 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ git clone --recursive https://:@gitlab.cern.ch:8443/$USERNAME/calypso.git
 #The next three lines are used to setup the ATLAS release environment
 export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase 
 source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh
-asetup --input=calypso/asetup.faser Athena,22.0.40
+asetup --input=calypso/asetup.faser Athena,22.0.49
 
 #create build directory
 mkdir build
@@ -43,6 +43,4 @@ It can be convenient to alias the "asetup --input=calypso/asetup.faser" to somet
 
 ** `ConfigFlags.GeoModel.FaserVersion = "FASER-TB00"` and `ConfigFlags.IOVDb.GlobalTag = OFLCOND-FASER-TB00` enables the 2021 Test-beam setup.
 
-* The "FaserActsKalmanFilter" package is temporarily disabled.
-
 * The command `lsetup "lcgenv -p LCG_98python3_ATLAS_8 x86_64-centos7-gcc8-opt sqlite"` may be necessary to avoid errors when generating a database
diff --git a/Scintillator/ScintG4/PreshowerG4_SD/python/PreshowerG4_SDToolConfig.py b/Scintillator/ScintG4/PreshowerG4_SD/python/PreshowerG4_SDToolConfig.py
index 96b90c45b32b2b96a801ee724f348004b59cc5a5..8dc2325ffc0a104762b605912b7232cad3f88b40 100644
--- a/Scintillator/ScintG4/PreshowerG4_SD/python/PreshowerG4_SDToolConfig.py
+++ b/Scintillator/ScintG4/PreshowerG4_SD/python/PreshowerG4_SDToolConfig.py
@@ -18,5 +18,7 @@ def PreshowerSensorSDCfg(ConfigFlags, name="PreshowerSensorSD", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["Preshower::Plate"])
     kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
 
-    # result.merge(acc)
-    return result, PreshowerSensorSDTool(name, **kwargs)
+    result = ComponentAccumulator()
+    result.setPrivateTools(CompFactory.PreshowerSensorSDTool(name, **kwargs))
+    return result
+
diff --git a/Scintillator/ScintG4/TriggerG4_SD/python/TriggerG4_SDToolConfig.py b/Scintillator/ScintG4/TriggerG4_SD/python/TriggerG4_SDToolConfig.py
index dae6ba9784424a43377d5fa2d9d321d0befbdd38..2d049e14e2d104ad36b9dfffcd6b5a0a23aa1ff4 100644
--- a/Scintillator/ScintG4/TriggerG4_SD/python/TriggerG4_SDToolConfig.py
+++ b/Scintillator/ScintG4/TriggerG4_SD/python/TriggerG4_SDToolConfig.py
@@ -18,5 +18,7 @@ def TriggerSensorSDCfg(ConfigFlags, name="TriggerSensorSD", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["Trigger::Plate"])
     kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
 
-    # result.merge(acc)
-    return result, TriggerSensorSDTool(name, **kwargs)
+    result = ComponentAccumulator()
+    result.setPrivateTools(CompFactory.TriggerSensorSDTool(name, **kwargs))
+    return result
+
diff --git a/Scintillator/ScintG4/VetoG4_SD/python/VetoG4_SDToolConfig.py b/Scintillator/ScintG4/VetoG4_SD/python/VetoG4_SDToolConfig.py
index ccc50ce9930063c2354d4d6f5d17688295ef9802..95000f8608cacc3b16dd0adf294370cdd80f1207 100644
--- a/Scintillator/ScintG4/VetoG4_SD/python/VetoG4_SDToolConfig.py
+++ b/Scintillator/ScintG4/VetoG4_SD/python/VetoG4_SDToolConfig.py
@@ -18,5 +18,7 @@ def VetoSensorSDCfg(ConfigFlags, name="VetoSensorSD", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["Veto::Plate"])
     kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
 
-    # result.merge(acc)
-    return result, VetoSensorSDTool(name, **kwargs)
+    result = ComponentAccumulator()
+    result.setPrivateTools(CompFactory.VetoSensorSDTool(name, **kwargs))
+    return result
+
diff --git a/Simulation/G4Faser/G4FaserTools/python/G4FaserToolsConfigNew.py b/Simulation/G4Faser/G4FaserTools/python/G4FaserToolsConfigNew.py
index 3520b26d0df3e3bc948c8b69cedf4de6cc5aecb6..f4bb4333d7b62b77b377663d9181e30e64b9f2f8 100644
--- a/Simulation/G4Faser/G4FaserTools/python/G4FaserToolsConfigNew.py
+++ b/Simulation/G4Faser/G4FaserTools/python/G4FaserToolsConfigNew.py
@@ -2,7 +2,6 @@
 from __future__ import print_function
 from AthenaConfiguration.ComponentFactory import CompFactory
 
-
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon import CfgMgr
 SensitiveDetectorMasterTool=CompFactory.SensitiveDetectorMasterTool
@@ -21,103 +20,78 @@ def FastSimulationMasterToolCfg(ConfigFlags, **kwargs):
     result.setPrivateTools(FastSimulationMasterTool(name="FastSimulationMasterTool", **kwargs))
     return result
 
-from EmulsionG4_SD.EmulsionG4_SDToolConfig import EmulsionSensorSDCfg
-from VetoG4_SD.VetoG4_SDToolConfig import VetoSensorSDCfg
-from TriggerG4_SD.TriggerG4_SDToolConfig import TriggerSensorSDCfg
-from PreshowerG4_SD.PreshowerG4_SDToolConfig import PreshowerSensorSDCfg
-from FaserSCT_G4_SD.FaserSCT_G4_SDToolConfig import SctSensorSDCfg
-from EcalG4_SD.EcalG4_SDToolConfig import EcalSensorSDCfg
+def NeutrinoSensitiveDetectorListCfg(ConfigFlags):
+    result = ComponentAccumulator()
+    tools = []
+
+    if ConfigFlags.Detector.EnableEmulsion:
+        from EmulsionG4_SD.EmulsionG4_SDToolConfig import EmulsionSensorSDCfg
+        tools += [ result.popToolsAndMerge(EmulsionSensorSDCfg(ConfigFlags)) ]
+
+    result.setPrivateTools(tools)
+    return result
 
-def generateNeutrinoSensitiveDetectorList(ConfigFlags):
 
+def CaloSensitiveDetectorListCfg(ConfigFlags):
     result = ComponentAccumulator()
-    SensitiveDetectorList=[]
+    tools = []
 
-    if ConfigFlags.Detector.EnableEmulsion:
-        accEmulsion,toolEmulsion = EmulsionSensorSDCfg(ConfigFlags)
-        SensitiveDetectorList += [ toolEmulsion ]
-        result.merge(accEmulsion)
-    
-    return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
+    if ConfigFlags.Detector.EnableEcal:
+        from EcalG4_SD.EcalG4_SDToolConfig import EcalSensorSDCfg
+        tools += [ result.popToolsAndMerge(EcalSensorSDCfg(ConfigFlags)) ]
 
-def generateScintSensitiveDetectorList(ConfigFlags):
+    result.setPrivateTools(tools)
+    return result
 
+def ScintSensitiveDetectorListCfg(ConfigFlags):
     result = ComponentAccumulator()
-    SensitiveDetectorList=[]
+    tools = []
 
     if ConfigFlags.Detector.EnableVeto:
-        accVeto,toolVeto = VetoSensorSDCfg(ConfigFlags)
-        SensitiveDetectorList += [ toolVeto ]
-        result.merge(accVeto)
-    
+        from VetoG4_SD.VetoG4_SDToolConfig import VetoSensorSDCfg
+        tools += [ result.popToolsAndMerge(VetoSensorSDCfg(ConfigFlags)) ]
     if ConfigFlags.Detector.EnableTrigger:
-        accTrigger,toolTrigger = TriggerSensorSDCfg(ConfigFlags)
-        SensitiveDetectorList += [ toolTrigger ]
-        result.merge(accTrigger)
-    
+        from TriggerG4_SD.TriggerG4_SDToolConfig import TriggerSensorSDCfg
+        tools += [ result.popToolsAndMerge(TriggerSensorSDCfg(ConfigFlags)) ]
     if ConfigFlags.Detector.EnablePreshower:
-        accPreshower,toolPreshower = PreshowerSensorSDCfg(ConfigFlags)
-        SensitiveDetectorList += [ toolPreshower ]
-        result.merge(accPreshower)
-    
-    return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
+        from PreshowerG4_SD.PreshowerG4_SDToolConfig import PreshowerSensorSDCfg
+        tools += [ result.popToolsAndMerge(PreshowerSensorSDCfg(ConfigFlags)) ]
 
-def generateTrackerSensitiveDetectorList(ConfigFlags):
+    result.setPrivateTools(tools)
+    return result
 
+def TrackerSensitiveDetectorListCfg(ConfigFlags):
     result = ComponentAccumulator()
-    SensitiveDetectorList=[]
+    tools = []
 
     if ConfigFlags.Detector.EnableFaserSCT:
-        accSCT,toolSCT = SctSensorSDCfg(ConfigFlags)
-        SensitiveDetectorList += [ toolSCT ]
-        result.merge(accSCT)
-        
-    return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
-
-def generateCaloSensitiveDetectorList(ConfigFlags):
+        from FaserSCT_G4_SD.FaserSCT_G4_SDToolConfig import SctSensorSDCfg
+        tools += [ result.popToolsAndMerge(SctSensorSDCfg(ConfigFlags)) ]
 
-    result = ComponentAccumulator()
-    SensitiveDetectorList=[]
-
-    if ConfigFlags.Detector.EnableEcal:
-        accEcal,toolEcal = EcalSensorSDCfg(ConfigFlags)
-        SensitiveDetectorList += [ toolEcal ]
-        result.merge(accEcal)
-    
-    return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
+    result.setPrivateTools(tools)
+    return result
 
-def generateSensitiveDetectorList(ConfigFlags):
+def SensitiveDetectorListCfg(ConfigFlags):
     result = ComponentAccumulator()
-    SensitiveDetectorList=[]
-    # SensitiveDetectorList += generateEnvelopeSensitiveDetectorList(ConfigFlags) # to update
-
-    acc_NeutrinoSensitiveDetector, NeutrinoSensitiveDetectorList = generateNeutrinoSensitiveDetectorList(ConfigFlags)
-    SensitiveDetectorList += NeutrinoSensitiveDetectorList
+    tools = []
 
-    acc_ScintSensitiveDetector, ScintSensitiveDetectorList = generateScintSensitiveDetectorList(ConfigFlags)
-    SensitiveDetectorList += ScintSensitiveDetectorList
+    tools += result.popToolsAndMerge(CaloSensitiveDetectorListCfg(ConfigFlags))
+    tools += result.popToolsAndMerge(ScintSensitiveDetectorListCfg(ConfigFlags))
+    tools += result.popToolsAndMerge(TrackerSensitiveDetectorListCfg(ConfigFlags))
+    tools += result.popToolsAndMerge(NeutrinoSensitiveDetectorListCfg(ConfigFlags))
 
-    acc_TrackerSensitiveDetector, TrackerSensitiveDetectorList = generateTrackerSensitiveDetectorList(ConfigFlags)
-    SensitiveDetectorList += TrackerSensitiveDetectorList
-
-    acc_CaloSensitiveDetector, CaloSensitiveDetectorList = generateCaloSensitiveDetectorList(ConfigFlags)
-    SensitiveDetectorList += CaloSensitiveDetectorList
-
-    result.merge(acc_NeutrinoSensitiveDetector)
-    result.merge(acc_ScintSensitiveDetector)
-    result.merge(acc_TrackerSensitiveDetector)
-    result.merge(acc_CaloSensitiveDetector)
-
-    result.setPrivateTools(SensitiveDetectorList)
+    result.setPrivateTools(tools)
     return result
 
 def SensitiveDetectorMasterToolCfg(ConfigFlags, name="SensitiveDetectorMasterTool", **kwargs):
     result = ComponentAccumulator()
-    accSensitiveDetector = generateSensitiveDetectorList(ConfigFlags)
-    kwargs.setdefault("SensitiveDetectors", result.popToolsAndMerge(accSensitiveDetector)) #list of tools
+    kwargs.setdefault("SensitiveDetectors", result.popToolsAndMerge(SensitiveDetectorListCfg(ConfigFlags)))
 
-    result.setPrivateTools(SensitiveDetectorMasterTool(name, **kwargs)) #note -this is still a public tool
+    result.setPrivateTools(CompFactory.SensitiveDetectorMasterTool(name, **kwargs))
     return result
 
 def getEmptySensitiveDetectorMasterTool(name="EmptySensitiveDetectorMasterTool", **kwargs):
-    return CfgMgr.SensitiveDetectorMasterTool(name, **kwargs)
+    result = ComponentAccumulator()
+    tool = result.popToolsAndMerge(CompFactory.SensitiveDetectorMasterTool(name, **kwargs))
+    result.setPrivateTools(tool)
+    return result
diff --git a/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py b/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py
index 992cfbe4fe506841adbbaa052540dc50168f1155..064cde911986868ace4708e37374a17e20a6de16 100644
--- a/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py
+++ b/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py
@@ -1,4 +1,5 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+from __future__ import print_function
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaConfiguration.ComponentFactory import CompFactory
@@ -11,6 +12,8 @@ from G4FaserTools.G4PhysicsRegionConfigNew import NeutrinoPhysicsRegionToolCfg,
 #the field config tools
 from G4FaserTools.G4FieldConfigNew import FASERFieldManagerToolCfg, EmulsionFieldManagerToolCfg, VetoFieldManagerToolCfg, TriggerFieldManagerToolCfg, PreshowerFieldManagerToolCfg, TrackerFieldManagerToolCfg, DipoleFieldManagerToolCfg, EcalFieldManagerToolCfg
 
+from G4FaserTools.G4FaserToolsConfigNew import SensitiveDetectorMasterToolCfg
+
 GeoDetectorTool=CompFactory.GeoDetectorTool
 from EmulsionGeoModel.EmulsionGeoModelConfig import EmulsionGeometryCfg
 from VetoGeoModel.VetoGeoModelConfig import VetoGeometryCfg
@@ -20,7 +23,7 @@ from FaserSCT_GeoModel.FaserSCT_GeoModelConfig import FaserSCT_GeometryCfg
 from DipoleGeoModel.DipoleGeoModelConfig import DipoleGeometryCfg
 from EcalGeoModel.EcalGeoModelConfig import EcalGeometryCfg
 
-BoxEnvelope, MaterialDescriptionTool, SmartlessnessTool, G4AtlasDetectorConstructionTool = CompFactory.getComps("BoxEnvelope", "MaterialDescriptionTool", "SmartlessnessTool", "G4AtlasDetectorConstructionTool",)
+BoxEnvelope, MaterialDescriptionTool, VoxelDensityTool, G4AtlasDetectorConstructionTool = CompFactory.getComps("BoxEnvelope", "MaterialDescriptionTool", "VoxelDensityTool", "G4AtlasDetectorConstructionTool",)
 
 from AthenaCommon.SystemOfUnits import mm
 
@@ -163,10 +166,20 @@ def MaterialDescriptionToolCfg(ConfigFlags, name="MaterialDescriptionTool", **kw
     return result
 
 
-def SmartlessnessToolCfg(ConfigFlags, name="SmartlessnessTool", **kwargs):
+def VoxelDensityToolCfg(ConfigFlags, name="VoxelDensityTool", **kwargs):
     ## kwargs.setdefault("SomeProperty", aValue)
+    voxelDensitySettings = {}
+    # if ConfigFlags.Detector.GeometryITkPixel:
+    #     voxelDensitySettings["ITkPixelDetector"] = 0.05
+    # if ConfigFlags.Detector.GeometryITkStrip:
+    #     voxelDensitySettings["ITkStrip::Barrel"] = 0.05
+    #     voxelDensitySettings["ITkStrip::ITkStrip_Forward"] = 0.05
+    #     ##The below is only needed temporarily, while we wait for
+    #     ##improved naming to be propagated to all necessary geo tags
+    #     voxelDensitySettings["ITkStrip::SCT_Forward"] = 0.05
+    kwargs.setdefault("VolumeVoxellDensityLevel",voxelDensitySettings)
     result = ComponentAccumulator()
-    result.setPrivateTools(SmartlessnessTool(name, **kwargs))
+    result.setPrivateTools(VoxelDensityTool(name, **kwargs))
     return result
 
 def getFASER_RegionCreatorList(ConfigFlags):
@@ -238,7 +251,7 @@ def getGeometryConfigurationTools(ConfigFlags):
     # package containing each tool, so G4FaserTools in this case
     result =ComponentAccumulator()
     geoConfigToolList += [result.popToolsAndMerge(MaterialDescriptionToolCfg(ConfigFlags))]
-    geoConfigToolList += [result.popToolsAndMerge(SmartlessnessToolCfg(ConfigFlags))]
+    geoConfigToolList += [result.popToolsAndMerge(VoxelDensityToolCfg(ConfigFlags))]
     return result, geoConfigToolList
 
 
@@ -251,7 +264,9 @@ def G4AtlasDetectorConstructionToolCfg(ConfigFlags, name="G4FaserDetectorConstru
     kwargs.setdefault("GeometryConfigurationTools", listOfGeoConfTools)
 
     # Getting this tool by name works, but not if you use getSensitiveDetectorMasterTool()
-    kwargs.setdefault('SenDetMasterTool', "SensitiveDetectorMasterTool" )
+    tool = result.popToolsAndMerge(SensitiveDetectorMasterToolCfg(ConfigFlags))
+    result.addPublicTool(tool)
+    kwargs.setdefault("SenDetMasterTool", result.getPublicTool(tool.name))
 
     toolGeo = result.popToolsAndMerge(FASEREnvelopeCfg(ConfigFlags))
     kwargs.setdefault("World", toolGeo)
diff --git a/Tracker/TrackerG4/FaserSCT_G4_SD/python/FaserSCT_G4_SDToolConfig.py b/Tracker/TrackerG4/FaserSCT_G4_SD/python/FaserSCT_G4_SDToolConfig.py
index eb4fb53749d2a8e01bfd52992421322e91115cbd..1e4fa355daf2e1a9c381b80aa5a2ad8002dbc881 100644
--- a/Tracker/TrackerG4/FaserSCT_G4_SD/python/FaserSCT_G4_SDToolConfig.py
+++ b/Tracker/TrackerG4/FaserSCT_G4_SD/python/FaserSCT_G4_SDToolConfig.py
@@ -18,5 +18,7 @@ def SctSensorSDCfg(ConfigFlags, name="SctSensorSD", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["SCT::BRLSensor"])
     kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
 
-    # result.merge(acc)
-    return result, FaserSctSensorSDTool(name, **kwargs)
+    result = ComponentAccumulator()
+    result.setPrivateTools(CompFactory.FaserSctSensorSDTool(name, **kwargs))
+    return result
+
diff --git a/Tracking/Acts/ActsInterop/CMakeLists.txt b/Tracking/Acts/ActsInterop/CMakeLists.txt.disabled
similarity index 100%
rename from Tracking/Acts/ActsInterop/CMakeLists.txt
rename to Tracking/Acts/ActsInterop/CMakeLists.txt.disabled
diff --git a/Tracking/Acts/FaserActsGeometry/CMakeLists.txt b/Tracking/Acts/FaserActsGeometry/CMakeLists.txt.disabled
similarity index 100%
rename from Tracking/Acts/FaserActsGeometry/CMakeLists.txt
rename to Tracking/Acts/FaserActsGeometry/CMakeLists.txt.disabled
diff --git a/Tracking/Acts/FaserActsGeometryInterfaces/CMakeLists.txt b/Tracking/Acts/FaserActsGeometryInterfaces/CMakeLists.txt.disabled
similarity index 100%
rename from Tracking/Acts/FaserActsGeometryInterfaces/CMakeLists.txt
rename to Tracking/Acts/FaserActsGeometryInterfaces/CMakeLists.txt.disabled
diff --git a/Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt b/Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt.disabled
similarity index 100%
rename from Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt
rename to Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt.disabled
diff --git a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/VTI12TrackSystems/TrackHandleBase.h b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/VTI12TrackSystems/TrackHandleBase.h
index af1985583ddd4ead227901aca0586270e8b20c83..0dcde264b470b19dc82f306d4eacb3b5542f98af 100644
--- a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/VTI12TrackSystems/TrackHandleBase.h
+++ b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/VTI12TrackSystems/TrackHandleBase.h
@@ -29,6 +29,7 @@
 #include <QTreeWidgetItem>
 #include <vector>
 #include <set>
+#include <optional>
 #include <QList>
 #include <QFlags>
 
diff --git a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackPropagationHelper.cxx b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackPropagationHelper.cxx
index f5545c729ec9007f9f2823ec2f5e968ceac35b17..49444e861d8ffa69c07a6b6857447cb4e93b8c9b 100644
--- a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackPropagationHelper.cxx
+++ b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackPropagationHelper.cxx
@@ -303,7 +303,9 @@ bool TrackPropagationHelper::makePointsCharged( std::vector<Amg::Vector3D >& poi
     //get individual surfaces
 
     //TODO - optimise this!
-    const std::vector< const Trk::Surface * > * bsurfs = volume->volumeBounds ().decomposeToSurfaces (volume->transform ());
+    const std::vector<const Trk::Surface*>* bsurfs =
+      const_cast<Trk::VolumeBounds&>(volume->volumeBounds())
+        .decomposeToSurfaces(volume->transform());
 
     if (bsurfs){
       messageVerbose("Has this many surfaces:"+str(bsurfs->size()));
diff --git a/version.txt b/version.txt
index cdbc15874e55b47fb45012cbf75daefe3196299b..140125644054770fe54c322164c33e7cd9395b79 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-22.0.40
+22.0.49