diff --git a/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql b/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql
index edd02d7b67c730dfc55387e0123d9b53d858fa96..f3b35ef0ca4872ff1a12dab3ceb0a548e80af9d2 100644
--- a/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql
+++ b/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql
@@ -235,6 +235,21 @@ CREATE TABLE IF NOT EXISTS "VETOPLATEGENERAL_DATA2TAG" (
 	"VETOPLATEGENERAL_DATA_ID" SLONGLONG
 );
 --
+DROP TABLE IF EXISTS "VETORADIATORGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "VETORADIATORGENERAL_DATA" (
+	"VETORADIATORGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"WIDTH" DOUBLE,
+	"LENGTH" DOUBLE,
+	"THICKNESS" DOUBLE,
+	"MATERIAL" TEXT
+);
+--
+DROP TABLE IF EXISTS "VETORADIATORGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "VETORADIATORGENERAL_DATA2TAG" (
+	"VETORADIATORGENERAL_TAG_ID" SLONGLONG,
+	"VETORADIATORGENERAL_DATA_ID" SLONGLONG
+);
+--
 -- Tables for describing Trigger scintillator plates (and passive radiators)
 --
 DROP TABLE IF EXISTS "TRIGGERTOPLEVEL_DATA";
@@ -326,6 +341,7 @@ CREATE TABLE IF NOT EXISTS "PRESHOWERSTATIONGENERAL_DATA2TAG" (
 	"PRESHOWERSTATIONGENERAL_TAG_ID" SLONGLONG,
 	"PRESHOWERSTATIONGENERAL_DATA_ID" SLONGLONG
 );
+--
 DROP TABLE IF EXISTS "PRESHOWERPLATEGENERAL_DATA";
 CREATE TABLE IF NOT EXISTS "PRESHOWERPLATEGENERAL_DATA" (
 	"PRESHOWERPLATEGENERAL_DATA_ID" SLONGLONG UNIQUE,
@@ -342,6 +358,40 @@ CREATE TABLE IF NOT EXISTS "PRESHOWERPLATEGENERAL_DATA2TAG" (
 	"PRESHOWERPLATEGENERAL_DATA_ID" SLONGLONG
 );
 --
+-- The Preshower radiators
+--
+DROP TABLE IF EXISTS "PRESHOWERRADIATORGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "PRESHOWERRADIATORGENERAL_DATA" (
+	"PRESHOWERRADIATORGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"WIDTH" DOUBLE,
+	"LENGTH" DOUBLE,
+	"THICKNESS" DOUBLE,
+	"MATERIAL" TEXT
+);
+--
+DROP TABLE IF EXISTS "PRESHOWERRADIATORGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "PRESHOWERRADIATORGENERAL_DATA2TAG" (
+	"PRESHOWERRADIATORGENERAL_TAG_ID" SLONGLONG,
+	"PRESHOWERRADIATORGENERAL_DATA_ID" SLONGLONG
+);
+--
+-- The Preshower absorbers
+--
+DROP TABLE IF EXISTS "PRESHOWERABSORBERGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "PRESHOWERABSORBERGENERAL_DATA" (
+	"PRESHOWERABSORBERGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"WIDTH" DOUBLE,
+	"LENGTH" DOUBLE,
+	"THICKNESS" DOUBLE,
+	"MATERIAL" TEXT
+);
+--
+DROP TABLE IF EXISTS "PRESHOWERABSORBERGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "PRESHOWERABSORBERGENERAL_DATA2TAG" (
+	"PRESHOWERABSORBERGENERAL_TAG_ID" SLONGLONG,
+	"PRESHOWERABSORBERGENERAL_DATA_ID" SLONGLONG
+);
+--
 -- Ecal top level tables
 --
 DROP TABLE IF EXISTS "ECALTOPLEVEL_DATA";
