From 0f826de7071535de469b31079507161e4ce5019e Mon Sep 17 00:00:00 2001
From: Eric Torrence <eric.torrence@cern.ch>
Date: Sun, 15 Aug 2021 23:36:51 +0000
Subject: [PATCH] Move Waveform code to its own major area

---
 .../WaveformDataAccessExample/CMakeLists.txt  |  2 +-
 .../python/WaveformDataAccessExampleConfig.py |  4 +-
 ...veformAccess.cxx => RawWaveformAccess.cxx} | 33 +++++++------
 ...ntWaveformAccess.h => RawWaveformAccess.h} | 28 +++++------
 .../components/WaveformDataAccess_entries.cxx |  4 +-
 .../share/jobOptions_faserBSToRDO.py          |  4 +-
 .../python/FaserByteStreamCnvSvcBaseConfig.py | 12 ++---
 .../share/BSAddProvSvc_jobOptions.py          | 10 ++--
 .../ScintByteStream/python/__init__.py        |  1 -
 .../components/ScintByteStream_entries.cxx    |  6 ---
 .../ScintEventAthenaPoolCnvDict.h             | 11 -----
 .../ScintEventAthenaPool/selection.xml        |  4 --
 .../src/ScintWaveformCnv_p0.h                 | 27 -----------
 .../src/ScintWaveformContainerCnv.cxx         | 42 ----------------
 .../src/ScintWaveformContainerCnv.h           | 33 -------------
 .../src/ScintWaveformContainerCnv_p0.h        | 28 -----------
 .../ScintRawEvent/ScintRawEventDict.h         | 10 ----
 .../ScintRawEvent/ScintWaveformContainer.h    | 24 ----------
 .../ScintRawEvent/ScintRawEvent/selection.xml |  7 ---
 .../src/components/ScintRecAlgs_entries.cxx   |  5 --
 .../TrackCounts/test/TrackCountsDbg.py        |  4 +-
 .../test/TestBeamClusterFitDbg.py             |  6 +--
 .../test/TrackerClusterFitDbg.py              |  6 +--
 .../WaveByteStream}/CMakeLists.txt            | 12 ++---
 .../python/WaveByteStreamConfig.py            |  0
 .../WaveByteStream/python/__init__.py         |  1 +
 .../src/RawWaveformDecoderTool.cxx            | 40 ++++++++--------
 .../src/RawWaveformDecoderTool.h              | 16 +++----
 .../WaveByteStream/src/WaveByteStreamCnv.cxx  | 40 ++++++++--------
 .../WaveByteStream/src/WaveByteStreamCnv.h    | 16 +++----
 .../src/components/WaveByteStream_entries.cxx |  6 +++
 .../WaveEventAthenaPool}/CMakeLists.txt       | 22 ++++-----
 .../RawWaveformContainer_p0.h                 | 18 +++----
 .../WaveEventAthenaPool/RawWaveform_p0.h      | 14 +++---
 .../WaveEventAthenaPoolCnvDict.h              | 11 +++++
 .../WaveEventAthenaPool/selection.xml         |  4 ++
 .../src/RawWaveformCnv_p0.cxx                 | 12 ++---
 .../src/RawWaveformCnv_p0.h                   | 27 +++++++++++
 .../src/RawWaveformContainerCnv.cxx           | 42 ++++++++++++++++
 .../src/RawWaveformContainerCnv.h             | 33 +++++++++++++
 .../src/RawWaveformContainerCnv_p0.cxx        | 32 ++++++-------
 .../src/RawWaveformContainerCnv_p0.h          | 28 +++++++++++
 .../src/RawWaveformContainer_p0.cxx           |  0
 .../WaveRawEvent}/CMakeLists.txt              | 16 +++----
 .../WaveRawEvent/WaveRawEvent/RawWaveform.h   | 48 +++++++++----------
 .../WaveRawEvent/RawWaveformContainer.h       | 24 ++++++++++
 .../WaveRawEvent/WaveRawEventDict.h           | 10 ++++
 .../WaveRawEvent/WaveRawEvent/selection.xml   |  7 +++
 .../WaveRawEvent/src/RawWaveform.cxx          | 14 +++---
 .../WaveRawEvent/src/RawWaveformContainer.cxx |  6 +--
 .../WaveRecAlgs}/CMakeLists.txt               |  8 ++--
 .../WaveRecAlgs/python/WaveRecAlgsConfig.py   |  4 +-
 .../WaveRecAlgs/src/RawWaveformRecAlg.cxx     | 14 +++---
 .../WaveRecAlgs/src/RawWaveformRecAlg.h       | 24 +++++-----
 .../WaveRecAlgs/src/WaveClockRecAlg.cxx       | 12 ++---
 .../WaveRecAlgs/src/WaveClockRecAlg.h         | 26 +++++-----
 .../src/components/WaveRecAlgs_entries.cxx    |  5 ++
 .../WaveRecTools}/CMakeLists.txt              | 16 +++----
 .../WaveRecTools}/IClockReconstructionTool.h  |  8 ++--
 .../IWaveformReconstructionTool.h             |  8 ++--
 .../src/ClockReconstructionTool.cxx           |  4 +-
 .../src/ClockReconstructionTool.h             | 14 +++---
 .../src/WaveformBaselineData.cxx              |  0
 .../WaveRecTools}/src/WaveformBaselineData.h  |  6 +--
 .../WaveRecTools}/src/WaveformFitResult.cxx   |  0
 .../WaveRecTools}/src/WaveformFitResult.h     |  6 +--
 .../src/WaveformReconstructionTool.cxx        |  6 +--
 .../src/WaveformReconstructionTool.h          | 16 +++----
 .../src/components/WaveRecTools_entries.cxx   |  0
 .../VTI12WaveformSystems/CMakeLists.txt       |  2 +-
 .../src/VP1WaveformSystem.cxx                 |  8 ++--
 71 files changed, 498 insertions(+), 499 deletions(-)
 rename Control/CalypsoExample/WaveformDataAccessExample/src/{ScintWaveformAccess.cxx => RawWaveformAccess.cxx} (54%)
 rename Control/CalypsoExample/WaveformDataAccessExample/src/{ScintWaveformAccess.h => RawWaveformAccess.h} (58%)
 delete mode 100644 Scintillator/ScintEventCnv/ScintByteStream/python/__init__.py
 delete mode 100644 Scintillator/ScintEventCnv/ScintByteStream/src/components/ScintByteStream_entries.cxx
 delete mode 100644 Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintEventAthenaPoolCnvDict.h
 delete mode 100644 Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/selection.xml
 delete mode 100644 Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.h
 delete mode 100644 Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.cxx
 delete mode 100644 Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.h
 delete mode 100644 Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.h
 delete mode 100644 Scintillator/ScintRawEvent/ScintRawEvent/ScintRawEventDict.h
 delete mode 100644 Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveformContainer.h
 delete mode 100644 Scintillator/ScintRawEvent/ScintRawEvent/selection.xml
 delete mode 100644 Scintillator/ScintRecAlgs/src/components/ScintRecAlgs_entries.cxx
 rename {Scintillator/ScintEventCnv/ScintByteStream => Waveform/WaveEventCnv/WaveByteStream}/CMakeLists.txt (62%)
 rename Scintillator/ScintEventCnv/ScintByteStream/python/ScintByteStreamConfig.py => Waveform/WaveEventCnv/WaveByteStream/python/WaveByteStreamConfig.py (100%)
 create mode 100644 Waveform/WaveEventCnv/WaveByteStream/python/__init__.py
 rename Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.cxx => Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx (78%)
 rename Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.h => Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.h (62%)
 rename Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.cxx => Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.cxx (61%)
 rename Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.h => Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.h (72%)
 create mode 100644 Waveform/WaveEventCnv/WaveByteStream/src/components/WaveByteStream_entries.cxx
 rename {Scintillator/ScintEventCnv/ScintEventAthenaPool => Waveform/WaveEventCnv/WaveEventAthenaPool}/CMakeLists.txt (51%)
 rename Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveformContainer_p0.h => Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveformContainer_p0.h (56%)
 rename Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveform_p0.h => Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveform_p0.h (76%)
 create mode 100644 Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/WaveEventAthenaPoolCnvDict.h
 create mode 100644 Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/selection.xml
 rename Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.cxx => Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.cxx (61%)
 create mode 100644 Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.h
 create mode 100644 Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.cxx
 create mode 100644 Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.h
 rename Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.cxx => Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.cxx (61%)
 create mode 100644 Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.h
 rename Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainer_p0.cxx => Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainer_p0.cxx (100%)
 rename {Scintillator/ScintRawEvent => Waveform/WaveRawEvent}/CMakeLists.txt (71%)
 rename Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveform.h => Waveform/WaveRawEvent/WaveRawEvent/RawWaveform.h (73%)
 create mode 100644 Waveform/WaveRawEvent/WaveRawEvent/RawWaveformContainer.h
 create mode 100644 Waveform/WaveRawEvent/WaveRawEvent/WaveRawEventDict.h
 create mode 100644 Waveform/WaveRawEvent/WaveRawEvent/selection.xml
 rename Scintillator/ScintRawEvent/src/ScintWaveform.cxx => Waveform/WaveRawEvent/src/RawWaveform.cxx (85%)
 rename Scintillator/ScintRawEvent/src/ScintWaveformContainer.cxx => Waveform/WaveRawEvent/src/RawWaveformContainer.cxx (62%)
 rename {Scintillator/ScintRecAlgs => Waveform/WaveRecAlgs}/CMakeLists.txt (74%)
 rename Scintillator/ScintRecAlgs/python/ScintRecAlgsConfig.py => Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py (95%)
 rename Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.cxx => Waveform/WaveRecAlgs/src/RawWaveformRecAlg.cxx (84%)
 rename Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.h => Waveform/WaveRecAlgs/src/RawWaveformRecAlg.h (70%)
 rename Scintillator/ScintRecAlgs/src/ScintClockRecAlg.cxx => Waveform/WaveRecAlgs/src/WaveClockRecAlg.cxx (89%)
 rename Scintillator/ScintRecAlgs/src/ScintClockRecAlg.h => Waveform/WaveRecAlgs/src/WaveClockRecAlg.h (63%)
 create mode 100644 Waveform/WaveRecAlgs/src/components/WaveRecAlgs_entries.cxx
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/CMakeLists.txt (65%)
 rename {Scintillator/ScintRecTools/ScintRecTools => Waveform/WaveRecTools/WaveRecTools}/IClockReconstructionTool.h (80%)
 rename {Scintillator/ScintRecTools/ScintRecTools => Waveform/WaveRecTools/WaveRecTools}/IWaveformReconstructionTool.h (81%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/ClockReconstructionTool.cxx (97%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/ClockReconstructionTool.h (79%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/WaveformBaselineData.cxx (100%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/WaveformBaselineData.h (93%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/WaveformFitResult.cxx (100%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/WaveformFitResult.h (93%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/WaveformReconstructionTool.cxx (98%)
 rename {Scintillator/ScintRecTools => Waveform/WaveRecTools}/src/WaveformReconstructionTool.h (88%)
 rename Scintillator/ScintRecTools/src/components/ScintRecTools_entries.cxx => Waveform/WaveRecTools/src/components/WaveRecTools_entries.cxx (100%)

diff --git a/Control/CalypsoExample/WaveformDataAccessExample/CMakeLists.txt b/Control/CalypsoExample/WaveformDataAccessExample/CMakeLists.txt
index 69bfbf2e..703ced09 100644
--- a/Control/CalypsoExample/WaveformDataAccessExample/CMakeLists.txt
+++ b/Control/CalypsoExample/WaveformDataAccessExample/CMakeLists.txt
@@ -8,7 +8,7 @@ atlas_subdir( WaveformDataAccessExample )
 atlas_add_component( WaveformDataAccessExample
                      src/*.cxx
                      src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps ScintRawEvent )
+                     LINK_LIBRARIES AthenaBaseComps WaveRawEvent )
 
 atlas_install_python_modules( python/*.py )
 
diff --git a/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py b/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py
index 5d0cfcde..1151c74d 100755
--- a/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py
+++ b/Control/CalypsoExample/WaveformDataAccessExample/python/WaveformDataAccessExampleConfig.py
@@ -14,7 +14,7 @@ def WaveformDataAccessExampleCfg(flags, name="WaveformDataAccessExampleAlg", **k
     from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
     a = FaserGeometryCfg(flags)
 
-    WaveformDataAccessExampleAlg = CompFactory.ScintWaveformAccess
+    WaveformDataAccessExampleAlg = CompFactory.RawWaveformAccess
     a.addEventAlgo(WaveformDataAccessExampleAlg(name, **kwargs))
     
     from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
@@ -56,7 +56,7 @@ if __name__ == "__main__":
     from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
     itemList = [ "xAOD::EventInfo#*",
                  "xAOD::EventAuxInfo#*",
-                 "ScintWaveformContainer#*"
+                 "RawWaveformContainer#*"
                ]
     acc.merge(OutputStreamCfg(ConfigFlags, "RDO", itemList))
     ostream = acc.getEventAlgo("OutputStreamRDO")
diff --git a/Control/CalypsoExample/WaveformDataAccessExample/src/ScintWaveformAccess.cxx b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.cxx
similarity index 54%
rename from Control/CalypsoExample/WaveformDataAccessExample/src/ScintWaveformAccess.cxx
rename to Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.cxx
index d3de51d5..0d06d587 100644
--- a/Control/CalypsoExample/WaveformDataAccessExample/src/ScintWaveformAccess.cxx
+++ b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.cxx
@@ -3,28 +3,27 @@
 */
 
 /*
- * ScintWaveformAccess.cxx
+ * RawWaveformAccess.cxx
  * 
  * Simple algorithm to access waveform data from storegate.
  * Try to write a proper thread-safe algorithm.
  *
  */
 
-#include "ScintWaveformAccess.h"
-//#include "ScintRawEvent/ScintWaveform.h"
+#include "RawWaveformAccess.h"
 
-ScintWaveformAccess::ScintWaveformAccess(const std::string& name, ISvcLocator* pSvcLocator) : AthReentrantAlgorithm(name, pSvcLocator)
+RawWaveformAccess::RawWaveformAccess(const std::string& name, ISvcLocator* pSvcLocator) : AthReentrantAlgorithm(name, pSvcLocator)
 {
 }
 
-ScintWaveformAccess::~ScintWaveformAccess()
+RawWaveformAccess::~RawWaveformAccess()
 {
 }
 
 StatusCode
-ScintWaveformAccess::initialize()
+RawWaveformAccess::initialize()
 {
-  ATH_MSG_DEBUG("ScintWaveformAccess::initialize() called");
+  ATH_MSG_DEBUG("RawWaveformAccess::initialize() called");
 
   // Must initialize SG handles
   ATH_CHECK( m_CaloWaveformContainer.initialize() );
@@ -38,40 +37,40 @@ ScintWaveformAccess::initialize()
 }
 
 StatusCode
-ScintWaveformAccess::finalize()
+RawWaveformAccess::finalize()
 {
-  ATH_MSG_DEBUG("ScintWaveformAccess::finalize() called");
+  ATH_MSG_DEBUG("RawWaveformAccess::finalize() called");
 
   return StatusCode::SUCCESS;
 }
 
 StatusCode
-ScintWaveformAccess::execute(const EventContext& ctx) const
+RawWaveformAccess::execute(const EventContext& ctx) const
 {
-  ATH_MSG_DEBUG("ScintWaveformAccess::execute() called");
+  ATH_MSG_DEBUG("RawWaveformAccess::execute() called");
 
   // Try reading all of the different containers
-  SG::ReadHandle<ScintWaveformContainer> caloHandle(m_CaloWaveformContainer, ctx);
+  SG::ReadHandle<RawWaveformContainer> caloHandle(m_CaloWaveformContainer, ctx);
   ATH_MSG_INFO("Found ReadHandle for CaloWaveforms");
   ATH_MSG_INFO(*caloHandle);
 
-  SG::ReadHandle<ScintWaveformContainer> vetoHandle(m_VetoWaveformContainer, ctx);
+  SG::ReadHandle<RawWaveformContainer> vetoHandle(m_VetoWaveformContainer, ctx);
   ATH_MSG_INFO("Found ReadHandle for VetoWaveforms");
   ATH_MSG_INFO(*vetoHandle);
 
-  SG::ReadHandle<ScintWaveformContainer> triggerHandle(m_TriggerWaveformContainer, ctx);
+  SG::ReadHandle<RawWaveformContainer> triggerHandle(m_TriggerWaveformContainer, ctx);
   ATH_MSG_INFO("Found ReadHandle for TriggerWaveforms");
   ATH_MSG_INFO(*triggerHandle);
 
-  SG::ReadHandle<ScintWaveformContainer> preshowerHandle(m_PreshowerWaveformContainer, ctx);
+  SG::ReadHandle<RawWaveformContainer> preshowerHandle(m_PreshowerWaveformContainer, ctx);
   ATH_MSG_INFO("Found ReadHandle for PreshowerWaveforms");
   ATH_MSG_INFO(*preshowerHandle);
 
-  SG::ReadHandle<ScintWaveformContainer> testHandle(m_TestWaveformContainer, ctx);
+  SG::ReadHandle<RawWaveformContainer> testHandle(m_TestWaveformContainer, ctx);
   ATH_MSG_INFO("Found ReadHandle for TestWaveforms");
   ATH_MSG_INFO(*testHandle);
 
-  SG::ReadHandle<ScintWaveformContainer> clockHandle(m_ClockWaveformContainer, ctx);
+  SG::ReadHandle<RawWaveformContainer> clockHandle(m_ClockWaveformContainer, ctx);
   ATH_MSG_INFO("Found ReadHandle for ClockWaveforms");
   ATH_MSG_INFO(*clockHandle);
 
diff --git a/Control/CalypsoExample/WaveformDataAccessExample/src/ScintWaveformAccess.h b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.h
similarity index 58%
rename from Control/CalypsoExample/WaveformDataAccessExample/src/ScintWaveformAccess.h
rename to Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.h
index ac73b688..d26b1eac 100644
--- a/Control/CalypsoExample/WaveformDataAccessExample/src/ScintWaveformAccess.h
+++ b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.h
@@ -3,26 +3,26 @@
 */
 
 /*
- * ScintWaveformAccess.h
+ * RawWaveformAccess.h
  * 
  * Simple algorithm to access digitizer data from storegate.
  * Try to write a proper thread-safe algorithm.
  *
  */
 
-#ifndef WAVEFORMDATAACCESSEXAMPLE_SCINTWAVEFORMACCESS_H
-#define WAVEFORMDATAACCESSEXAMPLE_SCINTWAVEFORMACCESS_H 
+#ifndef WAVEFORMDATAACCESSEXAMPLE_RAWWAVEFORMACCESS_H
+#define WAVEFORMDATAACCESSEXAMPLE_RAWWAVEFORMACCESS_H 
 
 #include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "StoreGate/ReadHandleKey.h"
 
-#include "ScintRawEvent/ScintWaveformContainer.h"
+#include "WaveRawEvent/RawWaveformContainer.h"
 
-class ScintWaveformAccess: public AthReentrantAlgorithm
+class RawWaveformAccess: public AthReentrantAlgorithm
 {
  public:
-  ScintWaveformAccess(const std::string& name, ISvcLocator* pSvcLocator);
-  virtual ~ScintWaveformAccess();
+  RawWaveformAccess(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~RawWaveformAccess();
 
   virtual StatusCode initialize() override;
   virtual StatusCode execute(const EventContext& ctx) const override;
@@ -30,18 +30,18 @@ class ScintWaveformAccess: public AthReentrantAlgorithm
 
  private:
   /// StoreGate key
-  SG::ReadHandleKey<ScintWaveformContainer> m_CaloWaveformContainer
+  SG::ReadHandleKey<RawWaveformContainer> m_CaloWaveformContainer
     { this, "CaloWaveformContainerKey", "CaloWaveforms", "ReadHandleKey for CaloWaveforms Container"};
-  SG::ReadHandleKey<ScintWaveformContainer> m_VetoWaveformContainer
+  SG::ReadHandleKey<RawWaveformContainer> m_VetoWaveformContainer
     { this, "VetoWaveformContainerKey", "VetoWaveforms", "ReadHandleKey for CaloWaveforms Container"};
-  SG::ReadHandleKey<ScintWaveformContainer> m_TriggerWaveformContainer
+  SG::ReadHandleKey<RawWaveformContainer> m_TriggerWaveformContainer
     { this, "TriggerWaveformContainerKey", "TriggerWaveforms", "ReadHandleKey for TriggerWaveforms Container"};
-  SG::ReadHandleKey<ScintWaveformContainer> m_PreshowerWaveformContainer
+  SG::ReadHandleKey<RawWaveformContainer> m_PreshowerWaveformContainer
     { this, "PreshowerWaveformContainerKey", "PreshowerWaveforms", "ReadHandleKey for PreshowerWaveforms Container"};
-  SG::ReadHandleKey<ScintWaveformContainer> m_TestWaveformContainer
+  SG::ReadHandleKey<RawWaveformContainer> m_TestWaveformContainer
     { this, "TestWaveformContainerKey", "TestWaveforms", "ReadHandleKey for TestWaveforms Container"};
-  SG::ReadHandleKey<ScintWaveformContainer> m_ClockWaveformContainer
+  SG::ReadHandleKey<RawWaveformContainer> m_ClockWaveformContainer
     { this, "ClockWaveformContainerKey", "ClockWaveforms", "ReadHandleKey for ClockWaveforms Container"};
 };
 
-#endif /* WAVEFORMDATAACCESSEXAMPLE_SCINTWAVEFORMACCESS_H */
+#endif /* WAVEFORMDATAACCESSEXAMPLE_RAWWAVEFORMACCESS_H */
diff --git a/Control/CalypsoExample/WaveformDataAccessExample/src/components/WaveformDataAccess_entries.cxx b/Control/CalypsoExample/WaveformDataAccessExample/src/components/WaveformDataAccess_entries.cxx
index 41c3b845..4cf977bf 100644
--- a/Control/CalypsoExample/WaveformDataAccessExample/src/components/WaveformDataAccess_entries.cxx
+++ b/Control/CalypsoExample/WaveformDataAccessExample/src/components/WaveformDataAccess_entries.cxx
@@ -1,3 +1,3 @@
-#include "../ScintWaveformAccess.h"
+#include "../RawWaveformAccess.h"
 
-DECLARE_COMPONENT( ScintWaveformAccess )
+DECLARE_COMPONENT( RawWaveformAccess )
diff --git a/Event/FaserByteStreamCnvSvc/share/jobOptions_faserBSToRDO.py b/Event/FaserByteStreamCnvSvc/share/jobOptions_faserBSToRDO.py
index 5ce99e4b..3a424d4a 100644
--- a/Event/FaserByteStreamCnvSvc/share/jobOptions_faserBSToRDO.py
+++ b/Event/FaserByteStreamCnvSvc/share/jobOptions_faserBSToRDO.py
@@ -51,8 +51,8 @@ tda = FaserTriggerDataAccess("FaserTriggerDataAccess")
 tda.OutputLevel = DEBUG
 job += tda
 
-from ScintByteStream.ScintByteStreamConf import ScintWaveformAccess
-wfm = ScintWaveformAccess("ScintWaveformAccess")
+from WaveByteStream.WaveByteStreamConf import RawWaveformAccess
+wfm = RawWaveformAccess("RawWaveformAccess")
 wfm.OutputLevel = DEBUG
 job += wfm
 
diff --git a/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py b/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py
index af4766a1..3a50a75d 100644
--- a/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py
+++ b/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py
@@ -13,12 +13,12 @@ def FaserByteStreamCnvSvcBaseCfg(flags, **kwargs):
                                "xAOD::FaserTriggerDataAux/FaserTriggerDataAux." ]
 
     adxProvider.TypeNames += [
-        "ScintWaveformContainer/CaloWaveforms",
-        "ScintWaveformContainer/VetoWaveforms",
-        "ScintWaveformContainer/TriggerWaveforms",
-        "ScintWaveformContainer/PreshowerWaveforms",
-        "ScintWaveformContainer/ClockWaveforms",
-        "ScintWaveformContainer/TestWaveforms"  
+        "RawWaveformContainer/CaloWaveforms",
+        "RawWaveformContainer/VetoWaveforms",
+        "RawWaveformContainer/TriggerWaveforms",
+        "RawWaveformContainer/PreshowerWaveforms",
+        "RawWaveformContainer/ClockWaveforms",
+        "RawWaveformContainer/TestWaveforms"  
     ]
 
     adxProvider.TypeNames += [ "FaserSCT_RDO_Container/SCT_RDOs",
diff --git a/Event/FaserByteStreamCnvSvcBase/share/BSAddProvSvc_jobOptions.py b/Event/FaserByteStreamCnvSvcBase/share/BSAddProvSvc_jobOptions.py
index 3adf8709..84aef967 100644
--- a/Event/FaserByteStreamCnvSvcBase/share/BSAddProvSvc_jobOptions.py
+++ b/Event/FaserByteStreamCnvSvcBase/share/BSAddProvSvc_jobOptions.py
@@ -15,11 +15,11 @@ svcMgr.FaserByteStreamAddressProviderSvc.TypeNames += [
 # in the ScintByteStream/ScintByteStreamCnv service
 # TestWaveforms is configurable for testing purposes
 svcMgr.FaserByteStreamAddressProviderSvc.TypeNames += [ 
-    "ScintWaveformContainer/CaloWaveforms",
-    "ScintWaveformContainer/VetoWaveforms",
-    "ScintWaveformContainer/TriggerWaveforms",
-    "ScintWaveformContainer/PreshowerWaveforms",
-    "ScintWaveformContainer/TestWaveforms"  
+    "RawWaveformContainer/CaloWaveforms",
+    "RawWaveformContainer/VetoWaveforms",
+    "RawWaveformContainer/TriggerWaveforms",
+    "RawWaveformContainer/PreshowerWaveforms",
+    "RawWaveformContainer/TestWaveforms"  
 ]
 
 # Add tracker RDO containers
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/python/__init__.py b/Scintillator/ScintEventCnv/ScintByteStream/python/__init__.py
deleted file mode 100644
index 547eccb6..00000000
--- a/Scintillator/ScintEventCnv/ScintByteStream/python/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-#ScintByteStream
\ No newline at end of file
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/src/components/ScintByteStream_entries.cxx b/Scintillator/ScintEventCnv/ScintByteStream/src/components/ScintByteStream_entries.cxx
deleted file mode 100644
index f44dd7e5..00000000
--- a/Scintillator/ScintEventCnv/ScintByteStream/src/components/ScintByteStream_entries.cxx
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "../ScintWaveformDecoderTool.h"
-#include "../ScintByteStreamCnv.h"
-
-DECLARE_COMPONENT( ScintWaveformDecoderTool )
-
-DECLARE_CONVERTER( ScintByteStreamCnv )
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintEventAthenaPoolCnvDict.h b/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintEventAthenaPoolCnvDict.h
deleted file mode 100644
index ddf45c64..00000000
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintEventAthenaPoolCnvDict.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef SCINTEVENTATHENAPOOLCNVDICT_H
-#define SCINTEVENTATHENAPOOLCNVDICT_H
-
-#include "ScintEventAthenaPool/ScintWaveform_p0.h"
-#include "ScintEventAthenaPool/ScintWaveformContainer_p0.h"
-
-#endif
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/selection.xml b/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/selection.xml
deleted file mode 100644
index 5c52a4cc..00000000
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/selection.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<lcgdict>
-  <class name="ScintWaveform_p0" />
-  <class name="ScintWaveformContainer_p0" id="344d904d-6338-41f1-94ee-ea609ea4ae44" />
-</lcgdict>
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.h b/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.h
deleted file mode 100644
index 41bb1530..00000000
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-  Copyright (C) 2020 CERN for the benefit of the FASER collaboration
-*/
-
-#ifndef SCINTWAVEFORMCNV_P0_H
-#define SCINTWAVEFORMCNV_P0_H
-
-#include "ScintRawEvent/ScintWaveform.h"
-#include "ScintEventAthenaPool/ScintWaveform_p0.h"
-
-#include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
-
-class ScintWaveformCnv_p0 : public T_AthenaPoolTPCnvBase<ScintWaveform, ScintWaveform_p0> {
- public:
-  ScintWaveformCnv_p0() {};
-
-  virtual void persToTrans(const ScintWaveform_p0* persObj,
-			   ScintWaveform* transObj,
-			   MsgStream& log);
-
-  virtual void transToPers(const ScintWaveform* transObj,
-			   ScintWaveform_p0* persObj,
-			   MsgStream& log);
- private:
-};
-
-#endif
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.cxx b/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.cxx
deleted file mode 100644
index afea1cac..00000000
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.cxx
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-  Copyright (C) 2020 CERN for the benefit of the FASER collaboration
-*/
-
-#include "ScintWaveformContainerCnv.h"
-
-ScintWaveformContainer_PERS* 
-ScintWaveformContainerCnv::createPersistent (ScintWaveformContainer* transCont) {
-  ATH_MSG_DEBUG("ScintWaveformContainerCnv::createPersistent()");
-
-  ScintWaveformContainerCnv_PERS converter;
-
-  ScintWaveformContainer_PERS* persObj(nullptr);
-  persObj = converter.createPersistent( transCont, msg() );
-  return persObj;
-}
-
-ScintWaveformContainer* 
-ScintWaveformContainerCnv::createTransient() {
-  ATH_MSG_DEBUG("ScintWaveformContainerCnv::createTransient()");
-
-  static const pool::Guid p0_guid("344d904d-6338-41f1-94ee-ea609ea4ae44");
-  ScintWaveformContainer* trans(0);
-
-  // Check for GUID of each persistent type
-  if ( compareClassGuid(p0_guid) ) {
-    std::unique_ptr< ScintWaveformContainer_p0 > col_vect( poolReadObject< ScintWaveformContainer_p0 >() );
-
-    ScintWaveformContainerCnv_p0 converter_p0;
-    trans = converter_p0.createTransient( col_vect.get(), msg() );
-
-  } else {
-
-    // Didn't find a known type
-    throw std::runtime_error("Unsupported persistent version of ScintWaveformContainer");
-  }
-
-  return trans;
-
-}
-
-
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.h b/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.h
deleted file mode 100644
index c0160c8e..00000000
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- Copyright 2020 CERN for the benefit of the FASER collaboration
-*/
-
-#ifndef SCINTWAVEFORMCONTAINERCNV_H
-#define SCINTWAVEFORMCONTAINERCNV_H
-
-#include "AthenaPoolCnvSvc/T_AthenaPoolCustomCnv.h"
-
-#include "ScintWaveformContainerCnv_p0.h"
-
-#include "ScintRawEvent/ScintWaveformContainer.h"
-#include "ScintEventAthenaPool/ScintWaveformContainer_p0.h"
-
-// The latest persistent representation
-typedef ScintWaveformContainer_p0 ScintWaveformContainer_PERS;
-typedef ScintWaveformContainerCnv_p0 ScintWaveformContainerCnv_PERS;
-
-typedef T_AthenaPoolCustomCnv< ScintWaveformContainer, ScintWaveformContainer_PERS > ScintWaveformContainerCnvBase;
-
-class ScintWaveformContainerCnv : public ScintWaveformContainerCnvBase {
-  friend class CnvFactory<ScintWaveformContainerCnv>;
-
- public:
-  ScintWaveformContainerCnv (ISvcLocator* svcloc) : ScintWaveformContainerCnvBase(svcloc) {}
-
- protected:
-  virtual ScintWaveformContainer_PERS* createPersistent (ScintWaveformContainer* transCont);
-  virtual ScintWaveformContainer* createTransient ();
-
-};
-
-#endif
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.h b/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.h
deleted file mode 100644
index 6792e2a2..00000000
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- Copyright 2020 CERN for the benefit of the FASER collaboration
-*/
-
-#ifndef SCINTWAVEFORMCONTAINERCNV_P0_H
-#define SCINTWAVEFORMCONTAINERCNV_P0_H
-
-#include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
-
-#include "ScintRawEvent/ScintWaveformContainer.h"
-#include "ScintEventAthenaPool/ScintWaveformContainer_p0.h"
-
-class ScintWaveformContainerCnv_p0 : public T_AthenaPoolTPCnvBase<ScintWaveformContainer, ScintWaveformContainer_p0> {
-
- public:
-  ScintWaveformContainerCnv_p0() {};
-
-  virtual void persToTrans(const ScintWaveformContainer_p0* persCont,
-			   ScintWaveformContainer* transCont, 
-			   MsgStream& log);
-
-  virtual void transToPers(const ScintWaveformContainer* transCont, 
-			   ScintWaveformContainer_p0* persCont, 
-			   MsgStream& log);
-
-};
-
-#endif
diff --git a/Scintillator/ScintRawEvent/ScintRawEvent/ScintRawEventDict.h b/Scintillator/ScintRawEvent/ScintRawEvent/ScintRawEventDict.h
deleted file mode 100644
index 9a41f314..00000000
--- a/Scintillator/ScintRawEvent/ScintRawEvent/ScintRawEventDict.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-  Copyright (C) 2020 CERN for the benefit of the FASER collaboration
-*/
-
-#ifndef SCINTRAWEVENT_SCINTRAWEVENTDICT_H
-#define SCINTRAWEVENT_SCINTRAWEVENTDICT_H
-
-#include "ScintRawEvent/ScintWaveformContainer.h"
-
-#endif
diff --git a/Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveformContainer.h b/Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveformContainer.h
deleted file mode 100644
index 4438e55d..00000000
--- a/Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveformContainer.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef SCINTRAWEVENT_SCINTWAVEFORMCONTAINER_H
-#define SCINTRAWEVENT_SCINTWAVEFORMCONTAINER_H
-
-#include "ScintRawEvent/ScintWaveform.h"
-#include "AthContainers/DataVector.h"
-#include "AthenaKernel/CLASS_DEF.h"
-
-// Make this a class in case we need to add some functions
-class ScintWaveformContainer : public DataVector<ScintWaveform> {
- public:
-  void print() const;
-};
-
-std::ostream 
-&operator<<(std::ostream &out, const ScintWaveformContainer &container);
-
-CLASS_DEF(ScintWaveformContainer, 1215612331, 1 )
-SG_BASE(ScintWaveformContainer, DataVector<ScintWaveform>);
-
-#endif // SCINTRAWEVENT_SCINTWAVEFORMCONTAINER_H
diff --git a/Scintillator/ScintRawEvent/ScintRawEvent/selection.xml b/Scintillator/ScintRawEvent/ScintRawEvent/selection.xml
deleted file mode 100644
index f60a803c..00000000
--- a/Scintillator/ScintRawEvent/ScintRawEvent/selection.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<lcgdict>
-  <class name="ScintWaveformContainer" id="f40fd51f-b70e-4cc8-971d-b6ab5c751a86" />
-  <class name="DataVector<ScintWaveform>" id="e4b393bd-e9b8-458a-8691-b0ebbfd6999c" />
-  <class name="std::vector<ScintWaveform*>" />
-  <class name="std::vector<const ScintWaveform*>" />
-  <class name="ScintWaveform" />
-</lcgdict>
diff --git a/Scintillator/ScintRecAlgs/src/components/ScintRecAlgs_entries.cxx b/Scintillator/ScintRecAlgs/src/components/ScintRecAlgs_entries.cxx
deleted file mode 100644
index 9634fc8f..00000000
--- a/Scintillator/ScintRecAlgs/src/components/ScintRecAlgs_entries.cxx
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "../ScintWaveformRecAlg.h"
-#include "../ScintClockRecAlg.h"
-
-DECLARE_COMPONENT( ScintWaveformRecAlg )
-DECLARE_COMPONENT( ScintClockRecAlg )
diff --git a/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py b/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py
index bb49fa23..558aac08 100644
--- a/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackCounts/test/TrackCountsDbg.py
@@ -12,7 +12,7 @@ from CalypsoConfiguration.AllConfigFlags import ConfigFlags
 from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 from FaserByteStreamCnvSvc.FaserByteStreamCnvSvcConfig import FaserByteStreamCnvSvcCfg
-from ScintRecAlgs.ScintRecAlgsConfig import WaveformReconstructionCfg
+from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
 from TrackerClusterFit.TrackerClusterFitConfig import ClusterFitAlgCfg
 from TrackCounts.TrackCountsConfig import TrackCountsAlgCfg
@@ -53,7 +53,7 @@ itemList = [ "xAOD::EventInfo#*",
              "FaserSCT_RDO_Container#*",
              "xAOD::FaserTriggerData#*",
              "xAOD::FaserTriggerDataAux#*",
-             "ScintWaveformContainer#*",
+             "RawWaveformContainer#*",
              "TrackCollection#*",
              "xAOD::WaveformHitContainer#*",
              "xAOD::WaveformHitAuxContainer#*",
diff --git a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py
index d2d23810..294e066e 100755
--- a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TestBeamClusterFitDbg.py
@@ -14,7 +14,7 @@ from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 #from Digitization.DigitizationParametersConfig import writeDigitizationMetadata
-from ScintRecAlgs.ScintRecAlgsConfig import WaveformReconstructionCfg
+from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
 from TrackerClusterFit.TrackerClusterFitConfig import ClusterFitAlgCfg
 from TrackerSpacePointFormation.TrackerSpacePointFormationConfig import TrackerSpacePointFinderCfg
@@ -124,7 +124,7 @@ acc.merge(TrackerSpacePointFinderCfg(ConfigFlags))
 #acc.getEventAlgo("Tracker::ClusterFitAlg").OutputLevel = DEBUG
 
 from AthenaConfiguration.ComponentFactory import CompFactory
-decoderTool = CompFactory.ScintWaveformDecoderTool(name = "ScintWaveformDecoderTool", 
+decoderTool = CompFactory.RawWaveformDecoderTool(name = "RawWaveformDecoderTool", 
                                                    CaloChannels = [0, 1, 2, 3, 4, 5], 
                                                    PreshowerChannels = [6, 7], 
                                                    TriggerChannels = [8, 9],
@@ -138,7 +138,7 @@ itemList = [ "xAOD::EventInfo#*",
              "FaserSCT_RDO_Container#*",
              "xAOD::FaserTriggerData#*",
              "xAOD::FaserTriggerDataAux#*",
-             "ScintWaveformContainer#*",
+             "RawWaveformContainer#*",
              "TrackCollection#*",
              "xAOD::WaveformHitContainer#*",
              "xAOD::WaveformHitAuxContainer#*",
diff --git a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py
index 308b5ff3..8df7e38a 100644
--- a/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py
+++ b/Tracker/TrackerRecAlgs/TrackerClusterFit/test/TrackerClusterFitDbg.py
@@ -14,7 +14,7 @@ from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 #from Digitization.DigitizationParametersConfig import writeDigitizationMetadata
-from ScintRecAlgs.ScintRecAlgsConfig import WaveformReconstructionCfg
+from WaveRecAlgs.WaveRecAlgsConfig import WaveformReconstructionCfg
 from TrackerPrepRawDataFormation.TrackerPrepRawDataFormationConfig import FaserSCT_ClusterizationCfg
 from TrackerClusterFit.TrackerClusterFitConfig import ClusterFitAlgCfg
 from TrackerSpacePointFormation.TrackerSpacePointFormationConfig import TrackerSpacePointFinderCfg
@@ -128,7 +128,7 @@ itemList = [ "xAOD::EventInfo#*",
              "FaserSCT_RDO_Container#*",
              "xAOD::FaserTriggerData#*",
              "xAOD::FaserTriggerDataAux#*",
-             "ScintWaveformContainer#*",
+             "RawWaveformContainer#*",
              "TrackCollection#*",
              "xAOD::WaveformHitContainer#*",
              "xAOD::WaveformHitAuxContainer#*",
@@ -155,4 +155,4 @@ acc.getEventAlgo("OutputStreamESD").AcceptAlgs = ["Tracker::ClusterFitAlg"]
 sc = acc.run(maxEvents=-1)
 
 # Success should be 0
-sys.exit(not sc.isSuccess())
\ No newline at end of file
+sys.exit(not sc.isSuccess())
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/CMakeLists.txt b/Waveform/WaveEventCnv/WaveByteStream/CMakeLists.txt
similarity index 62%
rename from Scintillator/ScintEventCnv/ScintByteStream/CMakeLists.txt
rename to Waveform/WaveEventCnv/WaveByteStream/CMakeLists.txt
index 12e96ba4..6fc3d0b9 100644
--- a/Scintillator/ScintEventCnv/ScintByteStream/CMakeLists.txt
+++ b/Waveform/WaveEventCnv/WaveByteStream/CMakeLists.txt
@@ -1,19 +1,19 @@
 # Copyright (C) 2020 CERN for the benefit of the FASER collaboration
 
 # Declare the package name:
-atlas_subdir( ScintByteStream )
+atlas_subdir( WaveByteStream )
 
 # Component(s) in the package:
-#atlas_add_library( ScintByteStreamLib
-#                   ScintByteStream/*.h 
-#                   PUBLIC_HEADERS ScintByteStream
+#atlas_add_library( WaveByteStreamLib
+#                   WaveByteStream/*.h 
+#                   PUBLIC_HEADERS WaveByteStream
 #                   LINK_LIBRARIES   StoreGateLib 
 #		            )
 
-atlas_add_component( ScintByteStream
+atlas_add_component( WaveByteStream
                      src/*.cxx
                      src/components/*.cxx
-                     LINK_LIBRARIES AthenaKernel GaudiKernel FaserByteStreamCnvSvcBaseLib FaserEventStorageLib ScintRawEvent
+                     LINK_LIBRARIES AthenaKernel GaudiKernel FaserByteStreamCnvSvcBaseLib FaserEventStorageLib WaveRawEvent
                      PRIVATE_LINK_LIBRARIES AthenaBaseComps )
 
 atlas_install_python_modules( python/*.py )
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/python/ScintByteStreamConfig.py b/Waveform/WaveEventCnv/WaveByteStream/python/WaveByteStreamConfig.py
similarity index 100%
rename from Scintillator/ScintEventCnv/ScintByteStream/python/ScintByteStreamConfig.py
rename to Waveform/WaveEventCnv/WaveByteStream/python/WaveByteStreamConfig.py
diff --git a/Waveform/WaveEventCnv/WaveByteStream/python/__init__.py b/Waveform/WaveEventCnv/WaveByteStream/python/__init__.py
new file mode 100644
index 00000000..6b7e2cab
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveByteStream/python/__init__.py
@@ -0,0 +1 @@
+#WaveByteStream
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.cxx b/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx
similarity index 78%
rename from Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.cxx
rename to Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx
index c68c89cb..2081244c 100644
--- a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.cxx
+++ b/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx
@@ -2,23 +2,23 @@
   Copyright (C) 2020 CERN for the benefit of the FASER collaboration
 */
 
-#include "ScintWaveformDecoderTool.h"
+#include "RawWaveformDecoderTool.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 
-#include "ScintRawEvent/ScintWaveform.h"
+#include "WaveRawEvent/RawWaveform.h"
 #include "EventFormats/DigitizerDataFragment.hpp"
 
-static const InterfaceID IID_IScintWaveformDecoderTool("ScintWaveformDecoderTool", 1, 0);
+static const InterfaceID IID_IRawWaveformDecoderTool("RawWaveformDecoderTool", 1, 0);
 
-const InterfaceID& ScintWaveformDecoderTool::interfaceID() {
-  return IID_IScintWaveformDecoderTool;
+const InterfaceID& RawWaveformDecoderTool::interfaceID() {
+  return IID_IRawWaveformDecoderTool;
 }
 
-ScintWaveformDecoderTool::ScintWaveformDecoderTool(const std::string& type, 
+RawWaveformDecoderTool::RawWaveformDecoderTool(const std::string& type, 
       const std::string& name,const IInterface* parent)
   : AthAlgTool(type, name, parent)
 {
-  declareInterface<ScintWaveformDecoderTool>(this);
+  declareInterface<RawWaveformDecoderTool>(this);
 
   declareProperty("CaloChannels", m_caloChannels);
   m_caloChannels.push_back(0);
@@ -50,30 +50,30 @@ ScintWaveformDecoderTool::ScintWaveformDecoderTool(const std::string& type,
 
 }
 
-ScintWaveformDecoderTool::~ScintWaveformDecoderTool()
+RawWaveformDecoderTool::~RawWaveformDecoderTool()
 {
 }
 
 StatusCode
-ScintWaveformDecoderTool::initialize() 
+RawWaveformDecoderTool::initialize() 
 {
-  ATH_MSG_DEBUG("ScintWaveformDecoderTool::initialize()");
+  ATH_MSG_DEBUG("RawWaveformDecoderTool::initialize()");
   return StatusCode::SUCCESS;
 }
 
 StatusCode
-ScintWaveformDecoderTool::finalize() 
+RawWaveformDecoderTool::finalize() 
 {
-  ATH_MSG_DEBUG("ScintWaveformDecoderTool::finalize()");
+  ATH_MSG_DEBUG("RawWaveformDecoderTool::finalize()");
   return StatusCode::SUCCESS;
 }
 
 StatusCode
-ScintWaveformDecoderTool::convert(const DAQFormats::EventFull* re, 
-				  ScintWaveformContainer* container,
+RawWaveformDecoderTool::convert(const DAQFormats::EventFull* re, 
+				  RawWaveformContainer* container,
 				  const std::string key)
 {
-  ATH_MSG_DEBUG("ScintWaveformDecoderTool::convert("+key+")");
+  ATH_MSG_DEBUG("RawWaveformDecoderTool::convert("+key+")");
 
   if (!re) {
     ATH_MSG_ERROR("EventFull passed to convert() is null!");
@@ -81,7 +81,7 @@ ScintWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
   }
 
   if (!container) {
-    ATH_MSG_ERROR("ScintWaveformContainer passed to convert() is null!");
+    ATH_MSG_ERROR("RawWaveformContainer passed to convert() is null!");
     return StatusCode::FAILURE;
   }
 
@@ -139,12 +139,12 @@ ScintWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
       continue;
     } 
 
-    ScintWaveform* wfm = new ScintWaveform();
+    RawWaveform* wfm = new RawWaveform();
 
     try {
       wfm->setWaveform( channel, digitizer->channel_adc_counts( channel ) );
     } catch ( DigitizerData::DigitizerDataException& e ) {
-      ATH_MSG_WARNING("ScintWaveformDecoderTool:\n"
+      ATH_MSG_WARNING("RawWaveformDecoderTool:\n"
 		   <<e.what()
 		   << "\nChannel "
 		   << channel
@@ -155,7 +155,7 @@ ScintWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
       wfm->setHeader( digitizer );
 
     } catch ( DigitizerData::DigitizerDataException& e ) {
-      ATH_MSG_WARNING("ScintWaveformDecoderTool:\n"
+      ATH_MSG_WARNING("RawWaveformDecoderTool:\n"
 		      << e.what()
 		      << "\nCorrupted Digitizer data!\n"
 		      << *frag);
@@ -174,7 +174,7 @@ ScintWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
   // Don't spring a leak
   delete digitizer;
 
-  ATH_MSG_DEBUG( "ScintWaveformDecoderTool created container " << key 
+  ATH_MSG_DEBUG( "RawWaveformDecoderTool created container " << key 
 		 << " with size=" << container->size());
   return StatusCode::SUCCESS; 
 }
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.h b/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.h
similarity index 62%
rename from Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.h
rename to Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.h
index a5e7bd98..252698c5 100644
--- a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintWaveformDecoderTool.h
+++ b/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.h
@@ -4,31 +4,31 @@
   Copyright (C) 2020 CERN for the benefit of the FASER collaboration
 */
 
-#ifndef SCINTBYTESTREAM_FASERTRIGGERDECODERTOOL_H
-#define SCINTBYTESTREAM_FASERTRIGGERDECODERTOOL_H
+#ifndef WAVEBYTESTREAM_RAWWAVEFORMDECODERTOOL_H
+#define WAVEBYTESTREAM_RAWWAVEFORMDECODERTOOL_H
 
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "GaudiKernel/ToolHandle.h"
 
 #include "EventFormats/DAQFormats.hpp"
-#include "ScintRawEvent/ScintWaveformContainer.h"
+#include "WaveRawEvent/RawWaveformContainer.h"
 
 // This class provides conversion between bytestream and Waveform objects
 
-class ScintWaveformDecoderTool : public AthAlgTool {
+class RawWaveformDecoderTool : public AthAlgTool {
 
  public:
-  ScintWaveformDecoderTool(const std::string& type, const std::string& name, 
+  RawWaveformDecoderTool(const std::string& type, const std::string& name, 
 			  const IInterface* parent);
 
-  virtual ~ScintWaveformDecoderTool();
+  virtual ~RawWaveformDecoderTool();
 
   static const InterfaceID& interfaceID();
 
   virtual StatusCode initialize();
   virtual StatusCode finalize();
 
-  StatusCode convert(const DAQFormats::EventFull* re, ScintWaveformContainer* wfm, std::string key);
+  StatusCode convert(const DAQFormats::EventFull* re, RawWaveformContainer* wfm, std::string key);
 
 private:
   // List of channels to include in each container
@@ -42,5 +42,5 @@ private:
 
 };
 
-#endif  /* SCINTBYTESTREAM_FASERTRIGGERDECODERTOOL_H */
+#endif  /* WAVEBYTESTREAM_FASERTRIGGERDECODERTOOL_H */
  
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.cxx b/Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.cxx
similarity index 61%
rename from Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.cxx
rename to Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.cxx
index ff588cdd..189d94c5 100644
--- a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.cxx
+++ b/Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.cxx
@@ -2,12 +2,12 @@
   Copyright (C) 2020 CERN for the benefit of the FASER collaboration
 */
 
-#include "ScintByteStreamCnv.h"
-#include "ScintWaveformDecoderTool.h"
+#include "WaveByteStreamCnv.h"
+#include "RawWaveformDecoderTool.h"
 
 #include "FaserByteStreamCnvSvcBase/IFaserROBDataProviderSvc.h"
-#include "ScintRawEvent/ScintWaveform.h"
-#include "ScintRawEvent/ScintWaveformContainer.h"
+#include "WaveRawEvent/RawWaveform.h"
+#include "WaveRawEvent/RawWaveformContainer.h"
 #include "EventFormats/DAQFormats.hpp"
 
 #include "AthenaKernel/errorcheck.h"
@@ -21,26 +21,26 @@
 
 using DAQFormats::EventFull;
 
-ScintByteStreamCnv::ScintByteStreamCnv(ISvcLocator* svcloc)
+WaveByteStreamCnv::WaveByteStreamCnv(ISvcLocator* svcloc)
   : Converter(storageType(), classID(), svcloc)
-  , AthMessaging(svcloc != nullptr ? msgSvc() : nullptr, "ScintByteStreamCnv")
-  , m_name("ScintByteStreamCnv")
-  , m_tool("ScintWaveformDecoderTool")
+  , AthMessaging(svcloc != nullptr ? msgSvc() : nullptr, "WaveByteStreamCnv")
+  , m_name("WaveByteStreamCnv")
+  , m_tool("RawWaveformDecoderTool")
   , m_rdpSvc("FaserROBDataProviderSvc", m_name)
 {
   ATH_MSG_DEBUG(m_name+"::initialize() called");
 }
 
-ScintByteStreamCnv::~ScintByteStreamCnv() {
+WaveByteStreamCnv::~WaveByteStreamCnv() {
 }
 
-const CLID& ScintByteStreamCnv::classID() 
+const CLID& WaveByteStreamCnv::classID() 
 {
   // Change to our data object
-  return ClassID_traits<ScintWaveformContainer>::ID();
+  return ClassID_traits<RawWaveformContainer>::ID();
 }
 
-StatusCode ScintByteStreamCnv::initialize() 
+StatusCode WaveByteStreamCnv::initialize() 
 {
   ATH_MSG_DEBUG(m_name+"::initialize() called");
 
@@ -51,22 +51,22 @@ StatusCode ScintByteStreamCnv::initialize()
   return StatusCode::SUCCESS;
 }
 
-StatusCode ScintByteStreamCnv::finalize() 
+StatusCode WaveByteStreamCnv::finalize() 
 {
-  ATH_MSG_DEBUG("ScintByteStreamCnv::Finalize");
+  ATH_MSG_DEBUG("WaveByteStreamCnv::Finalize");
 
   CHECK(Converter::finalize());
   return StatusCode::SUCCESS;  
 
 }
 
-StatusCode ScintByteStreamCnv::createObj(IOpaqueAddress* pAddr, DataObject*& pObj) 
+StatusCode WaveByteStreamCnv::createObj(IOpaqueAddress* pAddr, DataObject*& pObj) 
 {
-  ATH_MSG_DEBUG("ScintByteStreamCnv::createObj() called");
+  ATH_MSG_DEBUG("WaveByteStreamCnv::createObj() called");
 
   // Check that we can access raw data
   if (!m_rdpSvc) {
-    ATH_MSG_ERROR("ScintByteStreamCnv::createObj() - ROBDataProviderSvc not loaded!");
+    ATH_MSG_ERROR("WaveByteStreamCnv::createObj() - ROBDataProviderSvc not loaded!");
     return StatusCode::FAILURE;
   }
 
@@ -86,9 +86,9 @@ StatusCode ScintByteStreamCnv::createObj(IOpaqueAddress* pAddr, DataObject*& pOb
 
   // Get key used in the StoreGateSvc::retrieve function
   const std::string key = *(pRE_Addr->par());
-  ATH_MSG_DEBUG("ScintByteStreamCnv - creating objects "+key);
+  ATH_MSG_DEBUG("WaveByteStreamCnv - creating objects "+key);
 
-  ScintWaveformContainer* wfmCont = new ScintWaveformContainer;
+  RawWaveformContainer* wfmCont = new RawWaveformContainer;
 
   // Convert selected channels
 
@@ -96,7 +96,7 @@ StatusCode ScintByteStreamCnv::createObj(IOpaqueAddress* pAddr, DataObject*& pOb
   
   pObj = SG::asStorable(wfmCont);
 
-  ATH_MSG_DEBUG(" New xAOD::ScintWaveformData created");
+  ATH_MSG_DEBUG(" New xAOD::RawWaveformData created");
   return StatusCode::SUCCESS;
 }
 
diff --git a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.h b/Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.h
similarity index 72%
rename from Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.h
rename to Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.h
index 4b296547..043ebef5 100644
--- a/Scintillator/ScintEventCnv/ScintByteStream/src/ScintByteStreamCnv.h
+++ b/Waveform/WaveEventCnv/WaveByteStream/src/WaveByteStreamCnv.h
@@ -4,8 +4,8 @@
   Copyright (C) 2020 CERN for the benefit of the ATLAS collaboration
 */
 
-#ifndef SCINTBYTESTREAM_SCINTBYTESTREAMCNV_H
-#define SCINTBYTESTREAM_SCINTBYTESTREAMCNV_H
+#ifndef WAVEBYTESTREAM_WAVEBYTESTREAMCNV_H
+#define WAVEBYTESTREAM_WAVEBYTESTREAMCNV_H
 
 #include "GaudiKernel/ClassID.h"
 #include "GaudiKernel/Converter.h"
@@ -15,17 +15,17 @@
 #include "AthenaBaseComps/AthMessaging.h"
 #include "FaserByteStreamCnvSvcBase/FaserByteStreamAddress.h"
 
-class ScintWaveformDecoderTool;
+class RawWaveformDecoderTool;
 class IFaserROBDataProviderSvc;
 
 // Abstract factory to create the converter
 template <class TYPE> class CnvFactory;
 
-class ScintByteStreamCnv: public Converter, public AthMessaging {
+class WaveByteStreamCnv: public Converter, public AthMessaging {
 
 public: 
-  ScintByteStreamCnv(ISvcLocator* svcloc);
-  virtual ~ScintByteStreamCnv();
+  WaveByteStreamCnv(ISvcLocator* svcloc);
+  virtual ~WaveByteStreamCnv();
   
   virtual StatusCode initialize() override;
   virtual StatusCode finalize() override;
@@ -38,11 +38,11 @@ public:
   
 private:
   std::string m_name;
-  ToolHandle<ScintWaveformDecoderTool> m_tool;
+  ToolHandle<RawWaveformDecoderTool> m_tool;
   ServiceHandle<IFaserROBDataProviderSvc> m_rdpSvc;
 
 };
 
-#endif  /* SCINTBYTESTREAM_SCINTBYTESTREAMCNV_H */
+#endif  /* WAVEBYTESTREAM_WAVEBYTESTREAMCNV_H */
 
 
diff --git a/Waveform/WaveEventCnv/WaveByteStream/src/components/WaveByteStream_entries.cxx b/Waveform/WaveEventCnv/WaveByteStream/src/components/WaveByteStream_entries.cxx
new file mode 100644
index 00000000..388644f6
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveByteStream/src/components/WaveByteStream_entries.cxx
@@ -0,0 +1,6 @@
+#include "../RawWaveformDecoderTool.h"
+#include "../WaveByteStreamCnv.h"
+
+DECLARE_COMPONENT( RawWaveformDecoderTool )
+
+DECLARE_CONVERTER( WaveByteStreamCnv )
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/CMakeLists.txt b/Waveform/WaveEventCnv/WaveEventAthenaPool/CMakeLists.txt
similarity index 51%
rename from Scintillator/ScintEventCnv/ScintEventAthenaPool/CMakeLists.txt
rename to Waveform/WaveEventCnv/WaveEventAthenaPool/CMakeLists.txt
index b68ac1d6..864bc5da 100644
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/CMakeLists.txt
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/CMakeLists.txt
@@ -1,28 +1,28 @@
 # $Id: CMakeLists.txt 749562 2016-05-25 04:45:43Z krasznaa $
 ################################################################################
-# Package: ScintEventAthenaPool
+# Package: WaveEventAthenaPool
 ################################################################################
 
 # Declare the package name:
-atlas_subdir( ScintEventAthenaPool )
+atlas_subdir( WaveEventAthenaPool )
 
 # Component(s) in the package:
-atlas_add_poolcnv_library( ScintEventAthenaPoolPoolCnv
-   ScintEventAthenaPool/*.h src/*.h src/*.cxx
-   FILES ScintRawEvent/ScintWaveform.h
-   ScintRawEvent/ScintWaveformContainer.h
+atlas_add_poolcnv_library( WaveEventAthenaPoolPoolCnv
+   WaveEventAthenaPool/*.h src/*.h src/*.cxx
+   FILES WaveRawEvent/RawWaveform.h
+   WaveRawEvent/RawWaveformContainer.h
    LINK_LIBRARIES Identifier GeneratorObjectsTPCnv AthAllocators AthContainers
    AthenaBaseComps AthenaKernel SGTools StoreGateLib AthenaPoolCnvSvcLib
-   AthenaPoolUtilities AtlasSealCLHEP GaudiKernel ScintRawEvent
+   AthenaPoolUtilities AtlasSealCLHEP GaudiKernel WaveRawEvent
    )
 
-atlas_add_dictionary( ScintEventAthenaPoolCnvDict
-   ScintEventAthenaPool/ScintEventAthenaPoolCnvDict.h
-   ScintEventAthenaPool/selection.xml
+atlas_add_dictionary( WaveEventAthenaPoolCnvDict
+   WaveEventAthenaPool/WaveEventAthenaPoolCnvDict.h
+   WaveEventAthenaPool/selection.xml
    LINK_LIBRARIES Identifier GeneratorObjectsTPCnv )
 
 # Install files from the package:
-atlas_install_headers( ScintEventAthenaPool )
+atlas_install_headers( WaveEventAthenaPool )
 
 
 
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveformContainer_p0.h b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveformContainer_p0.h
similarity index 56%
rename from Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveformContainer_p0.h
rename to Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveformContainer_p0.h
index 1c7b327d..c36eb219 100644
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveformContainer_p0.h
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveformContainer_p0.h
@@ -2,18 +2,18 @@
   Copyright (C) 2020 CERN for the benefit of the FASER collaboration
 */
 
-#ifndef SCINTWAVEFORMCONTAINER_P0_H
-#define SCINTWAVEFORMCONTAINER_P0_H
+#ifndef RAWWAVEFORMCONTAINER_P0_H
+#define RAWWAVEFORMCONTAINER_P0_H
 
-// Persistent represenation of a ScintWaveformContainer.
+// Persistent represenation of a RawWaveformContainer.
 
 #include <vector>
-#include "ScintEventAthenaPool/ScintWaveform_p0.h"
+#include "WaveEventAthenaPool/RawWaveform_p0.h"
 
-class ScintWaveformContainer_p0 {
+class RawWaveformContainer_p0 {
  public:
-  ScintWaveformContainer_p0();
-  friend class ScintWaveformContainerCnv_p0;
+  RawWaveformContainer_p0();
+  friend class RawWaveformContainerCnv_p0;
  private:
   bool         m_board_fail_flag;
   unsigned int m_board_id;
@@ -22,11 +22,11 @@ class ScintWaveformContainer_p0 {
   unsigned int m_event_counter;
   unsigned int m_trigger_time_tag;
   unsigned int m_samples;
-  std::vector<ScintWaveform_p0> m_waveforms;
+  std::vector<RawWaveform_p0> m_waveforms;
 };
 
 inline
-ScintWaveformContainer_p0::ScintWaveformContainer_p0() : m_board_fail_flag(0),
+RawWaveformContainer_p0::RawWaveformContainer_p0() : m_board_fail_flag(0),
 			  m_board_id(0), 
 			  m_pattern_trig_options(0),
 			  m_channel_mask(0),
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveform_p0.h b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveform_p0.h
similarity index 76%
rename from Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveform_p0.h
rename to Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveform_p0.h
index e91c8811..e4721fef 100644
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/ScintEventAthenaPool/ScintWaveform_p0.h
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/RawWaveform_p0.h
@@ -2,19 +2,19 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#ifndef SCINTWAVEFORM_P0_H
-#define SCINTWAVEFORM_P0_H
+#ifndef RAWWAVEFORM_P0_H
+#define RAWWAVEFORM_P0_H
 
 #include <vector>
 #include <iostream>
 #include <iomanip>
 
-class ScintWaveform_p0 {
+class RawWaveform_p0 {
  public:
-  ScintWaveform_p0();
+  RawWaveform_p0();
 
 // List of Cnv classes that convert this into Rdo objects
-  friend class ScintWaveformCnv_p0;
+  friend class RawWaveformCnv_p0;
 
  private:
   unsigned int m_ID;
@@ -30,13 +30,13 @@ class ScintWaveform_p0 {
 };
 
 inline
-ScintWaveform_p0::ScintWaveform_p0() : m_channel(0) { 
+RawWaveform_p0::RawWaveform_p0() : m_channel(0) { 
   m_adc_counts.clear(); 
 }
 
 // Stream operator for debugging
 //std::ostream
-//&operator<<(std::ostream &out, const ScintWaveform_p0 &wfm) {
+//&operator<<(std::ostream &out, const RawWaveform_p0 &wfm) {
 //  return wfm.print(out);
 //}
 
diff --git a/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/WaveEventAthenaPoolCnvDict.h b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/WaveEventAthenaPoolCnvDict.h
new file mode 100644
index 00000000..a7b792ab
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/WaveEventAthenaPoolCnvDict.h
@@ -0,0 +1,11 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef WAVEEVENTATHENAPOOLCNVDICT_H
+#define WAVEEVENTATHENAPOOLCNVDICT_H
+
+#include "WaveEventAthenaPool/RawWaveform_p0.h"
+#include "WaveEventAthenaPool/RawWaveformContainer_p0.h"
+
+#endif
diff --git a/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/selection.xml b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/selection.xml
new file mode 100644
index 00000000..617ca786
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/WaveEventAthenaPool/selection.xml
@@ -0,0 +1,4 @@
+<lcgdict>
+  <class name="RawWaveform_p0" />
+  <class name="RawWaveformContainer_p0" id="344d904d-6338-41f1-94ee-ea609ea4ae44" />
+</lcgdict>
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.cxx b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.cxx
similarity index 61%
rename from Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.cxx
rename to Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.cxx
index 47784976..d298c0ff 100644
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformCnv_p0.cxx
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.cxx
@@ -2,13 +2,13 @@
   Copyright (C) 2020 CERN for the benefit of the FASER collaboration
 */
 
-#include "ScintWaveformCnv_p0.h"
+#include "RawWaveformCnv_p0.h"
 
 void
-ScintWaveformCnv_p0::persToTrans(const ScintWaveform_p0* persObj, ScintWaveform* transObj, MsgStream& /*log*/) {
+RawWaveformCnv_p0::persToTrans(const RawWaveform_p0* persObj, RawWaveform* transObj, MsgStream& /*log*/) {
 
   // Just fill available data here
-  // Rest of it patched up in ScintWaveformContainerCnv_p0
+  // Rest of it patched up in RawWaveformContainerCnv_p0
   transObj->setIdentifier(persObj->m_ID);
   transObj->setChannel(persObj->m_channel);
   transObj->setCounts(persObj->m_adc_counts);
@@ -16,9 +16,9 @@ ScintWaveformCnv_p0::persToTrans(const ScintWaveform_p0* persObj, ScintWaveform*
 }
 
 void
-ScintWaveformCnv_p0::transToPers(const ScintWaveform* transObj, ScintWaveform_p0* persObj, MsgStream& /*log*/) {
+RawWaveformCnv_p0::transToPers(const RawWaveform* transObj, RawWaveform_p0* persObj, MsgStream& /*log*/) {
 
-  // log << MSG::DEBUG << "ScintWaveformCnv_p0::transToPers called" << endmsg;
+  // log << MSG::DEBUG << "RawWaveformCnv_p0::transToPers called" << endmsg;
   // log << MSG::DEBUG << "Transient waveform:" << endmsg;
   // log << MSG::DEBUG << (*transObj) << endmsg;
   // log << MSG::DEBUG << "Persistent waveform (before):" << endmsg;
@@ -31,6 +31,6 @@ ScintWaveformCnv_p0::transToPers(const ScintWaveform* transObj, ScintWaveform_p0
 
   // log << MSG::DEBUG << "Persistent waveform (after):" << endmsg;
   // persObj->print();
-  // log << MSG::DEBUG << "ScintWaveformCnv_p0::transToPers done" << endmsg;
+  // log << MSG::DEBUG << "RawWaveformCnv_p0::transToPers done" << endmsg;
 
 }
diff --git a/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.h b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.h
new file mode 100644
index 00000000..1bd08daa
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformCnv_p0.h
@@ -0,0 +1,27 @@
+/*
+  Copyright (C) 2020 CERN for the benefit of the FASER collaboration
+*/
+
+#ifndef WAVEWAVEFORMCNV_P0_H
+#define WAVEWAVEFORMCNV_P0_H
+
+#include "WaveRawEvent/RawWaveform.h"
+#include "WaveEventAthenaPool/RawWaveform_p0.h"
+
+#include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
+
+class RawWaveformCnv_p0 : public T_AthenaPoolTPCnvBase<RawWaveform, RawWaveform_p0> {
+ public:
+  RawWaveformCnv_p0() {};
+
+  virtual void persToTrans(const RawWaveform_p0* persObj,
+			   RawWaveform* transObj,
+			   MsgStream& log);
+
+  virtual void transToPers(const RawWaveform* transObj,
+			   RawWaveform_p0* persObj,
+			   MsgStream& log);
+ private:
+};
+
+#endif
diff --git a/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.cxx b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.cxx
new file mode 100644
index 00000000..dfdf19da
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.cxx
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2020 CERN for the benefit of the FASER collaboration
+*/
+
+#include "RawWaveformContainerCnv.h"
+
+RawWaveformContainer_PERS* 
+RawWaveformContainerCnv::createPersistent (RawWaveformContainer* transCont) {
+  ATH_MSG_DEBUG("RawWaveformContainerCnv::createPersistent()");
+
+  RawWaveformContainerCnv_PERS converter;
+
+  RawWaveformContainer_PERS* persObj(nullptr);
+  persObj = converter.createPersistent( transCont, msg() );
+  return persObj;
+}
+
+RawWaveformContainer* 
+RawWaveformContainerCnv::createTransient() {
+  ATH_MSG_DEBUG("RawWaveformContainerCnv::createTransient()");
+
+  static const pool::Guid p0_guid("344d904d-6338-41f1-94ee-ea609ea4ae44");
+  RawWaveformContainer* trans(0);
+
+  // Check for GUID of each persistent type
+  if ( compareClassGuid(p0_guid) ) {
+    std::unique_ptr< RawWaveformContainer_p0 > col_vect( poolReadObject< RawWaveformContainer_p0 >() );
+
+    RawWaveformContainerCnv_p0 converter_p0;
+    trans = converter_p0.createTransient( col_vect.get(), msg() );
+
+  } else {
+
+    // Didn't find a known type
+    throw std::runtime_error("Unsupported persistent version of RawWaveformContainer");
+  }
+
+  return trans;
+
+}
+
+
diff --git a/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.h b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.h
new file mode 100644
index 00000000..1430d855
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv.h
@@ -0,0 +1,33 @@
+/*
+ Copyright 2020 CERN for the benefit of the FASER collaboration
+*/
+
+#ifndef WAVEWAVEFORMCONTAINERCNV_H
+#define WAVEWAVEFORMCONTAINERCNV_H
+
+#include "AthenaPoolCnvSvc/T_AthenaPoolCustomCnv.h"
+
+#include "RawWaveformContainerCnv_p0.h"
+
+#include "WaveRawEvent/RawWaveformContainer.h"
+#include "WaveEventAthenaPool/RawWaveformContainer_p0.h"
+
+// The latest persistent representation
+typedef RawWaveformContainer_p0 RawWaveformContainer_PERS;
+typedef RawWaveformContainerCnv_p0 RawWaveformContainerCnv_PERS;
+
+typedef T_AthenaPoolCustomCnv< RawWaveformContainer, RawWaveformContainer_PERS > RawWaveformContainerCnvBase;
+
+class RawWaveformContainerCnv : public RawWaveformContainerCnvBase {
+  friend class CnvFactory<RawWaveformContainerCnv>;
+
+ public:
+  RawWaveformContainerCnv (ISvcLocator* svcloc) : RawWaveformContainerCnvBase(svcloc) {}
+
+ protected:
+  virtual RawWaveformContainer_PERS* createPersistent (RawWaveformContainer* transCont);
+  virtual RawWaveformContainer* createTransient ();
+
+};
+
+#endif
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.cxx b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.cxx
similarity index 61%
rename from Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.cxx
rename to Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.cxx
index 9db3a125..cadd7f52 100644
--- a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainerCnv_p0.cxx
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.cxx
@@ -2,23 +2,23 @@
   Copyright (C) 2020 CERN for the benefit of the FASER collaboration
 */
 
-#include "ScintWaveformContainerCnv_p0.h"
-#include "ScintWaveformCnv_p0.h"
+#include "RawWaveformContainerCnv_p0.h"
+#include "RawWaveformCnv_p0.h"
 
 void
-ScintWaveformContainerCnv_p0::persToTrans(const ScintWaveformContainer_p0* persCont, ScintWaveformContainer* transCont, MsgStream& log) {
+RawWaveformContainerCnv_p0::persToTrans(const RawWaveformContainer_p0* persCont, RawWaveformContainer* transCont, MsgStream& log) {
 
-  log << MSG::DEBUG << "ScintWaveformContainerCnv_p0::persToTrans called" << endmsg;
+  log << MSG::DEBUG << "RawWaveformContainerCnv_p0::persToTrans called" << endmsg;
 
-  ScintWaveformCnv_p0 waveformCnv;
+  RawWaveformCnv_p0 waveformCnv;
 
   // Clear this, transient container is DataVector, which stores pointers
   // Create them below and push back to fill
   transCont->clear();
 
   for (unsigned int index = 0; index < persCont->m_waveforms.size(); ++index) {
-    std::unique_ptr<ScintWaveform> data = std::make_unique<ScintWaveform>();
-    const ScintWaveform_p0* pdata = &persCont->m_waveforms.at(index);
+    std::unique_ptr<RawWaveform> data = std::make_unique<RawWaveform>();
+    const RawWaveform_p0* pdata = &persCont->m_waveforms.at(index);
     waveformCnv.persToTrans(pdata, data.get(), log);
     
     // Fill other values held by container in persistent class
@@ -35,24 +35,24 @@ ScintWaveformContainerCnv_p0::persToTrans(const ScintWaveformContainer_p0* persC
 }
 
 void
-ScintWaveformContainerCnv_p0::transToPers(const ScintWaveformContainer* transCont,ScintWaveformContainer_p0* persCont, MsgStream& log) {
+RawWaveformContainerCnv_p0::transToPers(const RawWaveformContainer* transCont,RawWaveformContainer_p0* persCont, MsgStream& log) {
   log << MSG::ALWAYS << "transCont = " << transCont << " / persCont = " << persCont << endmsg;
-  log << MSG::ALWAYS << "ScintWaveformContainerCnv_p0::transToPers preparing " << transCont->size() << " waveforms" << endmsg;
+  log << MSG::ALWAYS << "RawWaveformContainerCnv_p0::transToPers preparing " << transCont->size() << " waveforms" << endmsg;
 
   // If trans container is empty, nothing else to do
   if (!transCont->size()) {
-    log << MSG::DEBUG << "ScintWaveformContainerCnv_p0::transToPers found empty container, exiting!" << endmsg;
+    log << MSG::DEBUG << "RawWaveformContainerCnv_p0::transToPers found empty container, exiting!" << endmsg;
     return;
   }
 
-  ScintWaveformCnv_p0 waveformCnv;
+  RawWaveformCnv_p0 waveformCnv;
 
-  typedef ScintWaveformContainer TRANS;
+  typedef RawWaveformContainer TRANS;
   TRANS::const_iterator it_Cont = transCont->begin();
   TRANS::const_iterator it_ContEnd = transCont->end();
 
   // Fill common information
-  const ScintWaveform* transObj = (*it_Cont);
+  const RawWaveform* transObj = (*it_Cont);
   persCont->m_board_fail_flag = transObj->board_fail_flag();
   persCont->m_board_id = transObj->board_id();
   persCont->m_pattern_trig_options = transObj->pattern_trig_options();
@@ -67,11 +67,11 @@ ScintWaveformContainerCnv_p0::transToPers(const ScintWaveformContainer* transCon
   for (int index=0; it_Cont != it_ContEnd; it_Cont++, index++) {
     // Add new collection
     log << MSG::DEBUG << "Converting waveform " << index << endmsg;
-    const ScintWaveform* data = (*it_Cont);
-    ScintWaveform_p0* pdata = &(persCont->m_waveforms.at(index));
+    const RawWaveform* data = (*it_Cont);
+    RawWaveform_p0* pdata = &(persCont->m_waveforms.at(index));
     waveformCnv.transToPers(data, pdata, log);
   }
 
-  log << MSG::DEBUG << "ScintWaveformContainerCnv_p0::transToPers finished" << endmsg;
+  log << MSG::DEBUG << "RawWaveformContainerCnv_p0::transToPers finished" << endmsg;
 
 }
diff --git a/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.h b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.h
new file mode 100644
index 00000000..efd8607b
--- /dev/null
+++ b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainerCnv_p0.h
@@ -0,0 +1,28 @@
+/*
+ Copyright 2020 CERN for the benefit of the FASER collaboration
+*/
+
+#ifndef WAVEWAVEFORMCONTAINERCNV_P0_H
+#define WAVEWAVEFORMCONTAINERCNV_P0_H
+
+#include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
+
+#include "WaveRawEvent/RawWaveformContainer.h"
+#include "WaveEventAthenaPool/RawWaveformContainer_p0.h"
+
+class RawWaveformContainerCnv_p0 : public T_AthenaPoolTPCnvBase<RawWaveformContainer, RawWaveformContainer_p0> {
+
+ public:
+  RawWaveformContainerCnv_p0() {};
+
+  virtual void persToTrans(const RawWaveformContainer_p0* persCont,
+			   RawWaveformContainer* transCont, 
+			   MsgStream& log);
+
+  virtual void transToPers(const RawWaveformContainer* transCont, 
+			   RawWaveformContainer_p0* persCont, 
+			   MsgStream& log);
+
+};
+
+#endif
diff --git a/Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainer_p0.cxx b/Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainer_p0.cxx
similarity index 100%
rename from Scintillator/ScintEventCnv/ScintEventAthenaPool/src/ScintWaveformContainer_p0.cxx
rename to Waveform/WaveEventCnv/WaveEventAthenaPool/src/RawWaveformContainer_p0.cxx
diff --git a/Scintillator/ScintRawEvent/CMakeLists.txt b/Waveform/WaveRawEvent/CMakeLists.txt
similarity index 71%
rename from Scintillator/ScintRawEvent/CMakeLists.txt
rename to Waveform/WaveRawEvent/CMakeLists.txt
index 4f97a2a9..48473bf8 100644
--- a/Scintillator/ScintRawEvent/CMakeLists.txt
+++ b/Waveform/WaveRawEvent/CMakeLists.txt
@@ -1,27 +1,27 @@
 ################################################################################
-# Package: ScintRawEvent
+# Package: WaveRawEvent
 ################################################################################
 
 # Declare the package name:
-atlas_subdir( ScintRawEvent )
+atlas_subdir( WaveRawEvent )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
-atlas_add_library( ScintRawEvent
+atlas_add_library( WaveRawEvent
                    src/*.cxx
-                   PUBLIC_HEADERS ScintRawEvent
+                   PUBLIC_HEADERS WaveRawEvent
                    INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
                    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${CLHEP_LIBRARIES} AthAllocators AthenaKernel CxxUtils StoreGateLib SGtests
                    PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ScintIdentifier EventFormats )
 
-atlas_add_dictionary( ScintRawEventDict
-                      ScintRawEvent/ScintRawEventDict.h
-                      ScintRawEvent/selection.xml
+atlas_add_dictionary( WaveRawEventDict
+                      WaveRawEvent/WaveRawEventDict.h
+                      WaveRawEvent/selection.xml
                       INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
-                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthAllocators CxxUtils StoreGateLib ScintIdentifier ScintRawEvent )
+                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthAllocators CxxUtils StoreGateLib ScintIdentifier WaveRawEvent )
 
diff --git a/Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveform.h b/Waveform/WaveRawEvent/WaveRawEvent/RawWaveform.h
similarity index 73%
rename from Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveform.h
rename to Waveform/WaveRawEvent/WaveRawEvent/RawWaveform.h
index c7598d44..6ea6d903 100644
--- a/Scintillator/ScintRawEvent/ScintRawEvent/ScintWaveform.h
+++ b/Waveform/WaveRawEvent/WaveRawEvent/RawWaveform.h
@@ -3,15 +3,15 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// ScintWaveform.h
-//   Header file for class ScintWaveform
+// RawWaveform.h
+//   Header file for class RawWaveform
 ///////////////////////////////////////////////////////////////////
 // Class for the raw waveform data for all scintillator detectors
 // This is a direct conversion of the DigitizerDataFragment data
 ///////////////////////////////////////////////////////////////////
 
-#ifndef SCINTRAWEVENT_SCINTWAVEFORM_H
-#define SCINTRAWEVENT_SCINTWAVEFORM_H
+#ifndef WAVERAWEVENT_RAWWAVEFORM_H
+#define WAVERAWEVENT_RAWWAVEFORM_H
 
 #include <bitset>
 #include <vector>
@@ -23,7 +23,7 @@
 
 class DigitizerDataFragment;
 
-class ScintWaveform  {
+class RawWaveform  {
 
   ///////////////////////////////////////////////////////////////////
   // Public methods:
@@ -31,17 +31,17 @@ class ScintWaveform  {
 public:
 
   // Default constructor
-  ScintWaveform();
+  RawWaveform();
 
   // Destructor:
-  virtual ~ScintWaveform(); 
+  virtual ~RawWaveform(); 
   
   //move assignment defaulted
-  ScintWaveform & operator = (ScintWaveform &&) = default;
+  RawWaveform & operator = (RawWaveform &&) = default;
   //assignment defaulted
-  ScintWaveform & operator = (const ScintWaveform &) = default;
+  RawWaveform & operator = (const RawWaveform &) = default;
   //copy c'tor defaulted
-  ScintWaveform(const ScintWaveform &) = default;
+  RawWaveform(const RawWaveform &) = default;
 
   ///////////////////////////////////////////////////////////////////
   // Const methods:
@@ -65,7 +65,7 @@ public:
   // some print-out:
   void print() const;
 
-  bool operator < (const ScintWaveform& rhs) const
+  bool operator < (const RawWaveform& rhs) const
   {return m_ID < rhs.m_ID;}
 
   // Set functions
@@ -108,38 +108,38 @@ private:
 ///////////////////////////////////////////////////////////////////
 
 inline unsigned int
-ScintWaveform::channel() const { return m_channel; }
+RawWaveform::channel() const { return m_channel; }
 
 inline unsigned int 
-ScintWaveform::board_id() const { return m_board_id; }
+RawWaveform::board_id() const { return m_board_id; }
 
 inline bool 
-ScintWaveform::board_fail_flag() const { return m_board_fail_flag; }
+RawWaveform::board_fail_flag() const { return m_board_fail_flag; }
 
 inline unsigned int 
-ScintWaveform::pattern_trig_options() const { return m_pattern_trig_options; }
+RawWaveform::pattern_trig_options() const { return m_pattern_trig_options; }
 
 inline unsigned int 
-ScintWaveform::channel_mask() const { return m_channel_mask; }
+RawWaveform::channel_mask() const { return m_channel_mask; }
 
 inline unsigned int 
-ScintWaveform::event_counter() const { return m_event_counter; }
+RawWaveform::event_counter() const { return m_event_counter; }
 
 inline unsigned int 
-ScintWaveform::trigger_time_tag() const { return m_trigger_time_tag; }
+RawWaveform::trigger_time_tag() const { return m_trigger_time_tag; }
 
 inline unsigned int 
-ScintWaveform::n_samples() const { return m_samples; }
+RawWaveform::n_samples() const { return m_samples; }
 
 inline const std::vector<unsigned int>&
-ScintWaveform::adc_counts() const { return m_adc_counts; }
+RawWaveform::adc_counts() const { return m_adc_counts; }
 
 inline unsigned int 
-ScintWaveform::identify() const { return m_ID; }
+RawWaveform::identify() const { return m_ID; }
 
 std::ostream 
-&operator<<(std::ostream &out, const ScintWaveform &wfm);
+&operator<<(std::ostream &out, const RawWaveform &wfm);
 
-CLASS_DEF( ScintWaveform, 193792541, 1 )
+CLASS_DEF( RawWaveform, 17563068, 1 )
 
-#endif // SCINTRAWEVENT_SCINTWAVEFORM_H
+#endif // WAVERAWEVENT_RAWWAVEFORM_H
diff --git a/Waveform/WaveRawEvent/WaveRawEvent/RawWaveformContainer.h b/Waveform/WaveRawEvent/WaveRawEvent/RawWaveformContainer.h
new file mode 100644
index 00000000..ad502ea1
--- /dev/null
+++ b/Waveform/WaveRawEvent/WaveRawEvent/RawWaveformContainer.h
@@ -0,0 +1,24 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef WAVERAWEVENT_RAWWAVEFORMCONTAINER_H
+#define WAVERAWEVENT_RAWWAVEFORMCONTAINER_H
+
+#include "WaveRawEvent/RawWaveform.h"
+#include "AthContainers/DataVector.h"
+#include "AthenaKernel/CLASS_DEF.h"
+
+// Make this a class in case we need to add some functions
+class RawWaveformContainer : public DataVector<RawWaveform> {
+ public:
+  void print() const;
+};
+
+std::ostream 
+&operator<<(std::ostream &out, const RawWaveformContainer &container);
+
+CLASS_DEF(RawWaveformContainer, 1275584332, 1 )
+SG_BASE(RawWaveformContainer, DataVector<RawWaveform>);
+
+#endif // WAVERAWEVENT_RAWWAVEFORMCONTAINER_H
diff --git a/Waveform/WaveRawEvent/WaveRawEvent/WaveRawEventDict.h b/Waveform/WaveRawEvent/WaveRawEvent/WaveRawEventDict.h
new file mode 100644
index 00000000..e8f14a9c
--- /dev/null
+++ b/Waveform/WaveRawEvent/WaveRawEvent/WaveRawEventDict.h
@@ -0,0 +1,10 @@
+/*
+  Copyright (C) 2020 CERN for the benefit of the FASER collaboration
+*/
+
+#ifndef WAVERAWEVENT_WAVERAWEVENTDICT_H
+#define WAVERAWEVENT_WAVERAWEVENTDICT_H
+
+#include "WaveRawEvent/RawWaveformContainer.h"
+
+#endif
diff --git a/Waveform/WaveRawEvent/WaveRawEvent/selection.xml b/Waveform/WaveRawEvent/WaveRawEvent/selection.xml
new file mode 100644
index 00000000..9429780d
--- /dev/null
+++ b/Waveform/WaveRawEvent/WaveRawEvent/selection.xml
@@ -0,0 +1,7 @@
+<lcgdict>
+  <class name="RawWaveformContainer" id="f40fd51f-b70e-4cc8-971d-b6ab5c751a86" />
+  <class name="DataVector<RawWaveform>" id="e4b393bd-e9b8-458a-8691-b0ebbfd6999c" />
+  <class name="std::vector<RawWaveform*>" />
+  <class name="std::vector<const RawWaveform*>" />
+  <class name="RawWaveform" />
+</lcgdict>
diff --git a/Scintillator/ScintRawEvent/src/ScintWaveform.cxx b/Waveform/WaveRawEvent/src/RawWaveform.cxx
similarity index 85%
rename from Scintillator/ScintRawEvent/src/ScintWaveform.cxx
rename to Waveform/WaveRawEvent/src/RawWaveform.cxx
index bc9f5eb9..13700a73 100644
--- a/Scintillator/ScintRawEvent/src/ScintWaveform.cxx
+++ b/Waveform/WaveRawEvent/src/RawWaveform.cxx
@@ -2,12 +2,12 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#include "ScintRawEvent/ScintWaveform.h"
+#include "WaveRawEvent/RawWaveform.h"
 #include "EventFormats/DigitizerDataFragment.hpp"
 
 // Default consdtructor 
 //
-ScintWaveform::ScintWaveform( ) :
+RawWaveform::RawWaveform( ) :
   m_board_id(0),
   m_board_fail_flag(1),
   m_pattern_trig_options(0),
@@ -22,15 +22,15 @@ ScintWaveform::ScintWaveform( ) :
 
 }
 
-ScintWaveform::~ScintWaveform() {}
+RawWaveform::~RawWaveform() {}
 
 void
-ScintWaveform::setIdentifier(unsigned int id) {
+RawWaveform::setIdentifier(unsigned int id) {
   m_ID = id;
 }
 
 void
-ScintWaveform::setHeader(const DigitizerDataFragment* frag) {
+RawWaveform::setHeader(const DigitizerDataFragment* frag) {
   m_board_id = frag->board_id();
   m_pattern_trig_options = frag->pattern_trig_options();
   m_channel_mask = frag->channel_mask();
@@ -40,7 +40,7 @@ ScintWaveform::setHeader(const DigitizerDataFragment* frag) {
 }
 
 void
-ScintWaveform::setWaveform(unsigned int channel, const std::vector<uint16_t> waveform) {
+RawWaveform::setWaveform(unsigned int channel, const std::vector<uint16_t> waveform) {
   m_channel = channel;
 
   // Make sure the vector is empty first
@@ -51,7 +51,7 @@ ScintWaveform::setWaveform(unsigned int channel, const std::vector<uint16_t> wav
 }
 
 std::ostream 
-&operator<<(std::ostream &out, const ScintWaveform &wfm) {
+&operator<<(std::ostream &out, const RawWaveform &wfm) {
   out << "Waveform data channel:" << std::dec << wfm.channel() << std::endl;
   out << std::setw(30) << " board_id:             "<<std::setfill(' ')<<std::setw(32)<<std::dec<<wfm.board_id()<<std::setfill(' ')<<std::endl;
   out << std::setw(30) << " board_fail_flag:      "<<std::setfill(' ')<<std::setw(32)<<std::dec<<wfm.board_fail_flag()<<std::setfill(' ')<<std::endl;
diff --git a/Scintillator/ScintRawEvent/src/ScintWaveformContainer.cxx b/Waveform/WaveRawEvent/src/RawWaveformContainer.cxx
similarity index 62%
rename from Scintillator/ScintRawEvent/src/ScintWaveformContainer.cxx
rename to Waveform/WaveRawEvent/src/RawWaveformContainer.cxx
index 2a71ab81..b1a0da82 100644
--- a/Scintillator/ScintRawEvent/src/ScintWaveformContainer.cxx
+++ b/Waveform/WaveRawEvent/src/RawWaveformContainer.cxx
@@ -1,13 +1,13 @@
-#include "ScintRawEvent/ScintWaveformContainer.h"
+#include "WaveRawEvent/RawWaveformContainer.h"
 
 void
-ScintWaveformContainer::print() const {
+RawWaveformContainer::print() const {
   std::cout << "Waveform container with size=" << this->size() << std::endl;
   for(auto wfm: *this) std::cout << *wfm;
 }
 
 std::ostream
-&operator<<(std::ostream &out, const ScintWaveformContainer& cont) {
+&operator<<(std::ostream &out, const RawWaveformContainer& cont) {
   out << "Waveform container with size=" << cont.size() << std::endl;
   for(auto wfm: cont) out << *wfm;
   return out;
diff --git a/Scintillator/ScintRecAlgs/CMakeLists.txt b/Waveform/WaveRecAlgs/CMakeLists.txt
similarity index 74%
rename from Scintillator/ScintRecAlgs/CMakeLists.txt
rename to Waveform/WaveRecAlgs/CMakeLists.txt
index 7ad17761..c72671bf 100644
--- a/Scintillator/ScintRecAlgs/CMakeLists.txt
+++ b/Waveform/WaveRecAlgs/CMakeLists.txt
@@ -1,15 +1,15 @@
 ################################################################################
-# Package: ScintRecAlgs
+# Package: WaveRecAlgs
 ################################################################################
 
 # Declare the package name:
-atlas_subdir( ScintRecAlgs )
+atlas_subdir( WaveRecAlgs )
 
 # Component(s) in the package:
-atlas_add_component( ScintRecAlgs
+atlas_add_component( WaveRecAlgs
                      src/*.cxx src/*.h
                      src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps StoreGateLib ScintRawEvent xAODFaserWaveform ScintRecToolsLib )
+                     LINK_LIBRARIES AthenaBaseComps StoreGateLib WaveRawEvent xAODFaserWaveform WaveRecToolsLib )
 
 atlas_install_python_modules( python/*.py )
 
diff --git a/Scintillator/ScintRecAlgs/python/ScintRecAlgsConfig.py b/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py
similarity index 95%
rename from Scintillator/ScintRecAlgs/python/ScintRecAlgsConfig.py
rename to Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py
index f96dbcaf..0c2d5ffc 100644
--- a/Scintillator/ScintRecAlgs/python/ScintRecAlgsConfig.py
+++ b/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py
@@ -32,7 +32,7 @@ def WaveformClockRecCfg(flags, name="ClockRecAlg", **kwargs):
     # tool.CheckResult = True
     kwargs.setdefault("ClockReconstructionTool", tool)
 
-    recoAlg = CompFactory.ScintClockRecAlg(name, **kwargs)
+    recoAlg = CompFactory.WaveClockRecAlg(name, **kwargs)
     recoAlg.ClockReconstructionTool = tool
     acc.addEventAlgo(recoAlg)
 
@@ -49,7 +49,7 @@ def WaveformHitRecCfg(flags, name="WaveformRecAlg", source="", **kwargs):
     kwargs.setdefault("WaveformHitContainerKey", source+"WaveformHits")
     kwargs.setdefault("WaveformReconstructionTool", tool)
               
-    recoAlg = CompFactory.ScintWaveformRecAlg(name, **kwargs)
+    recoAlg = CompFactory.RawWaveformRecAlg(name, **kwargs)
     recoAlg.WaveformReconstructionTool = tool
     acc.addEventAlgo(recoAlg)
 
diff --git a/Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.cxx b/Waveform/WaveRecAlgs/src/RawWaveformRecAlg.cxx
similarity index 84%
rename from Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.cxx
rename to Waveform/WaveRecAlgs/src/RawWaveformRecAlg.cxx
index c4e04b2e..3c6da1c0 100644
--- a/Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.cxx
+++ b/Waveform/WaveRecAlgs/src/RawWaveformRecAlg.cxx
@@ -1,13 +1,13 @@
-#include "ScintWaveformRecAlg.h"
+#include "RawWaveformRecAlg.h"
 
-ScintWaveformRecAlg::ScintWaveformRecAlg(const std::string& name, 
+RawWaveformRecAlg::RawWaveformRecAlg(const std::string& name, 
 					 ISvcLocator* pSvcLocator)
   : AthReentrantAlgorithm(name, pSvcLocator) { 
 
 }
 
 StatusCode 
-ScintWaveformRecAlg::initialize() {
+RawWaveformRecAlg::initialize() {
   ATH_MSG_INFO(name() << "::initalize()" );
 
   // Initalize tools
@@ -26,24 +26,24 @@ ScintWaveformRecAlg::initialize() {
 }
 
 StatusCode 
-ScintWaveformRecAlg::finalize() {
+RawWaveformRecAlg::finalize() {
   ATH_MSG_INFO(name() << "::finalize()");
 
   return StatusCode::SUCCESS;
 }
 
 StatusCode 
-ScintWaveformRecAlg::execute(const EventContext& ctx) const {
+RawWaveformRecAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("Executing");
 
   ATH_MSG_DEBUG("Run: " << ctx.eventID().run_number() 
 		<< " Event: " << ctx.eventID().event_number());
 
   // Find the input waveform container
-  SG::ReadHandle<ScintWaveformContainer> waveformHandle(m_waveformContainerKey, ctx);
+  SG::ReadHandle<RawWaveformContainer> waveformHandle(m_waveformContainerKey, ctx);
 
   ATH_CHECK( waveformHandle.isValid() );
-  ATH_MSG_DEBUG("Found ReadHandle for ScintWaveformContainer " << m_waveformContainerKey);
+  ATH_MSG_DEBUG("Found ReadHandle for RawWaveformContainer " << m_waveformContainerKey);
 
   if (waveformHandle->size() == 0) {
     ATH_MSG_DEBUG("Waveform container found with zero length!");
diff --git a/Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.h b/Waveform/WaveRecAlgs/src/RawWaveformRecAlg.h
similarity index 70%
rename from Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.h
rename to Waveform/WaveRecAlgs/src/RawWaveformRecAlg.h
index 7d43e975..a7120b83 100644
--- a/Scintillator/ScintRecAlgs/src/ScintWaveformRecAlg.h
+++ b/Waveform/WaveRecAlgs/src/RawWaveformRecAlg.h
@@ -1,11 +1,11 @@
-#ifndef SCINTRECALGS_SCINTWAVEFORMRECALG_H
-#define SCINTRECALGS_SCINTWAVEFORMRECALG_H
+#ifndef WAVERECALGS_RAWWAVEFORMRECALG_H
+#define WAVERECALGS_RAWWAVEFORMRECALG_H
 
 // Base class
 #include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 // Data classes
-#include "ScintRawEvent/ScintWaveformContainer.h"
+#include "WaveRawEvent/RawWaveformContainer.h"
 
 #include "xAODFaserWaveform/WaveformClock.h"
 #include "xAODFaserWaveform/WaveformClockAuxInfo.h"
@@ -15,7 +15,7 @@
 #include "xAODFaserWaveform/WaveformHitAuxContainer.h"
 
 // Tool classes
-#include "ScintRecTools/IWaveformReconstructionTool.h"
+#include "WaveRecTools/IWaveformReconstructionTool.h"
 
 // Handles
 #include "StoreGate/ReadHandleKey.h"
@@ -28,12 +28,12 @@
 // STL
 #include <string>
 
-class ScintWaveformRecAlg : public AthReentrantAlgorithm {
+class RawWaveformRecAlg : public AthReentrantAlgorithm {
 
  public:
   // Constructor
-  ScintWaveformRecAlg(const std::string& name, ISvcLocator* pSvcLocator);
-  virtual ~ScintWaveformRecAlg() = default;
+  RawWaveformRecAlg(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~RawWaveformRecAlg() = default;
 
   /** @name Usual algorithm methods */
   //@{
@@ -46,9 +46,9 @@ class ScintWaveformRecAlg : public AthReentrantAlgorithm {
 
   /** @name Disallow default instantiation, copy, assignment */
   //@{
-  ScintWaveformRecAlg() = delete;
-  ScintWaveformRecAlg(const ScintWaveformRecAlg&) = delete;
-  ScintWaveformRecAlg &operator=(const ScintWaveformRecAlg&) = delete;
+  RawWaveformRecAlg() = delete;
+  RawWaveformRecAlg(const RawWaveformRecAlg&) = delete;
+  RawWaveformRecAlg &operator=(const RawWaveformRecAlg&) = delete;
   //@}
 
   /**
@@ -61,7 +61,7 @@ class ScintWaveformRecAlg : public AthReentrantAlgorithm {
    * @name Input raw waveform data using SG::ReadHandleKey
    */
   //@{
-  SG::ReadHandleKey<ScintWaveformContainer> m_waveformContainerKey
+  SG::ReadHandleKey<RawWaveformContainer> m_waveformContainerKey
     {this, "WaveformContainerKey", ""};
   //@}
 
@@ -83,4 +83,4 @@ class ScintWaveformRecAlg : public AthReentrantAlgorithm {
 
 };
 
-#endif // SCINTRECALGS_SCINTWAVEFORMRECALG_H
+#endif // WAVERECALGS_RAWWAVEFORMRECALG_H
diff --git a/Scintillator/ScintRecAlgs/src/ScintClockRecAlg.cxx b/Waveform/WaveRecAlgs/src/WaveClockRecAlg.cxx
similarity index 89%
rename from Scintillator/ScintRecAlgs/src/ScintClockRecAlg.cxx
rename to Waveform/WaveRecAlgs/src/WaveClockRecAlg.cxx
index 11ccfa96..36891e70 100644
--- a/Scintillator/ScintRecAlgs/src/ScintClockRecAlg.cxx
+++ b/Waveform/WaveRecAlgs/src/WaveClockRecAlg.cxx
@@ -1,12 +1,12 @@
-#include "ScintClockRecAlg.h"
+#include "WaveClockRecAlg.h"
 
-ScintClockRecAlg::ScintClockRecAlg(const std::string& name, 
+WaveClockRecAlg::WaveClockRecAlg(const std::string& name, 
 				   ISvcLocator* pSvcLocator)
   : AthReentrantAlgorithm(name, pSvcLocator) { 
 }
 
 StatusCode 
-ScintClockRecAlg::initialize() {
+WaveClockRecAlg::initialize() {
   ATH_MSG_INFO(name() << "::initalize()" );
 
   // Initalize tools
@@ -22,21 +22,21 @@ ScintClockRecAlg::initialize() {
 }
 
 StatusCode 
-ScintClockRecAlg::finalize() {
+WaveClockRecAlg::finalize() {
   ATH_MSG_INFO(name() << "::finalize()");
 
   return StatusCode::SUCCESS;
 }
 
 StatusCode 
-ScintClockRecAlg::execute(const EventContext& ctx) const {
+WaveClockRecAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("Executing");
 
   ATH_MSG_DEBUG("Run: " << ctx.eventID().run_number() 
 		<< " Event: " << ctx.eventID().event_number());
 
   // Find the input waveform container
-  SG::ReadHandle<ScintWaveformContainer> waveformHandle(m_waveformContainerKey, ctx);
+  SG::ReadHandle<RawWaveformContainer> waveformHandle(m_waveformContainerKey, ctx);
 
   ATH_CHECK( waveformHandle.isValid() );
   ATH_MSG_DEBUG("Found ReadHandle for Waveforms");
diff --git a/Scintillator/ScintRecAlgs/src/ScintClockRecAlg.h b/Waveform/WaveRecAlgs/src/WaveClockRecAlg.h
similarity index 63%
rename from Scintillator/ScintRecAlgs/src/ScintClockRecAlg.h
rename to Waveform/WaveRecAlgs/src/WaveClockRecAlg.h
index 3fde8295..e6e61cfd 100644
--- a/Scintillator/ScintRecAlgs/src/ScintClockRecAlg.h
+++ b/Waveform/WaveRecAlgs/src/WaveClockRecAlg.h
@@ -1,17 +1,17 @@
-#ifndef SCINTRECALGS_SCINTCLOCKRECALG_H
-#define SCINTRECALGS_SCINTCLOCKRECALG_H
+#ifndef WAVERECALGS_WAVECLOCKRECALG_H
+#define WAVERECALGS_WAVECLOCKRECALG_H
 
 // Base class
 #include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 // Input data
-#include "ScintRawEvent/ScintWaveformContainer.h"
+#include "WaveRawEvent/RawWaveformContainer.h"
 
 // Output data
-// #include "ScintRecEvent/WaveformClock.h"
+// #include "WaveRecEvent/WaveformClock.h"
 #include "xAODFaserWaveform/WaveformClock.h"
 #include "xAODFaserWaveform/WaveformClockAuxInfo.h"
-#include "ScintRecTools/IClockReconstructionTool.h"
+#include "WaveRecTools/IClockReconstructionTool.h"
 
 #include "StoreGate/ReadHandleKey.h"
 
@@ -22,12 +22,12 @@
 // STL
 #include <string>
 
-class ScintClockRecAlg : public AthReentrantAlgorithm {
+class WaveClockRecAlg : public AthReentrantAlgorithm {
 
  public:
   // Constructor
-  ScintClockRecAlg(const std::string& name, ISvcLocator* pSvcLocator);
-  virtual ~ScintClockRecAlg() = default;
+  WaveClockRecAlg(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~WaveClockRecAlg() = default;
 
   /** @name Usual algorithm methods */
   //@{
@@ -40,9 +40,9 @@ class ScintClockRecAlg : public AthReentrantAlgorithm {
 
   /** @name Disallow default instantiation, copy, assignment */
   //@{
-  ScintClockRecAlg() = delete;
-  ScintClockRecAlg(const ScintClockRecAlg&) = delete;
-  ScintClockRecAlg &operator=(const ScintClockRecAlg&) = delete;
+  WaveClockRecAlg() = delete;
+  WaveClockRecAlg(const WaveClockRecAlg&) = delete;
+  WaveClockRecAlg &operator=(const WaveClockRecAlg&) = delete;
   //@}
 
   /**
@@ -55,7 +55,7 @@ class ScintClockRecAlg : public AthReentrantAlgorithm {
    * @name Input data using SG::ReadHandleKey
    */
   //@{
-  SG::ReadHandleKey<ScintWaveformContainer> m_waveformContainerKey
+  SG::ReadHandleKey<RawWaveformContainer> m_waveformContainerKey
     {this, "WaveformContainerKey", "ClockWaveforms"};
   //@}
 
@@ -69,4 +69,4 @@ class ScintClockRecAlg : public AthReentrantAlgorithm {
 
 };
 
-#endif // SCINTRECALGS_SCINTCLOCKRECALG_H
+#endif // WAVERECALGS_WAVECLOCKRECALG_H
diff --git a/Waveform/WaveRecAlgs/src/components/WaveRecAlgs_entries.cxx b/Waveform/WaveRecAlgs/src/components/WaveRecAlgs_entries.cxx
new file mode 100644
index 00000000..21f97520
--- /dev/null
+++ b/Waveform/WaveRecAlgs/src/components/WaveRecAlgs_entries.cxx
@@ -0,0 +1,5 @@
+#include "../RawWaveformRecAlg.h"
+#include "../WaveClockRecAlg.h"
+
+DECLARE_COMPONENT( RawWaveformRecAlg )
+DECLARE_COMPONENT( WaveClockRecAlg )
diff --git a/Scintillator/ScintRecTools/CMakeLists.txt b/Waveform/WaveRecTools/CMakeLists.txt
similarity index 65%
rename from Scintillator/ScintRecTools/CMakeLists.txt
rename to Waveform/WaveRecTools/CMakeLists.txt
index a128a738..d8f3e6f0 100644
--- a/Scintillator/ScintRecTools/CMakeLists.txt
+++ b/Waveform/WaveRecTools/CMakeLists.txt
@@ -1,25 +1,25 @@
 ################################################################################
-# Package: ScintRecTools
+# Package: WaveRecTools
 ################################################################################
 
 # Declare the package name:
-atlas_subdir( ScintRecTools )
+atlas_subdir( WaveRecTools )
 
 # External dependencies:
 find_package( ROOT )
 
 # Component(s) in the package:
-atlas_add_library( ScintRecToolsLib
-                   ScintRecTools/*.h src/*.cxx src/*.h
-                   PUBLIC_HEADERS ScintRecTools
+atlas_add_library( WaveRecToolsLib
+                   WaveRecTools/*.h src/*.cxx src/*.h
+                   PUBLIC_HEADERS WaveRecTools
                    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES AthenaBaseComps AthenaKernel GeoPrimitives ScintRawEvent xAODFaserWaveform
+                   LINK_LIBRARIES AthenaBaseComps AthenaKernel GeoPrimitives WaveRawEvent xAODFaserWaveform
                    PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES}
 		   )
 
-atlas_add_component( ScintRecTools
+atlas_add_component( WaveRecTools
 		     src/components/*.cxx 
 		     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps GaudiKernel ScintRecToolsLib )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps GaudiKernel WaveRecToolsLib )
 
 
diff --git a/Scintillator/ScintRecTools/ScintRecTools/IClockReconstructionTool.h b/Waveform/WaveRecTools/WaveRecTools/IClockReconstructionTool.h
similarity index 80%
rename from Scintillator/ScintRecTools/ScintRecTools/IClockReconstructionTool.h
rename to Waveform/WaveRecTools/WaveRecTools/IClockReconstructionTool.h
index 46712a75..d9b158c8 100644
--- a/Scintillator/ScintRecTools/ScintRecTools/IClockReconstructionTool.h
+++ b/Waveform/WaveRecTools/WaveRecTools/IClockReconstructionTool.h
@@ -9,8 +9,8 @@
  */
 
 
-#ifndef SCINTRECTOOLS_ICLOCKRECONSTRUCTIONTOOL_H
-#define SCINTRECTOOLS_ICLOCKRECONSTRUCTIONTOOL_H
+#ifndef WAVERECTOOLS_ICLOCKRECONSTRUCTIONTOOL_H
+#define WAVERECTOOLS_ICLOCKRECONSTRUCTIONTOOL_H
 
 // Base class
 #include "GaudiKernel/IAlgTool.h"
@@ -18,7 +18,7 @@
 
 #include "xAODFaserWaveform/WaveformClock.h"
 
-class ScintWaveform;
+class RawWaveform;
 
 ///Interface for Clock reco algorithms
 class IClockReconstructionTool : virtual public IAlgTool 
@@ -31,7 +31,7 @@ class IClockReconstructionTool : virtual public IAlgTool
   virtual ~IClockReconstructionTool() = default;
 
   // Reconstruct all peaks in a raw waveform
-  virtual StatusCode reconstruct(const ScintWaveform& wave, 
+  virtual StatusCode reconstruct(const RawWaveform& wave, 
 				 xAOD::WaveformClock* clockdata) const = 0;
 
 };
diff --git a/Scintillator/ScintRecTools/ScintRecTools/IWaveformReconstructionTool.h b/Waveform/WaveRecTools/WaveRecTools/IWaveformReconstructionTool.h
similarity index 81%
rename from Scintillator/ScintRecTools/ScintRecTools/IWaveformReconstructionTool.h
rename to Waveform/WaveRecTools/WaveRecTools/IWaveformReconstructionTool.h
index 00218de1..e985cb1d 100644
--- a/Scintillator/ScintRecTools/ScintRecTools/IWaveformReconstructionTool.h
+++ b/Waveform/WaveRecTools/WaveRecTools/IWaveformReconstructionTool.h
@@ -9,8 +9,8 @@
  */
 
 
-#ifndef SCINTRECTOOLS_IWAVEFORMRECONSTRUCTIONTOOL_H
-#define SCINTRECTOOLS_IWAVEFORMRECONSTRUCTIONTOOL_H
+#ifndef WAVERECTOOLS_IWAVEFORMRECONSTRUCTIONTOOL_H
+#define WAVERECTOOLS_IWAVEFORMRECONSTRUCTIONTOOL_H
 
 // Base class
 #include "GaudiKernel/IAlgTool.h"
@@ -19,7 +19,7 @@
 #include "xAODFaserWaveform/WaveformHitContainer.h"
 #include "xAODFaserWaveform/WaveformClock.h"
 
-class ScintWaveform;
+class RawWaveform;
 
 ///Interface for Waveform reco algorithms
 class IWaveformReconstructionTool : virtual public IAlgTool 
@@ -32,7 +32,7 @@ class IWaveformReconstructionTool : virtual public IAlgTool
   virtual ~IWaveformReconstructionTool() = default;
 
   // Reconstruct all peaks in a raw waveform
-  virtual StatusCode reconstruct(const ScintWaveform& wave, 
+  virtual StatusCode reconstruct(const RawWaveform& wave, 
 				 const xAOD::WaveformClock* clock, 
 				 xAOD::WaveformHitContainer* container) const = 0;
 
diff --git a/Scintillator/ScintRecTools/src/ClockReconstructionTool.cxx b/Waveform/WaveRecTools/src/ClockReconstructionTool.cxx
similarity index 97%
rename from Scintillator/ScintRecTools/src/ClockReconstructionTool.cxx
rename to Waveform/WaveRecTools/src/ClockReconstructionTool.cxx
index c4d1bf68..aaae0861 100644
--- a/Scintillator/ScintRecTools/src/ClockReconstructionTool.cxx
+++ b/Waveform/WaveRecTools/src/ClockReconstructionTool.cxx
@@ -30,7 +30,7 @@ ClockReconstructionTool::initialize() {
 
 // Reconstruction step
 StatusCode
-ClockReconstructionTool::reconstruct(const ScintWaveform& raw_wave,
+ClockReconstructionTool::reconstruct(const RawWaveform& raw_wave,
 				     xAOD::WaveformClock* clockdata) const {
 
   ATH_MSG_DEBUG("Clock reconstruct called ");
@@ -150,7 +150,7 @@ ClockReconstructionTool::reconstruct(const ScintWaveform& raw_wave,
 }
 
 void
-ClockReconstructionTool::checkResult(const ScintWaveform& raw_wave,
+ClockReconstructionTool::checkResult(const RawWaveform& raw_wave,
 				     xAOD::WaveformClock* clockdata) const {
 
   // Go through each element in raw_wave and make sure time in clockdata matches
diff --git a/Scintillator/ScintRecTools/src/ClockReconstructionTool.h b/Waveform/WaveRecTools/src/ClockReconstructionTool.h
similarity index 79%
rename from Scintillator/ScintRecTools/src/ClockReconstructionTool.h
rename to Waveform/WaveRecTools/src/ClockReconstructionTool.h
index 056d1a4e..ea7ec2ec 100644
--- a/Scintillator/ScintRecTools/src/ClockReconstructionTool.h
+++ b/Waveform/WaveRecTools/src/ClockReconstructionTool.h
@@ -6,14 +6,14 @@
  *  Header file for ClockReconstructionTool.h
  *
  */
-#ifndef SCINTRECTOOLS_CLOCKRECONSTRUCTIONTOOL_H
-#define SCINTRECTOOLS_CLOCKRECONSTRUCTIONTOOL_H
+#ifndef WAVERECTOOLS_CLOCKRECONSTRUCTIONTOOL_H
+#define WAVERECTOOLS_CLOCKRECONSTRUCTIONTOOL_H
 
 //Athena
 #include "AthenaBaseComps/AthAlgTool.h"
-#include "ScintRecTools/IClockReconstructionTool.h"
+#include "WaveRecTools/IClockReconstructionTool.h"
 
-#include "ScintRawEvent/ScintWaveform.h"
+#include "WaveRawEvent/RawWaveform.h"
 #include "xAODFaserWaveform/WaveformClock.h"
 
 //Gaudi
@@ -34,7 +34,7 @@ class ClockReconstructionTool: public extends<AthAlgTool, IClockReconstructionTo
   StatusCode initialize();
 
   /// Reconstruct hits from clock  
-  virtual StatusCode reconstruct(const ScintWaveform& wave,
+  virtual StatusCode reconstruct(const RawWaveform& wave,
 				 xAOD::WaveformClock* clockdata) const;
 
  private:
@@ -48,7 +48,7 @@ class ClockReconstructionTool: public extends<AthAlgTool, IClockReconstructionTo
   /// Check reconstructed clock against waveform
   BooleanProperty m_checkResult{this, "CheckResult", false};
 
-  void checkResult(const ScintWaveform& raw_wave,
+  void checkResult(const RawWaveform& raw_wave,
 		   xAOD::WaveformClock* clockdata) const;
 
   // Limits to print warnings
@@ -58,4 +58,4 @@ class ClockReconstructionTool: public extends<AthAlgTool, IClockReconstructionTo
 
 };
 
-#endif // SCINTRECTOOLS_CLOCKRECONSTRUCTIONTOOL_H
+#endif // WAVERECTOOLS_CLOCKRECONSTRUCTIONTOOL_H
diff --git a/Scintillator/ScintRecTools/src/WaveformBaselineData.cxx b/Waveform/WaveRecTools/src/WaveformBaselineData.cxx
similarity index 100%
rename from Scintillator/ScintRecTools/src/WaveformBaselineData.cxx
rename to Waveform/WaveRecTools/src/WaveformBaselineData.cxx
diff --git a/Scintillator/ScintRecTools/src/WaveformBaselineData.h b/Waveform/WaveRecTools/src/WaveformBaselineData.h
similarity index 93%
rename from Scintillator/ScintRecTools/src/WaveformBaselineData.h
rename to Waveform/WaveRecTools/src/WaveformBaselineData.h
index 13144a4f..218fe37a 100644
--- a/Scintillator/ScintRecTools/src/WaveformBaselineData.h
+++ b/Waveform/WaveRecTools/src/WaveformBaselineData.h
@@ -10,8 +10,8 @@
 ///////////////////////////////////////////////////////////////////
 // Version 1.0   2/21/2021 Eric Torrence
 ///////////////////////////////////////////////////////////////////
-#ifndef SCINTRECTOOLS_WAVEFORMBASELINEDATA_H
-#define SCINTRECTOOLS_WAVEFORMBASELINEDATA_H
+#ifndef WAVERECTOOLS_WAVEFORMBASELINEDATA_H
+#define WAVERECTOOLS_WAVEFORMBASELINEDATA_H
 
 #include <iostream>
 
@@ -72,4 +72,4 @@ WaveformBaselineData::clone() const {
   return new WaveformBaselineData(*this);  
 }
 
-#endif // SCINTRECTOOLS_WAVEFORMBASELINEDATA_H
+#endif // WAVERECTOOLS_WAVEFORMBASELINEDATA_H
diff --git a/Scintillator/ScintRecTools/src/WaveformFitResult.cxx b/Waveform/WaveRecTools/src/WaveformFitResult.cxx
similarity index 100%
rename from Scintillator/ScintRecTools/src/WaveformFitResult.cxx
rename to Waveform/WaveRecTools/src/WaveformFitResult.cxx
diff --git a/Scintillator/ScintRecTools/src/WaveformFitResult.h b/Waveform/WaveRecTools/src/WaveformFitResult.h
similarity index 93%
rename from Scintillator/ScintRecTools/src/WaveformFitResult.h
rename to Waveform/WaveRecTools/src/WaveformFitResult.h
index 92ecf0fc..8b33e637 100644
--- a/Scintillator/ScintRecTools/src/WaveformFitResult.h
+++ b/Waveform/WaveRecTools/src/WaveformFitResult.h
@@ -10,8 +10,8 @@
 ///////////////////////////////////////////////////////////////////
 // Version 1.0   2/21/2021 Eric Torrence
 ///////////////////////////////////////////////////////////////////
-#ifndef SCINTRECTOOLS_WAVEFORMFITRESULT_H
-#define SCINTRECTOOLS_WAVEFORMFITRESULT_H
+#ifndef WAVERECTOOLS_WAVEFORMFITRESULT_H
+#define WAVERECTOOLS_WAVEFORMFITRESULT_H
 
 #include <iostream>
 
@@ -70,4 +70,4 @@ std::ostream
 // Inline methods:
 ///////////////////////////////////////////////////////////////////
 
-#endif // SCINTRECTOOLS_WAVEFORMFITRESULT_H
+#endif // WAVERECTOOLS_WAVEFORMFITRESULT_H
diff --git a/Scintillator/ScintRecTools/src/WaveformReconstructionTool.cxx b/Waveform/WaveRecTools/src/WaveformReconstructionTool.cxx
similarity index 98%
rename from Scintillator/ScintRecTools/src/WaveformReconstructionTool.cxx
rename to Waveform/WaveRecTools/src/WaveformReconstructionTool.cxx
index e774f918..934f2080 100644
--- a/Scintillator/ScintRecTools/src/WaveformReconstructionTool.cxx
+++ b/Waveform/WaveRecTools/src/WaveformReconstructionTool.cxx
@@ -43,7 +43,7 @@ WaveformReconstructionTool::initialize() {
 
 // Reconstruction step
 StatusCode
-WaveformReconstructionTool::reconstruct(const ScintWaveform& raw_wave,
+WaveformReconstructionTool::reconstruct(const RawWaveform& raw_wave,
 					const xAOD::WaveformClock* clock, 
 					xAOD::WaveformHitContainer* container) const {
 
@@ -291,7 +291,7 @@ WaveformReconstructionTool::findOverflow(const WaveformBaselineData& base,
 }
 
 WaveformBaselineData&
-WaveformReconstructionTool::findSimpleBaseline(const ScintWaveform& raw_wave) const {
+WaveformReconstructionTool::findSimpleBaseline(const RawWaveform& raw_wave) const {
 
   ATH_MSG_DEBUG( "findSimpleBaseline called" );
   //ATH_MSG_DEBUG( raw_wave );
@@ -332,7 +332,7 @@ WaveformReconstructionTool::findSimpleBaseline(const ScintWaveform& raw_wave) co
 }
 
 WaveformBaselineData&
-WaveformReconstructionTool::findAdvancedBaseline(const ScintWaveform& raw_wave) const {
+WaveformReconstructionTool::findAdvancedBaseline(const RawWaveform& raw_wave) const {
 
   ATH_MSG_DEBUG( "findAdvancedBaseline called" );
 
diff --git a/Scintillator/ScintRecTools/src/WaveformReconstructionTool.h b/Waveform/WaveRecTools/src/WaveformReconstructionTool.h
similarity index 88%
rename from Scintillator/ScintRecTools/src/WaveformReconstructionTool.h
rename to Waveform/WaveRecTools/src/WaveformReconstructionTool.h
index e8b2abf9..1bb0f20d 100644
--- a/Scintillator/ScintRecTools/src/WaveformReconstructionTool.h
+++ b/Waveform/WaveRecTools/src/WaveformReconstructionTool.h
@@ -6,14 +6,14 @@
  *  Header file for WaveformReconstructionTool.h
  *
  */
-#ifndef SCINTRECTOOLS_WAVEFORMRECONSTRUCTIONTOOL_H
-#define SCINTRECTOOLS_WAVEFORMRECONSTRUCTIONTOOL_H
+#ifndef WAVERECTOOLS_WAVEFORMRECONSTRUCTIONTOOL_H
+#define WAVERECTOOLS_WAVEFORMRECONSTRUCTIONTOOL_H
 
 //Athena
 #include "AthenaBaseComps/AthAlgTool.h"
-#include "ScintRecTools/IWaveformReconstructionTool.h"
+#include "WaveRecTools/IWaveformReconstructionTool.h"
 
-#include "ScintRawEvent/ScintWaveform.h"
+#include "WaveRawEvent/RawWaveform.h"
 
 #include "WaveformBaselineData.h"
 #include "WaveformFitResult.h"
@@ -37,7 +37,7 @@ class WaveformReconstructionTool: public extends<AthAlgTool, IWaveformReconstruc
 
   /// Reconstruct hits from waveform
   
-  virtual StatusCode reconstruct(const ScintWaveform& wave,
+  virtual StatusCode reconstruct(const RawWaveform& wave,
 				 const xAOD::WaveformClock* clock,
 				 xAOD::WaveformHitContainer* container) const;
 
@@ -83,8 +83,8 @@ class WaveformReconstructionTool: public extends<AthAlgTool, IWaveformReconstruc
   FloatProperty m_timingPeakFraction{this, "TimingPeakFraction", 0.45};
 
   // Baseline algorithms
-  WaveformBaselineData& findSimpleBaseline(const ScintWaveform& wave) const;
-  WaveformBaselineData& findAdvancedBaseline(const ScintWaveform& wave) const;
+  WaveformBaselineData& findSimpleBaseline(const RawWaveform& wave) const;
+  WaveformBaselineData& findAdvancedBaseline(const RawWaveform& wave) const;
 
   // Find peak in wave, return windowed region in windowed_time and windowed_wave
   // Windowed region is removed from original vectors
@@ -114,4 +114,4 @@ class WaveformReconstructionTool: public extends<AthAlgTool, IWaveformReconstruc
 
 };
 
-#endif // SCINTRECTOOLS_WAVEFORMRECONSTRUCTIONTOOL_H
+#endif // WAVERECTOOLS_WAVEFORMRECONSTRUCTIONTOOL_H
diff --git a/Scintillator/ScintRecTools/src/components/ScintRecTools_entries.cxx b/Waveform/WaveRecTools/src/components/WaveRecTools_entries.cxx
similarity index 100%
rename from Scintillator/ScintRecTools/src/components/ScintRecTools_entries.cxx
rename to Waveform/WaveRecTools/src/components/WaveRecTools_entries.cxx
diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt
index dacc9d77..aadf22c6 100644
--- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt
+++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/CMakeLists.txt
@@ -18,7 +18,7 @@ set( CMAKE_AUTOMOC TRUE )
 atlas_add_library( VTI12WaveformSystems VTI12WaveformSystems/*.h src/*.cxx
    PUBLIC_HEADERS VTI12WaveformSystems
    INCLUDE_DIRS ${COIN3D_INCLUDE_DIRS} ${QT5_INCLUDE_DIRS}
-   LINK_LIBRARIES ${COIN3D_LIBRARIES} GeoPrimitives VP1Base VTI12Utils ScintRawEvent xAODFaserWaveform
+   LINK_LIBRARIES ${COIN3D_LIBRARIES} GeoPrimitives VP1Base VTI12Utils WaveRawEvent xAODFaserWaveform
    Qt5::Core Qt5::Gui Qt5::Charts
    PRIVATE_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}
    PRIVATE_LINK_LIBRARIES GaudiKernel VP1HEPVis )
diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx
index 5551a33c..ffe6bd00 100644
--- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx
+++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx
@@ -23,7 +23,7 @@
 
 #include "StoreGate/StoreGateSvc.h"
 
-#include "ScintRawEvent/ScintWaveformContainer.h"
+#include "WaveRawEvent/RawWaveformContainer.h"
 
 #include <Inventor/nodes/SoSeparator.h>
 #include <Inventor/nodes/SoPickStyle.h>
@@ -120,12 +120,12 @@ void VP1WaveformSystem::Imp::createCharts(StoreGateSvc* sg,
                                           std::vector<QChart*>& list, 
                                           const std::string& collectionName)
 {
-    typedef DataVector<ScintWaveform>::const_iterator ScintWaveformConstIterator;
+    typedef DataVector<RawWaveform>::const_iterator RawWaveformConstIterator;
 
-    const ScintWaveformContainer* p_container {nullptr};
+    const RawWaveformContainer* p_container {nullptr};
     if(sg->retrieve(p_container, collectionName)==StatusCode::SUCCESS)
     {
-      for(ScintWaveformConstIterator i_wf=p_container->begin(); i_wf!=p_container->end(); ++i_wf)
+      for(RawWaveformConstIterator i_wf=p_container->begin(); i_wf!=p_container->end(); ++i_wf)
       {
         if ((*i_wf)->n_samples() > 0)
         {
-- 
GitLab