@@ -662,6 +712,7 @@ INSERT INTO "HVS_NODE" VALUES (210,  "VetoTopLevel", 21, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (211,  "VetoStationGeneral", 21, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (212,  "VetoPlateGeneral", 21, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (214,  "VetoSwitches", 21, 0, NULL );
+INSERT INTO "HVS_NODE" VALUES (215,  "VetoRadiatorGeneral", 21, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (22,   "Trigger", 2, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (220,  "TriggerTopLevel", 22, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (221,  "TriggerStationGeneral", 22, 0, NULL);
@@ -672,6 +723,8 @@ INSERT INTO "HVS_NODE" VALUES (230,  "PreshowerTopLevel", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (231,  "PreshowerStationGeneral", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (232,  "PreshowerPlateGeneral", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (234,  "PreshowerSwitches", 23, 0, NULL );
+INSERT INTO "HVS_NODE" VALUES (235,  "PreshowerRadiatorGeneral", 23, 0, NULL);
+INSERT INTO "HVS_NODE" VALUES (236,  "PreshowerAbsorberGeneral", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (3,    "Tracker", 0, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (3003, "TrackerMaterials", 3, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (3004, "TrackerMatComponents", 3, 0, NULL);
@@ -770,6 +823,7 @@ INSERT INTO "HVS_TAG2NODE" VALUES (211,  "VetoStationGeneral-00", 100010, NULL,
 INSERT INTO "HVS_TAG2NODE" VALUES (212,  "VetoPlateGeneral-00", 100025, NULL, 0, 0, 1567209600000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (211,  "VetoStationGeneral-01", 100049, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (212,  "VetoPlateGeneral-01", 100050, NULL, 0, 0, 1590796800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (215,  "VetoRadiatorGeneral-00", 107810, NULL, 0, 0, 1627776000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (220,  "TriggerTopLevel-00", 110009, NULL, 0, 0, 1581292800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (220,  "TriggerTopLevel-01", 100047, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (220,  "TriggerTopLevel-02", 107799, NULL, 0, 0, 1619222400000000000, NULL, 22);
@@ -782,6 +836,8 @@ INSERT INTO "HVS_TAG2NODE" VALUES (230,  "PreshowerTopLevel-02", 107800, NULL, 0
 INSERT INTO "HVS_TAG2NODE" VALUES (231,  "PreshowerStationGeneral-00", 120010, NULL, 0, 0, 1581292800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (231,  "PreshowerStationGeneral-01", 100052, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (232,  "PreshowerPlateGeneral-00", 120025, NULL, 0, 0, 1581292800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (235,  "PreshowerRadatorGeneral-00", 107808, NULL, 0, 0, 1627776000000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (236,  "PreshowerAbsorberGeneral-00", 107809, NULL, 0, 0, 1627776000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (1003, "NeutrinoMaterials-00", 100032, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (1004, "NeutrinoMatComponents-00", 100033, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2003, "ScintMaterials-00", 100011, NULL, 0, 0, 1549238400000000000, NULL, 22);
@@ -1003,12 +1059,15 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "EcalSwitches",       "EcalSwitch
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoTopLevel",       "VetoTopLevel-00",         100009);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoStationGeneral", "VetoStationGeneral-00",   100010);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoPlateGeneral",   "VetoPlateGeneral-00",     100025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "TriggerTopLevel",       "TriggerTopLevel-00",         110009);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "TriggerStationGeneral", "TriggerStationGeneral-00",   110010);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "PreshowerTopLevel",     "PreshowerTopLevel-00",         120009);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "PreshowerStationGeneral", "PreshowerStationGeneral-00",   120010);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-00",     107808);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "ScintMaterials",     "ScintMaterials-00",       100011);
@@ -1063,12 +1122,15 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "EcalSwitches",       "EcalSwitch
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoTopLevel",       "VetoTopLevel-01",         100046);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "TriggerTopLevel",       "TriggerTopLevel-01",         100047);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "PreshowerTopLevel",     "PreshowerTopLevel-01",         100048);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-00",     107808);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "ScintMaterials",     "ScintMaterials-00",       100011);
@@ -1123,12 +1185,15 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "EcalSwitches",       "EcalSwitch
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoTopLevel",       "VetoTopLevel-01",         100046);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "TriggerTopLevel",       "TriggerTopLevel-01",         100047);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "PreshowerTopLevel",     "PreshowerTopLevel-01",         100048);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-00",     107808);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "ScintMaterials",     "ScintMaterials-00",       100011);
@@ -1180,12 +1245,15 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "EcalSwitches",       "EcalSwitch
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoTopLevel",       "VetoTopLevel-02",         107798);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "TriggerTopLevel",       "TriggerTopLevel-02",         107799);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "PreshowerTopLevel",     "PreshowerTopLevel-02",         107800);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-00",     107808);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "ScintMaterials",     "ScintMaterials-00",       100011);
@@ -1244,12 +1312,15 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "EcalSwitches",       "EcalSwit
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoTopLevel",       "VetoTopLevel-02",         107798);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "TriggerTopLevel",       "TriggerTopLevel-02",         107799);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "PreshowerTopLevel",     "PreshowerTopLevel-02",         107800);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-00",     107808);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "ScintMaterials",     "ScintMaterials-00",       100011);
@@ -1868,6 +1939,7 @@ INSERT INTO "VETOTOPLEVEL_DATA" VALUES (5, 0.0, 0.0,  100.0, 0.0, 0.0, 0.0, 321,
 INSERT INTO "VETOTOPLEVEL_DATA" VALUES (6, 0.0, 0.0, -1694.65, 0.0, 0.0, 0.0, 321, "Veto");
 INSERT INTO "VETOTOPLEVEL_DATA" VALUES (7, 0.0, 0.0, -85.0, 0.0, 0.0, 2.6, 321, "StationA");
 INSERT INTO "VETOTOPLEVEL_DATA" VALUES (8, 0.0, 0.0,  85.0, 0.0, 0.0,-2.6, 321, "StationB");
+INSERT INTO "VETOTOPLEVEL_DATA" VALUES (9, 0.0, 0.0,  0.0, 0.0, 0.0, 0.0, 321, "Radiator");
 INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (100009, 0);
 INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (100009, 1);
 INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (100009, 2);
@@ -1877,6 +1949,7 @@ INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (100046, 5);
 INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (107798, 6);
 INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (107798, 7);
 INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (107798, 8);
+INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (107798, 9);
 --
 --
 INSERT INTO "VETOSTATIONGENERAL_DATA" VALUES (0, 2, 100.0);
@@ -1889,6 +1962,9 @@ INSERT INTO "VETOPLATEGENERAL_DATA" VALUES (1, 1, 300.0, 300.0, 19.5, "scint::Sc
 INSERT INTO "VETOPLATEGENERAL_DATA2TAG" VALUES (100025, 0);
 INSERT INTO "VETOPLATEGENERAL_DATA2TAG" VALUES (100050, 1);
 --
+INSERT INTO "VETORADIATORGENERAL_DATA" VALUES (0, 400.0, 350.0, 100.0, "std::Lead");
+INSERT INTO "VETORADIATORGENERAL_DATA2TAG" VALUES (107810, 0);
+--
 --
 INSERT INTO "TRIGGERTOPLEVEL_DATA" VALUES (0, 0.0, 0.0, 187.0, 0.0, 0.0, 0.0, 321, "Trigger");
 INSERT INTO "TRIGGERTOPLEVEL_DATA" VALUES (1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 321, "StationA");
@@ -1914,7 +1990,8 @@ INSERT INTO "TRIGGERPLATEGENERAL_DATA2TAG" VALUES (110025, 0);
 INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (0, 0.0, 0.0, 2626.0, 0.0, 0.0, 0.0, 321, "Preshower");
 INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 321, "StationA");
 INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (2, 0.0, 0.0, 2662.7, 0.0, 0.0, 0.0, 321, "Preshower");
-INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (3, 0.0, 0.0, 2662.35, 0.0, 0.0, 0.0, 321, "Preshower");
+--INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (3, 0.0, 0.0, 2662.35, 0.0, 0.0, 0.0, 321, "Preshower");
+INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (3, 0.0, 0.0, 2618.35, 0.0, 0.0, 0.0, 321, "Preshower");
 INSERT INTO "PRESHOWERTOPLEVEL_DATA2TAG" VALUES (120009, 0);
 INSERT INTO "PRESHOWERTOPLEVEL_DATA2TAG" VALUES (120009, 1);
 INSERT INTO "PRESHOWERTOPLEVEL_DATA2TAG" VALUES (100048, 1);
@@ -1931,6 +2008,12 @@ INSERT INTO "PRESHOWERSTATIONGENERAL_DATA2TAG" VALUES (100052, 1);
 INSERT INTO "PRESHOWERPLATEGENERAL_DATA" VALUES (0, 1, 300.0, 300.0, 20.0, "scint::Scintillator");
 INSERT INTO "PRESHOWERPLATEGENERAL_DATA2TAG" VALUES (120025, 0);
 --
+INSERT INTO "PRESHOWERRADIATORGENERAL_DATA" VALUES (0, 300.0, 300.0, 3.0, "std::Wolfram");
+INSERT INTO "PRESHOWERRADIATORGENERAL_DATA2TAG" VALUES (107808, 0);
+--
+INSERT INTO "PRESHOWERABSORBERGENERAL_DATA" VALUES (0, 300.0, 300.0, 50.0, "scint::Graphite");
+INSERT INTO "PRESHOWERABSORBERGENERAL_DATA2TAG" VALUES (107809, 0);
+--
 --
 INSERT INTO "ECALTOPLEVEL_DATA" VALUES (0, 0.0,   0.0, 3099.2, 0.0, 0.0, 0.0, 321, "Ecal");
 INSERT INTO "ECALTOPLEVEL_DATA" VALUES (1, 0.0, -71.6,    0.0, 0.0, 2.8, 0.0, 321, "BottomRow");
@@ -1949,13 +2032,17 @@ INSERT INTO "ECALROWGENERAL_DATA2TAG" VALUES (100059, 0);
 --
 --
 INSERT INTO "SCINTMATERIALS_DATA" VALUES (0, "Scintillator", 1.032);
+INSERT INTO "SCINTMATERIALS_DATA" VALUES (1, "Graphite", 1.8);
 INSERT INTO "SCINTMATERIALS_DATA2TAG" VALUES (100011, 0);
+INSERT INTO "SCINTMATERIALS_DATA2TAG" VALUES (100011, 1);
 --
 --
 INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (0, 0, "Carbon", 0.475);
 INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (1, 0, "Hydrogen", 0.525);
+INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (2, 1, "Carbon", 1.0);
 INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (100012, 0);
 INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (100012, 1);
+INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (100012, 2);
 --
 --
 INSERT INTO "FASERCOMMON_DATA" VALUES (0, "RUN3", "TRACKER", "NONE");
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerAbsorberParameters.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerAbsorberParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..f1d515e0ad3cabd93796f1f3f2426d34a9a0d289
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerAbsorberParameters.cxx
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PreshowerAbsorberParameters.h"
+#include "PreshowerGeometryManager.h"
+
+#include "PreshowerDataBase.h"
+
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
+#include <cmath>
+
+
+PreshowerAbsorberParameters::PreshowerAbsorberParameters(PreshowerDataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+//
+// Absorber General
+//
+double 
+PreshowerAbsorberParameters::absorberWidth() const
+{
+  return m_rdb->absorberGeneral()->getDouble("WIDTH") * Gaudi::Units::mm; 
+}
+
+double 
+PreshowerAbsorberParameters::absorberLength() const
+{
+  return m_rdb->absorberGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
+}
+
+double 
+PreshowerAbsorberParameters::absorberThickness() const
+{
+  return m_rdb->absorberGeneral()->getDouble("THICKNESS") * Gaudi::Units::mm; 
+}
+
+std::string PreshowerAbsorberParameters::absorberMaterial() const
+{
+  return m_rdb->absorberGeneral()->getString("MATERIAL");
+}
+
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerAbsorberParameters.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerAbsorberParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..1d2bafd3d501d26bba2cca36a0b25e6c8b969057
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerAbsorberParameters.h
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef PreshowerGeoModel_PreshowerAbsorberParameters_H
+#define PreshowerGeoModel_PreshowerAbsorberParameters_H
+
+#include <string>
+
+class PreshowerDataBase;
+
+class PreshowerAbsorberParameters {
+
+public:
+
+  // Constructor 
+  PreshowerAbsorberParameters(PreshowerDataBase* rdb);
+
+  // General
+  double absorberThickness() const;
+  double absorberWidth() const;
+  double absorberLength() const;
+  std::string absorberMaterial() const;
+
+ private:
+  PreshowerDataBase * m_rdb;
+
+};
+
+
+#endif // PreshowerGeoModel_PreshowerAbsorberParameters_H
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx
index e45e3051cf883674f2216a86579ebdf2856aaa41..422c40ab4347b2669792d43994e0cc7dbc2c90c6 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx
@@ -77,6 +77,12 @@ PreshowerDataBase::PreshowerDataBase(const PreshowerGeoModelAthenaComps * athena
   m_plateGeneral = rdbSvc->getRecordsetPtr("PreshowerPlateGeneral", versionTag, versionNode, "FASERDD");
   msg(MSG::DEBUG) << "Table PreshowerPlateGeneral Fetched" << endmsg;
 
+  m_radiatorGeneral = rdbSvc->getRecordsetPtr("PreshowerRadiatorGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table PreshowerRadiatorGeneral Fetched" << endmsg;
+
+  m_absorberGeneral = rdbSvc->getRecordsetPtr("PreshowerAbsorberGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table PreshowerAbsorberGeneral Fetched" << endmsg;
+
 }
 
 const PreshowerGeoModelAthenaComps* PreshowerDataBase::athenaComps() const { return m_athenaComps; }
@@ -93,6 +99,8 @@ IRDBRecordset_ptr PreshowerDataBase::topLevelTable() const {return m_topLevel;}
 
 const IRDBRecord* PreshowerDataBase::stationGeneral() const {return (*m_stationGeneral)[0];}
 const IRDBRecord* PreshowerDataBase::plateGeneral() const {return (*m_plateGeneral)[0];}
+const IRDBRecord* PreshowerDataBase::radiatorGeneral() const {return (*m_radiatorGeneral)[0];}
+const IRDBRecord* PreshowerDataBase::absorberGeneral() const {return (*m_absorberGeneral)[0];}
 
 const std::string & PreshowerDataBase::versionTag() const {
   return m_preshowerVersionTag;
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h
index 7021191a20b434a95dfe66606c742ba9258e5f52..ef6e4acbbe74446a4dd3035ea2bb0242d9de1e17 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h
@@ -28,6 +28,8 @@ public:
 
   const IRDBRecord* stationGeneral() const;
   const IRDBRecord* plateGeneral() const;
+  const IRDBRecord* radiatorGeneral() const;
+  const IRDBRecord* absorberGeneral() const;
 
   // Return the Preshower version tag.
   const std::string & versionTag() const;
@@ -52,6 +54,8 @@ private:
 
   IRDBRecordset_ptr m_stationGeneral;
   IRDBRecordset_ptr m_plateGeneral;
+  IRDBRecordset_ptr m_radiatorGeneral;
+  IRDBRecordset_ptr m_absorberGeneral;
 
 
 };
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx
index 6be4e0d11075d22a7f89c8bbb2421c47247ca47f..f635cf293ba2abcc77a39d63f58ada3fff845272 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx
@@ -9,6 +9,8 @@
 #include "ScintReadoutGeometry/ScintCommonItems.h"
 #include "PreshowerStationParameters.h"
 #include "PreshowerPlateParameters.h"
+#include "PreshowerRadiatorParameters.h"
+#include "PreshowerAbsorberParameters.h"
 #include "PreshowerDataBase.h"
 #include "PreshowerGeneralParameters.h"
 #include "PreshowerGeoModel/PreshowerGeoModelAthenaComps.h"
@@ -22,6 +24,8 @@ PreshowerGeometryManager::PreshowerGeometryManager(PreshowerDataBase* rdb)
 
   m_stationParameters = std::make_unique<PreshowerStationParameters>(m_rdb);
   m_plateParameters = std::make_unique<PreshowerPlateParameters>(m_rdb);
+  m_radiatorParameters = std::make_unique<PreshowerRadiatorParameters>(m_rdb);
+  m_absorberParameters = std::make_unique<PreshowerAbsorberParameters>(m_rdb);
   m_generalParameters = std::make_unique<PreshowerGeneralParameters>(m_rdb);
   m_distortedMatManager = std::make_unique<ScintDD::DistortedMaterialManager>();
 }
@@ -73,6 +77,17 @@ PreshowerGeometryManager::plateParameters() const
   return m_plateParameters.get();
 }
 
+const PreshowerRadiatorParameters * 
+PreshowerGeometryManager::radiatorParameters() const
+{    
+  return m_radiatorParameters.get();
+}
+const PreshowerAbsorberParameters * 
+PreshowerGeometryManager::absorberParameters() const
+{    
+  return m_absorberParameters.get();
+}
+
 const PreshowerGeneralParameters * 
 PreshowerGeometryManager::generalParameters() const
 {    
@@ -94,6 +109,8 @@ PreshowerGeometryManager::operator=(const PreshowerGeometryManager& right) {
     m_rdb = right.m_rdb;
     m_stationParameters.reset(new PreshowerStationParameters(m_rdb));
     m_plateParameters.reset(new PreshowerPlateParameters(m_rdb));
+    m_radiatorParameters.reset(new PreshowerRadiatorParameters(m_rdb));
+    m_absorberParameters.reset(new PreshowerAbsorberParameters(m_rdb));
     m_generalParameters.reset(new PreshowerGeneralParameters(m_rdb));
     m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
   }
@@ -107,6 +124,8 @@ PreshowerGeometryManager::PreshowerGeometryManager(const PreshowerGeometryManage
   m_rdb = right.m_rdb;
   m_stationParameters.reset(new PreshowerStationParameters(m_rdb));
   m_plateParameters.reset(new PreshowerPlateParameters(m_rdb));
+  m_radiatorParameters.reset(new PreshowerRadiatorParameters(m_rdb));
+  m_absorberParameters.reset(new PreshowerAbsorberParameters(m_rdb));
   m_generalParameters.reset(new PreshowerGeneralParameters(m_rdb));
   m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
 }
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h
index 4f8336cdda68af6ac37c8d09f2c39f718d751b7f..23d24bde7ac19e6db4de05fea7ee341b18149db8 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h
@@ -16,6 +16,8 @@ namespace ScintDD {
 
 class PreshowerStationParameters;
 class PreshowerPlateParameters;
+class PreshowerRadiatorParameters;
+class PreshowerAbsorberParameters;
 class PreshowerDataBase;
 class PreshowerGeneralParameters;
 class PreshowerGeoModelAthenaComps;
@@ -42,6 +44,8 @@ public:
 
   const PreshowerStationParameters*             stationParameters() const;
   const PreshowerPlateParameters*               plateParameters() const;
+  const PreshowerRadiatorParameters*            radiatorParameters() const;
+  const PreshowerAbsorberParameters*            absorberParameters() const;
   const PreshowerGeneralParameters*             generalParameters() const;
   const ScintDD::DistortedMaterialManager* distortedMatManager() const;
 
@@ -57,6 +61,8 @@ private:
  
   std::unique_ptr<PreshowerStationParameters> m_stationParameters;
   std::unique_ptr<PreshowerPlateParameters> m_plateParameters;
+  std::unique_ptr<PreshowerRadiatorParameters> m_radiatorParameters;
+  std::unique_ptr<PreshowerAbsorberParameters> m_absorberParameters;
   std::unique_ptr<PreshowerGeneralParameters> m_generalParameters;
   std::unique_ptr<ScintDD::DistortedMaterialManager> m_distortedMatManager;
 
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerRadiatorParameters.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerRadiatorParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..b3d95c86f41f05b7897fb7fe95e07cccae43c7f7
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerRadiatorParameters.cxx
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PreshowerRadiatorParameters.h"
+#include "PreshowerGeometryManager.h"
+
+#include "PreshowerDataBase.h"
+
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
+#include <cmath>
+
+
+PreshowerRadiatorParameters::PreshowerRadiatorParameters(PreshowerDataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+//
+// Radiator General
+//
+double 
+PreshowerRadiatorParameters::radiatorWidth() const
+{
+  return m_rdb->radiatorGeneral()->getDouble("WIDTH") * Gaudi::Units::mm; 
+}
+
+double 
+PreshowerRadiatorParameters::radiatorLength() const
+{
+  return m_rdb->radiatorGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
+}
+
+double 
+PreshowerRadiatorParameters::radiatorThickness() const
+{
+  return m_rdb->radiatorGeneral()->getDouble("THICKNESS") * Gaudi::Units::mm; 
+}
+
+std::string PreshowerRadiatorParameters::radiatorMaterial() const
+{
+  return m_rdb->radiatorGeneral()->getString("MATERIAL");
+}
+
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerRadiatorParameters.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerRadiatorParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..68d9ce08ae76376216a35c66da8dcc5b5cc7076a
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerRadiatorParameters.h
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef PreshowerGeoModel_PreshowerRadiatorParameters_H
+#define PreshowerGeoModel_PreshowerRadiatorParameters_H
+
+#include <string>
+
+class PreshowerDataBase;
+
+class PreshowerRadiatorParameters {
+
+public:
+
+  // Constructor 
+  PreshowerRadiatorParameters(PreshowerDataBase* rdb);
+
+  // General
+  double radiatorThickness() const;
+  double radiatorWidth() const;
+  double radiatorLength() const;
+  std::string radiatorMaterial() const;
+
+ private:
+  PreshowerDataBase * m_rdb;
+
+};
+
+
+#endif // PreshowerGeoModel_PreshowerRadiatorParameters_H
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx
index bdd8c5b964fb26c4db91f09764ed1dd98e66721d..a511085e1fda3124716531849a838d773a2cf726 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx
@@ -9,6 +9,8 @@
 #include "PreshowerGeometryManager.h"
 #include "PreshowerStationParameters.h"
 #include "PreshowerGeneralParameters.h"
+#include "PreshowerRadiatorParameters.h"
+#include "PreshowerAbsorberParameters.h"
 #include "PreshowerIdentifier.h"
 #include "PreshowerPlate.h"
 
@@ -55,13 +57,36 @@ PreshowerStation::getParameters()
   const PreshowerGeneralParameters* generalParameters = m_geometryManager->generalParameters();
   m_safety = generalParameters->safety();
 
-  m_width  = m_plate->width() + m_safety;
-  m_length = m_plate->length() + m_safety;
-  // pitch includes thickness of one plate
-  m_thickness = (m_numPlates - 1) * m_platePitch + m_plate->thickness() + m_safety;
-
   // Set numerology
   m_detectorManager->numerology().setNumPlatesPerStation(m_numPlates);
+
+  // Passive radiator information
+  const PreshowerRadiatorParameters* radiatorParameters = m_geometryManager->radiatorParameters();
+  m_radiatorWidth  = radiatorParameters->radiatorWidth();
+  m_radiatorLength = radiatorParameters->radiatorLength();
+  m_radiatorThickness = radiatorParameters->radiatorThickness();
+  m_radiatorMaterial = m_materials->getMaterial(radiatorParameters->radiatorMaterial());
+
+  // Passive absorber information
+  const PreshowerAbsorberParameters* absorberParameters = m_geometryManager->absorberParameters();
+  m_absorberWidth  = absorberParameters->absorberWidth();
+  m_absorberLength = absorberParameters->absorberLength();
+  m_absorberThickness = absorberParameters->absorberThickness();
+  m_absorberMaterial = m_materials->getMaterial(absorberParameters->absorberMaterial());
+
+  // pitch includes thickness of one plate
+  m_width  = std::max(std::max(m_plate->width(), m_radiatorWidth), m_absorberWidth) + m_safety;
+  m_length = std::max(std::max(m_plate->length(), m_radiatorLength), m_absorberLength) + m_safety;
+
+  // Compute air-gaps between slabs; for now assumed equal based on scintillator pitch
+  m_airGap = (m_platePitch - m_plate->thickness() - m_radiatorThickness - m_absorberThickness)/3;
+  if (m_airGap < 0)
+  {
+    m_detectorManager->msg(MSG::FATAL) << "Invalid passive material geometry for preshower; air gap is negative." << endmsg;
+  }
+
+  m_thickness = (m_numPlates - 1) * m_platePitch + m_plate->thickness() + 3 * m_airGap + 2 * m_absorberThickness + m_radiatorThickness + m_safety;
+
 }
 
 const GeoLogVol * 
@@ -71,6 +96,13 @@ PreshowerStation::preBuild()
   // Box envelope containing the station.
   const GeoBox* stationEnvelopeShape = new GeoBox(0.5 * m_width, 0.5 * m_length, 0.5 * m_thickness);
   GeoLogVol* stationLog = new GeoLogVol(getName(), stationEnvelopeShape, m_materials->gasMaterial());
+
+  const GeoBox* radiatorShape = new GeoBox(0.5 * m_radiatorWidth, 0.5 * m_radiatorLength, 0.5 * m_radiatorThickness);
+  m_radiatorLog = new GeoLogVol("PreshowerRadiator", radiatorShape, m_radiatorMaterial);
+
+  const GeoBox* absorberShape = new GeoBox(0.5 * m_absorberWidth, 0.5 * m_absorberLength, 0.5 * m_absorberThickness);
+  m_absorberLog = new GeoLogVol("PreshowerAbsorber", absorberShape, m_absorberMaterial);
+
   return stationLog;
 }
 
@@ -80,21 +112,51 @@ PreshowerStation::build(PreshowerIdentifier id)
 
   GeoFullPhysVol * station = new GeoFullPhysVol(m_logVolume);
 
-  double activeDepth = m_thickness - m_safety;
+  // double activeDepth = m_thickness - m_safety;
   double plateThickness = m_plate->thickness();
   for (int iPlate = 0; iPlate < m_numPlates; iPlate++)
   {
+    station->add(new GeoNameTag("Absorber#"+intToString(iPlate)));
+    double zA = (-m_numPlates/2.0 + iPlate) * m_platePitch;
+    GeoTransform* absorberTransform = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                           0.0,
+                                                                           zA));
+    station->add(absorberTransform);
+    GeoVPhysVol* absorberPV = new GeoPhysVol(m_absorberLog);
+    station->add(absorberPV);
+
+    station->add(new GeoNameTag("Radiator#"+intToString(iPlate)));
+    double zR = zA + m_airGap + (m_absorberThickness + m_radiatorThickness)/2;
+    GeoTransform* radiatorTransform = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                           0.0,
+                                                                           zR));
+    station->add(radiatorTransform);
+    GeoVPhysVol* radiatorPV = new GeoPhysVol(m_radiatorLog);
+    station->add(radiatorPV);
+
     station->add(new GeoNameTag("Plate#"+intToString(iPlate)));
     station->add(new GeoIdentifierTag(iPlate));
     id.setPlate(iPlate);
+    double zP = zR + m_airGap + (plateThickness + m_radiatorThickness)/2;
     GeoAlignableTransform* transform = new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 
                                                                                      0.0,
-                                                                                     (plateThickness - activeDepth)/2 + iPlate * m_platePitch));
+                                                                                     zP));
     station->add(transform);
     GeoVPhysVol* platePV = m_plate->build(id);
     station->add(platePV);
     m_detectorManager->addAlignableTransform(0, id.getPlateId(), transform, platePV);
-  }  
+  }
+
+  // Now add the final downstream absorber after the last plate
+  station->add(new GeoNameTag("Absorber#"+intToString(m_numPlates)));
+  double zA = m_numPlates/2.0 * m_platePitch;
+  GeoTransform* absorberTransform = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                         0.0,
+                                                                         zA));
+  station->add(absorberTransform);
+  GeoVPhysVol* absorberPV = new GeoPhysVol(m_absorberLog);
+  station->add(absorberPV);
+
   return station;
 }
 
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h
index fb4d6f588699db07cb0212bb850d59b1062bee21..e1307290b3ef3c89f26a4453a0515f80780d9fea 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h
@@ -10,6 +10,7 @@
 class GeoVPhysVol;
 class GeoFullPhysVol;
 class GeoLogVol;
+class GeoMaterial;
 class PreshowerIdentifier;
 class PreshowerPlate;
 
@@ -30,7 +31,19 @@ public:
   double thickness()   const {return m_thickness;}
   double width()       const {return m_width;}
   double length()      const {return m_length;}
+
+  double radiatorThickness() const {return m_radiatorThickness;}
+  double radiatorWidth() const {return m_radiatorWidth;}
+  double radiatorLength() const {return m_radiatorLength;}
+  const GeoMaterial* radiatorMaterial() const {return m_radiatorMaterial;}
+  
+  double absorberThickness() const {return m_absorberThickness;}
+  double absorberWidth() const {return m_absorberWidth;}
+  double absorberLength() const {return m_absorberLength;}
+  const GeoMaterial* absorberMaterial() const {return m_absorberMaterial;}
  
+  double airGap() const {return m_airGap;}
+
 private:
   void getParameters();
   virtual const GeoLogVol * preBuild();
@@ -44,6 +57,22 @@ private:
   double      m_width;
   double      m_length;
 
+  double      m_radiatorThickness;
+  double      m_radiatorWidth;
+  double      m_radiatorLength;
+
+  const GeoMaterial* m_radiatorMaterial;
+  const GeoLogVol*   m_radiatorLog;
+
+  double      m_absorberThickness;
+  double      m_absorberWidth;
+  double      m_absorberLength;
+
+  const GeoMaterial* m_absorberMaterial;
+  const GeoLogVol*   m_absorberLog;
+
+  double      m_airGap;
+
   double      m_safety;
 };
 
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx
index 44bb1e086f16685bd9b7ce768d9942a08e9cf334..2ef72a43a9063a8f00c9f74b8eac89f75eb3121c 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx
@@ -77,6 +77,10 @@ VetoDataBase::VetoDataBase(const VetoGeoModelAthenaComps * athenaComps)
   m_plateGeneral = rdbSvc->getRecordsetPtr("VetoPlateGeneral", versionTag, versionNode, "FASERDD");
   msg(MSG::DEBUG) << "Table VetoPlateGeneral Fetched" << endmsg;
 
+  m_radiatorGeneral = rdbSvc->getRecordsetPtr("VetoRadiatorGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table VetoRadiatorGeneral Fetched" << endmsg;
+
+
 }
 
 const VetoGeoModelAthenaComps* VetoDataBase::athenaComps() const { return m_athenaComps; }
@@ -93,6 +97,7 @@ IRDBRecordset_ptr VetoDataBase::topLevelTable() const {return m_topLevel;}
 
 const IRDBRecord* VetoDataBase::stationGeneral() const {return (*m_stationGeneral)[0];}
 const IRDBRecord* VetoDataBase::plateGeneral() const {return (*m_plateGeneral)[0];}
+const IRDBRecord* VetoDataBase::radiatorGeneral() const {return (*m_radiatorGeneral)[0];}
 
 const std::string & VetoDataBase::versionTag() const {
   return m_vetoVersionTag;
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h
index cce56bba95689ae521b73a419d8c72a9fb0552f4..74f2365b22dad7eb92ff5cb4513db45ceb29000f 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h
@@ -41,6 +41,7 @@ public:
 //   const IRDBRecord* brlThermalShield() const;
   const IRDBRecord* stationGeneral() const;
   const IRDBRecord* plateGeneral() const;
+  const IRDBRecord* radiatorGeneral() const;
 //   const IRDBRecord* brlFSI() const;
 //   int brlFSISize() const;
 //   const IRDBRecord* brlFSILocation(int i) const;
@@ -119,6 +120,7 @@ private:
 //   IRDBRecordset_ptr m_brlThermalShield;
   IRDBRecordset_ptr m_stationGeneral;
   IRDBRecordset_ptr m_plateGeneral;
+  IRDBRecordset_ptr m_radiatorGeneral;
 //   IRDBRecordset_ptr m_brlFSI;
 //   IRDBRecordset_ptr m_brlFSILocation;
 //   IRDBRecordset_ptr m_fwdSensor;
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx
index c85ae49d8c24d8c72debd67b90232054f7098749..9d3d9659f6fd590cb053c589e53d8719cce3ebea 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx
@@ -20,6 +20,7 @@
 #include "ScintReadoutGeometry/ScintDetectorDesign.h" 
 
 #include "VetoStation.h"
+#include "VetoRadiator.h"
 #include "VetoPlate.h"
 #include "VetoDataBase.h"
 #include "VetoGeoModel/VetoGeoModelAthenaComps.h"
@@ -149,14 +150,11 @@ void VetoDetectorFactory::create(GeoPhysVol *world)
 
     std::string stationA_Label = "StationA";
     std::string stationB_Label = "StationB";
-    // std::string absorberA_Label = "AbsorberA";
-    // std::string absorberB_Label = "AbsorberB";
+    std::string radiator_Label = "Radiator";
 
     bool stationA_Present = vetoGeneral->partPresent(stationA_Label);
     bool stationB_Present = vetoGeneral->partPresent(stationB_Label);
-    // bool absorberA_Present = vetoGeneral->partPresent(absorberA_Label);
-    // bool absorberB_Present = vetoGeneral->partPresent(absorberB_Label);
-
+    bool radiator_Present = vetoGeneral->partPresent(radiator_Label);
   //
   //  Plate is the same for all stations
   //
@@ -214,6 +212,25 @@ void VetoDetectorFactory::create(GeoPhysVol *world)
     m_detectorManager->addAlignableTransform(1, id.getPlateId(), stationB_Transform, stationB_PV);
   }
 
+  // Passive radiator
+  if (radiator_Present)
+  {
+    msg(MSG::DEBUG) << "Building the Veto Radiator." << endmsg;
+
+    // Create the radiator
+    VetoRadiator radiator("VetoRadiator", m_detectorManager, m_geometryManager, m_materials);
+    GeoAlignableTransform* radiator_Transform = new GeoAlignableTransform(vetoTransform * vetoGeneral->partTransform(radiator_Label));
+
+    GeoNameTag* topLevelNameTag = new GeoNameTag("Veto");
+    scint->add(topLevelNameTag);
+    scint->add(new GeoIdentifierTag(0));
+    scint->add(radiator_Transform);
+    scint->add(radiator.getVolume());
+    m_detectorManager->addTreeTop(radiator.getVolume());
+
+  }
+
+
   // Set the neighbours
   m_detectorManager->initNeighbours();
 
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx
index 1e5757aff9a4f931b45c0e3cc6e0e3330328a8ff..53190a50a7897d448b2ebdea0f108b83d5917765 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx
@@ -9,6 +9,7 @@
 #include "ScintReadoutGeometry/ScintCommonItems.h"
 #include "VetoStationParameters.h"
 #include "VetoPlateParameters.h"
+#include "VetoRadiatorParameters.h"
 #include "VetoDataBase.h"
 #include "VetoGeneralParameters.h"
 #include "VetoGeoModel/VetoGeoModelAthenaComps.h"
@@ -22,6 +23,7 @@ VetoGeometryManager::VetoGeometryManager(VetoDataBase* rdb)
 
   m_stationParameters = std::make_unique<VetoStationParameters>(m_rdb);
   m_plateParameters = std::make_unique<VetoPlateParameters>(m_rdb);
+  m_radiatorParameters = std::make_unique<VetoRadiatorParameters>(m_rdb);
   m_generalParameters = std::make_unique<VetoGeneralParameters>(m_rdb);
   m_distortedMatManager = std::make_unique<ScintDD::DistortedMaterialManager>();
 }
@@ -73,6 +75,13 @@ VetoGeometryManager::plateParameters() const
   return m_plateParameters.get();
 }
 
+const VetoRadiatorParameters * 
+VetoGeometryManager::radiatorParameters() const
+{    
+  return m_radiatorParameters.get();
+}
+
+
 const VetoGeneralParameters * 
 VetoGeometryManager::generalParameters() const
 {    
@@ -94,6 +103,7 @@ VetoGeometryManager::operator=(const VetoGeometryManager& right) {
     m_rdb = right.m_rdb;
     m_stationParameters.reset(new VetoStationParameters(m_rdb));
     m_plateParameters.reset(new VetoPlateParameters(m_rdb));
+    m_radiatorParameters.reset(new VetoRadiatorParameters(m_rdb));
     m_generalParameters.reset(new VetoGeneralParameters(m_rdb));
     m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
   }
@@ -107,6 +117,7 @@ VetoGeometryManager::VetoGeometryManager(const VetoGeometryManager& right) {
   m_rdb = right.m_rdb;
   m_stationParameters.reset(new VetoStationParameters(m_rdb));
   m_plateParameters.reset(new VetoPlateParameters(m_rdb));
+  m_radiatorParameters.reset(new VetoRadiatorParameters(m_rdb));
   m_generalParameters.reset(new VetoGeneralParameters(m_rdb));
   m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
 }
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h
index 8531453e2791b7767e585d0f0bee5e1fe9b89f10..317cfd1442aace6744701381910420dec9172f13 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h
@@ -16,6 +16,7 @@ namespace ScintDD {
 
 class VetoStationParameters;
 class VetoPlateParameters;
+class VetoRadiatorParameters;
 class VetoDataBase;
 class VetoGeneralParameters;
 class VetoGeoModelAthenaComps;
@@ -42,6 +43,7 @@ public:
 
   const VetoStationParameters*             stationParameters() const;
   const VetoPlateParameters*               plateParameters() const;
+  const VetoRadiatorParameters*            radiatorParameters() const;
   const VetoGeneralParameters*             generalParameters() const;
   const ScintDD::DistortedMaterialManager* distortedMatManager() const;
 
@@ -57,6 +59,7 @@ private:
  
   std::unique_ptr<VetoStationParameters> m_stationParameters;
   std::unique_ptr<VetoPlateParameters> m_plateParameters;
+  std::unique_ptr<VetoRadiatorParameters> m_radiatorParameters;
   std::unique_ptr<VetoGeneralParameters> m_generalParameters;
   std::unique_ptr<ScintDD::DistortedMaterialManager> m_distortedMatManager;
 
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiator.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiator.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..74fb3adc6c23bfc463f0bf1bad45deeb29aaa3e5
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiator.cxx
@@ -0,0 +1,55 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "VetoRadiator.h"
+
+#include "VetoMaterialManager.h"
+
+#include "VetoGeometryManager.h"
+#include "VetoGeneralParameters.h"
+#include "VetoRadiatorParameters.h"
+
+#include "GeoModelKernel/GeoBox.h"
+#include "GeoModelKernel/GeoLogVol.h"
+#include "GeoModelKernel/GeoPhysVol.h"
+#include "GeoModelKernel/GeoMaterial.h"
+
+VetoRadiator::VetoRadiator(const std::string & name,
+                            ScintDD::VetoDetectorManager* detectorManager,
+                            const VetoGeometryManager* geometryManager,
+                            VetoMaterialManager* materials)
+  : VetoSharedComponentFactory(name, detectorManager, geometryManager, materials)
+{
+  getParameters();
+  m_physVolume = build();
+}
+
+void
+VetoRadiator::getParameters() 
+{
+  const VetoRadiatorParameters * parameters = m_geometryManager->radiatorParameters();
+  const VetoGeneralParameters* generalParameters = m_geometryManager->generalParameters();
+
+  m_material  = m_materials->getMaterial(parameters->radiatorMaterial());
+  m_safety    = generalParameters->safety();
+  m_thickness = parameters->radiatorThickness();
+  m_width     = parameters->radiatorWidth();
+  m_length    = parameters->radiatorLength();
+}
+
+GeoVPhysVol * 
+VetoRadiator::build()
+{
+  // Just a simple box.
+  const GeoBox * simpleRadiatorShape = new GeoBox(0.5*m_width,
+                                                  0.5*m_length,
+                                                  0.5*m_thickness);
+
+  const GeoLogVol * simpleRadiatorLog = 
+    new GeoLogVol(getName(), simpleRadiatorShape, m_material);
+
+  GeoPhysVol * simpleRadiator = new GeoPhysVol(simpleRadiatorLog);
+
+  return simpleRadiator;
+}
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiator.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiator.h
new file mode 100644
index 0000000000000000000000000000000000000000..20bb6099faa3d2c49d2ae15de81183fd4c95abca
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiator.h
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef VETOGEOMODEL_VETORADIATOR_H
+#define VETOGEOMODEL_VETORADIATOR_H
+
+#include "VetoComponentFactory.h"
+
+class GeoVPhysVol;
+class GeoFullPhysVol;
+class GeoLogVol;
+class GeoMaterial;
+
+class VetoRadiator : public VetoSharedComponentFactory
+{
+
+public:
+  VetoRadiator(const std::string & name,
+               ScintDD::VetoDetectorManager* detectorManager,
+               const VetoGeometryManager* geometryManager,
+               VetoMaterialManager* materials);
+
+public:
+  const GeoMaterial * material() const {return m_material;}
+  double thickness()   const {return m_thickness;}
+  double width()       const {return m_width;}
+  double length()      const {return m_length;}
+ 
+private:
+  virtual GeoVPhysVol * build();
+  void getParameters();
+ 
+  const GeoMaterial * m_material;
+  double      m_thickness;
+  double      m_width;
+  double      m_length;
+
+  double      m_safety;
+};
+
+#endif // VETOGEOMODEL_VETORADIATOR_H
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiatorParameters.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiatorParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..85e1f604cdcfa3939781b2261cf73f0423c20e15
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiatorParameters.cxx
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "VetoRadiatorParameters.h"
+#include "VetoGeometryManager.h"
+
+#include "VetoDataBase.h"
+
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
+#include <cmath>
+
+
+VetoRadiatorParameters::VetoRadiatorParameters(VetoDataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+//
+// Radiator General
+//
+double 
+VetoRadiatorParameters::radiatorWidth() const
+{
+  return m_rdb->radiatorGeneral()->getDouble("WIDTH") * Gaudi::Units::mm; 
+}
+
+double 
+VetoRadiatorParameters::radiatorLength() const
+{
+  return m_rdb->radiatorGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
+}
+
+double 
+VetoRadiatorParameters::radiatorThickness() const
+{
+  return m_rdb->radiatorGeneral()->getDouble("THICKNESS") * Gaudi::Units::mm; 
+}
+
+std::string VetoRadiatorParameters::radiatorMaterial() const
+{
+  return m_rdb->radiatorGeneral()->getString("MATERIAL");
+}
+
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiatorParameters.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiatorParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..83c8bc61bf3210a668a00000776ce361929c7de0
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoRadiatorParameters.h
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef VetoGeoModel_VetoRadiatorParameters_H
+#define VetoGeoModel_VetoRadiatorParameters_H
+
+#include <string>
+
+class VetoDataBase;
+
+class VetoRadiatorParameters {
+
+public:
+
+  // Constructor 
+  VetoRadiatorParameters(VetoDataBase* rdb);
+
+  // Barrel General
+  double radiatorThickness() const;
+  double radiatorWidth() const;
+  double radiatorLength() const;
+  std::string radiatorMaterial() const;
+
+ private:
+  VetoDataBase * m_rdb;
+
+};
+
+
+#endif // VetoGeoModel_VetoRadiatorParameters_H
diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx
index e1df8c9ac21df05d3728942d5bdf0b4f07bbc816..82825c71806f9cddaef0e065a30086fffae4e270 100644
--- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx
+++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx
@@ -160,23 +160,7 @@ DetVisAttributes::DetVisAttributes() {
     material->specularColor.setValue(.915152, .915152, .915152);
     material->shininess.setValue(0.642424);
     add("Veto",material);
-  }
-
-  {
-    SoMaterial *material = new SoMaterial;
-    material->ambientColor.setValue(0, .157811, .187004);
-    material->diffuseColor.setValue(.40, .631244, .748016);
-    material->specularColor.setValue(.915152, .915152, .915152);
-    material->shininess.setValue(0.642424);
     add("Trigger",material);
-  }
-
-  {
-    SoMaterial *material = new SoMaterial;
-    material->ambientColor.setValue(0, .157811, .187004);
-    material->diffuseColor.setValue(1, .8, .7);
-    material->specularColor.setValue(.915152, .915152, .915152);
-    material->shininess.setValue(0.642424);
     add("Preshower",material);
   }
 
@@ -283,14 +267,14 @@ DetVisAttributes::DetVisAttributes() {
     material->shininess.setValue(1.0);
     add("SCT",material);
   }
-    {
+  {
       SoMaterial *material = new SoMaterial;
-      material->ambientColor.setValue(0, .157811, .187004);
-      material->diffuseColor.setValue(1, .5, .5);
+      material->ambientColor.setValue(23, 170, 62);
+      material->diffuseColor.setValue(24, 145, 175);
       material->specularColor.setValue(.915152, .915152, .915152);
-      material->shininess.setValue(0.3);
+      material->shininess.setValue(0.5);
       add("Dipole",material);
-    }
+  }
 
   // {
   //   SoMaterial *material = new SoMaterial;
@@ -507,6 +491,15 @@ MatVisAttributes::MatVisAttributes() {
     add("Stainless",m);
     add("_dd_Materials_Ecal_EcalSteel",m);
   }
+  {
+      SoMaterial *material = new SoMaterial;
+      material->ambientColor.setValue(0.09, 0.67, 0.24);
+      material->diffuseColor.setValue(0.1, 0.57, 0.69);
+      material->specularColor.setValue(.915152, .915152, .915152);
+      material->shininess.setValue(0.4);
+      add("Nd2Fe14B",material);
+  }
+
   {
     // Liquid Argon
     SoMaterial *m = new SoMaterial;