From 116a2dc6b8e2b7021d1ba741778788c2d7cee8ee Mon Sep 17 00:00:00 2001
From: Florian Uhlig <f.uhlig@gsi.de>
Date: Wed, 18 Jan 2023 12:24:12 +0100
Subject: [PATCH] Create separate libraries for the mvd code

Add build system files for new mvd code structure
Move code from mvd directory to core/detectors/mvd, sim/detectors/mvd,
reco/detectors/mvd and analysis/detectors/mvd.
Create the libraries CbmMvdCore, CbmMvdSim, CbmMvdReco and CbmMvdAna.

This commit will not compile.
---
 CMakeLists.txt                                |  2 +-
 .../dielectron/papaframework/CMakeLists.txt   |  2 +-
 analysis/detectors/CMakeLists.txt             |  1 +
 analysis/detectors/mvd/CMakeLists.txt         | 46 ++++++++++++++
 analysis/detectors/mvd/CbmMvdAnaLinkDef.h     | 15 +++++
 .../detectors/mvd}/CbmMvdReadout.cxx          |  0
 .../detectors/mvd}/CbmMvdReadout.h            |  0
 .../detectors/mvd}/CbmMvdReadoutCluster.cxx   |  0
 .../detectors/mvd}/CbmMvdReadoutCluster.h     |  0
 .../detectors/mvd}/CbmMvdReadoutSimple.cxx    |  0
 .../detectors/mvd}/CbmMvdReadoutSimple.h      |  0
 .../plugins/tasks/CbmMvdSensorReadoutTask.cxx |  0
 .../plugins/tasks/CbmMvdSensorReadoutTask.h   |  0
 .../detectors/mvd}/qa/CbmMvdClusterAna.cxx    |  0
 .../detectors/mvd}/qa/CbmMvdClusterAna.h      |  0
 .../detectors/mvd}/qa/CbmMvdQa.cxx            |  0
 {mvd => analysis/detectors/mvd}/qa/CbmMvdQa.h |  0
 core/CMakeLists.txt                           |  1 +
 core/detectors/mvd/CMakeLists.txt             | 61 +++++++++++++++++++
 core/detectors/mvd/CbmMvdBaseLinkDef.h        | 30 +++++++++
 .../detectors/mvd}/CbmMvdDetector.cxx         |  0
 {mvd => core/detectors/mvd}/CbmMvdDetector.h  |  0
 .../detectors/mvd}/CbmMvdPileupManager.cxx    |  0
 .../detectors/mvd}/CbmMvdPileupManager.h      |  0
 {mvd => core/detectors/mvd}/CbmMvdSensor.cxx  |  0
 {mvd => core/detectors/mvd}/CbmMvdSensor.h    |  0
 .../detectors/mvd}/CbmMvdStationPar.cxx       |  0
 .../detectors/mvd}/CbmMvdStationPar.h         |  0
 .../mvd}/CbmMvdTrackingInterface.cxx          |  0
 .../detectors/mvd}/CbmMvdTrackingInterface.h  |  0
 .../SensorDataSheets/CbmMvdMimosa26AHR.cxx    |  0
 .../mvd}/SensorDataSheets/CbmMvdMimosa26AHR.h |  0
 .../mvd}/SensorDataSheets/CbmMvdMimosa34.cxx  |  0
 .../mvd}/SensorDataSheets/CbmMvdMimosa34.h    |  0
 .../mvd}/SensorDataSheets/CbmMvdMimosis.cxx   |  0
 .../mvd}/SensorDataSheets/CbmMvdMimosis.h     |  0
 .../CbmMvdSensorDataSheet.cxx                 |  0
 .../SensorDataSheets/CbmMvdSensorDataSheet.h  |  0
 .../mvd}/plugins/CbmMvdSensorPlugin.cxx       |  0
 .../mvd}/plugins/CbmMvdSensorPlugin.h         |  0
 .../mvd}/plugins/PluginNamingConvention.txt   |  0
 .../plugins/buffers/CbmMvdSensorBuffer.cxx    |  0
 .../mvd}/plugins/buffers/CbmMvdSensorBuffer.h |  0
 .../buffers/CbmMvdSensorFrameBuffer.cxx       |  0
 .../plugins/buffers/CbmMvdSensorFrameBuffer.h |  0
 .../buffers/CbmMvdSensorTrackingBuffer.cxx    |  0
 .../buffers/CbmMvdSensorTrackingBuffer.h      |  0
 .../mvd}/plugins/tasks/CbmMvdSensorTask.cxx   |  0
 .../mvd}/plugins/tasks/CbmMvdSensorTask.h     |  0
 .../detectors/mvd}/tools/CbmMvdGeoHandler.cxx |  0
 .../detectors/mvd}/tools/CbmMvdGeoHandler.h   |  0
 .../detectors/mvd}/tools/CbmMvdHelper.h       |  0
 reco/KF/KF.cmake                              |  2 +-
 reco/L1/CMakeLists.txt                        |  2 +-
 reco/detectors/CMakeLists.txt                 |  1 +
 reco/detectors/mvd/CMakeLists.txt             | 47 ++++++++++++++
 .../detectors/mvd}/CbmMvdClusterfinder.cxx    |  0
 .../detectors/mvd}/CbmMvdClusterfinder.h      |  0
 .../detectors/mvd}/CbmMvdClusterfinderTB.cxx  |  0
 .../detectors/mvd}/CbmMvdClusterfinderTB.h    |  0
 .../detectors/mvd}/CbmMvdDigiToHit.cxx        |  0
 {mvd => reco/detectors/mvd}/CbmMvdDigiToHit.h |  0
 .../detectors/mvd}/CbmMvdDigiToHitTB.cxx      |  0
 .../detectors/mvd}/CbmMvdDigiToHitTB.h        |  0
 .../detectors/mvd}/CbmMvdHitfinder.cxx        |  0
 {mvd => reco/detectors/mvd}/CbmMvdHitfinder.h |  0
 .../detectors/mvd}/CbmMvdHitfinderTB.cxx      |  0
 .../detectors/mvd}/CbmMvdHitfinderTB.h        |  0
 reco/detectors/mvd/CbmMvdRecoLinkDef.h        | 21 +++++++
 .../tasks/CbmMvdSensorClusterfinderTask.cxx   |  0
 .../tasks/CbmMvdSensorClusterfinderTask.h     |  0
 .../tasks/CbmMvdSensorDigiToHitTask.cxx       |  0
 .../plugins/tasks/CbmMvdSensorDigiToHitTask.h |  0
 .../plugins/tasks/CbmMvdSensorFindHitTask.cxx |  0
 .../plugins/tasks/CbmMvdSensorFindHitTask.h   |  0
 .../tasks/CbmMvdSensorHitfinderTask.cxx       |  0
 .../plugins/tasks/CbmMvdSensorHitfinderTask.h |  0
 reco/detectors/sts/CMakeLists.txt             |  2 +-
 sim/detectors/CMakeLists.txt                  |  1 +
 sim/detectors/mvd/CMakeLists.txt              | 44 +++++++++++++
 {mvd => sim/detectors/mvd}/CbmMvd.cxx         |  0
 {mvd => sim/detectors/mvd}/CbmMvd.h           |  0
 .../detectors/mvd}/CbmMvdDigitizer.cxx        |  0
 {mvd => sim/detectors/mvd}/CbmMvdDigitizer.h  |  0
 .../detectors/mvd}/CbmMvdDigitizerTB.cxx      |  0
 .../detectors/mvd}/CbmMvdDigitizerTB.h        |  0
 .../detectors/mvd}/CbmMvdPixelCharge.cxx      |  0
 .../detectors/mvd}/CbmMvdPixelCharge.h        |  0
 sim/detectors/mvd/CbmMvdSimLinkDef.h          | 19 ++++++
 .../tasks/CbmMvdSensorDigitizerTBTask.cxx     |  0
 .../tasks/CbmMvdSensorDigitizerTBTask.h       |  0
 .../tasks/CbmMvdSensorDigitizerTask.cxx       |  0
 .../plugins/tasks/CbmMvdSensorDigitizerTask.h |  0
 sim/detectors/mvd/test.txt                    |  1 -
 sim/response/CMakeLists.txt                   |  2 +-
 sim/transport/geosetup/CMakeLists.txt         |  2 +-
 96 files changed, 294 insertions(+), 8 deletions(-)
 create mode 100644 analysis/detectors/mvd/CMakeLists.txt
 create mode 100644 analysis/detectors/mvd/CbmMvdAnaLinkDef.h
 rename {mvd => analysis/detectors/mvd}/CbmMvdReadout.cxx (100%)
 rename {mvd => analysis/detectors/mvd}/CbmMvdReadout.h (100%)
 rename {mvd/tools/readout => analysis/detectors/mvd}/CbmMvdReadoutCluster.cxx (100%)
 rename {mvd/tools/readout => analysis/detectors/mvd}/CbmMvdReadoutCluster.h (100%)
 rename {mvd/tools/readout => analysis/detectors/mvd}/CbmMvdReadoutSimple.cxx (100%)
 rename {mvd/tools/readout => analysis/detectors/mvd}/CbmMvdReadoutSimple.h (100%)
 rename {mvd => analysis/detectors/mvd}/plugins/tasks/CbmMvdSensorReadoutTask.cxx (100%)
 rename {mvd => analysis/detectors/mvd}/plugins/tasks/CbmMvdSensorReadoutTask.h (100%)
 rename {mvd => analysis/detectors/mvd}/qa/CbmMvdClusterAna.cxx (100%)
 rename {mvd => analysis/detectors/mvd}/qa/CbmMvdClusterAna.h (100%)
 rename {mvd => analysis/detectors/mvd}/qa/CbmMvdQa.cxx (100%)
 rename {mvd => analysis/detectors/mvd}/qa/CbmMvdQa.h (100%)
 create mode 100644 core/detectors/mvd/CMakeLists.txt
 create mode 100644 core/detectors/mvd/CbmMvdBaseLinkDef.h
 rename {mvd => core/detectors/mvd}/CbmMvdDetector.cxx (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdDetector.h (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdPileupManager.cxx (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdPileupManager.h (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdSensor.cxx (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdSensor.h (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdStationPar.cxx (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdStationPar.h (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdTrackingInterface.cxx (100%)
 rename {mvd => core/detectors/mvd}/CbmMvdTrackingInterface.h (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdMimosa26AHR.cxx (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdMimosa26AHR.h (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdMimosa34.cxx (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdMimosa34.h (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdMimosis.cxx (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdMimosis.h (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdSensorDataSheet.cxx (100%)
 rename {mvd => core/detectors/mvd}/SensorDataSheets/CbmMvdSensorDataSheet.h (100%)
 rename {mvd => core/detectors/mvd}/plugins/CbmMvdSensorPlugin.cxx (100%)
 rename {mvd => core/detectors/mvd}/plugins/CbmMvdSensorPlugin.h (100%)
 rename {mvd => core/detectors/mvd}/plugins/PluginNamingConvention.txt (100%)
 rename {mvd => core/detectors/mvd}/plugins/buffers/CbmMvdSensorBuffer.cxx (100%)
 rename {mvd => core/detectors/mvd}/plugins/buffers/CbmMvdSensorBuffer.h (100%)
 rename {mvd => core/detectors/mvd}/plugins/buffers/CbmMvdSensorFrameBuffer.cxx (100%)
 rename {mvd => core/detectors/mvd}/plugins/buffers/CbmMvdSensorFrameBuffer.h (100%)
 rename {mvd => core/detectors/mvd}/plugins/buffers/CbmMvdSensorTrackingBuffer.cxx (100%)
 rename {mvd => core/detectors/mvd}/plugins/buffers/CbmMvdSensorTrackingBuffer.h (100%)
 rename {mvd => core/detectors/mvd}/plugins/tasks/CbmMvdSensorTask.cxx (100%)
 rename {mvd => core/detectors/mvd}/plugins/tasks/CbmMvdSensorTask.h (100%)
 rename {mvd => core/detectors/mvd}/tools/CbmMvdGeoHandler.cxx (100%)
 rename {mvd => core/detectors/mvd}/tools/CbmMvdGeoHandler.h (100%)
 rename {mvd => core/detectors/mvd}/tools/CbmMvdHelper.h (100%)
 create mode 100644 reco/detectors/mvd/CMakeLists.txt
 rename {mvd => reco/detectors/mvd}/CbmMvdClusterfinder.cxx (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdClusterfinder.h (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdClusterfinderTB.cxx (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdClusterfinderTB.h (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdDigiToHit.cxx (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdDigiToHit.h (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdDigiToHitTB.cxx (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdDigiToHitTB.h (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdHitfinder.cxx (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdHitfinder.h (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdHitfinderTB.cxx (100%)
 rename {mvd => reco/detectors/mvd}/CbmMvdHitfinderTB.h (100%)
 create mode 100644 reco/detectors/mvd/CbmMvdRecoLinkDef.h
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx (100%)
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorClusterfinderTask.h (100%)
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx (100%)
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorDigiToHitTask.h (100%)
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorFindHitTask.cxx (100%)
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorFindHitTask.h (100%)
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorHitfinderTask.cxx (100%)
 rename {mvd => reco/detectors/mvd}/plugins/tasks/CbmMvdSensorHitfinderTask.h (100%)
 create mode 100644 sim/detectors/mvd/CMakeLists.txt
 rename {mvd => sim/detectors/mvd}/CbmMvd.cxx (100%)
 rename {mvd => sim/detectors/mvd}/CbmMvd.h (100%)
 rename {mvd => sim/detectors/mvd}/CbmMvdDigitizer.cxx (100%)
 rename {mvd => sim/detectors/mvd}/CbmMvdDigitizer.h (100%)
 rename {mvd => sim/detectors/mvd}/CbmMvdDigitizerTB.cxx (100%)
 rename {mvd => sim/detectors/mvd}/CbmMvdDigitizerTB.h (100%)
 rename {mvd => sim/detectors/mvd}/CbmMvdPixelCharge.cxx (100%)
 rename {mvd => sim/detectors/mvd}/CbmMvdPixelCharge.h (100%)
 create mode 100644 sim/detectors/mvd/CbmMvdSimLinkDef.h
 rename {mvd => sim/detectors/mvd}/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx (100%)
 rename {mvd => sim/detectors/mvd}/plugins/tasks/CbmMvdSensorDigitizerTBTask.h (100%)
 rename {mvd => sim/detectors/mvd}/plugins/tasks/CbmMvdSensorDigitizerTask.cxx (100%)
 rename {mvd => sim/detectors/mvd}/plugins/tasks/CbmMvdSensorDigitizerTask.h (100%)
 delete mode 100644 sim/detectors/mvd/test.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ec2507de44..659442e380 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -241,7 +241,7 @@ add_subdirectory (reco)
 add_subdirectory (analysis)
 
 ### Detector directories
-add_subdirectory (mvd)
+#add_subdirectory (mvd)
 
 ### Others
 Option(LARGE_TEST_STATISTIC "Run the test suite with large statistic (100 events)" OFF)
diff --git a/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt b/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt
index 2ce62a4824..a072fe0253 100644
--- a/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt
+++ b/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt
@@ -96,7 +96,7 @@ set(PUBLIC_DEPENDENCIES
   )
 
 set(PRIVATE_DEPENDENCIES
-  CbmMvd
+  CbmMvdBase
   CbmSimBase
   KFParticleInterface
   Littrack
diff --git a/analysis/detectors/CMakeLists.txt b/analysis/detectors/CMakeLists.txt
index a0b7cad75e..07170a4be5 100644
--- a/analysis/detectors/CMakeLists.txt
+++ b/analysis/detectors/CMakeLists.txt
@@ -1,6 +1,7 @@
 # CMakeList file for directory analysis/detectors
 # V. Friese, 20 April 2020
 
+add_subdirectory(mvd)
 add_subdirectory(psd)
 add_subdirectory(sts)
 add_subdirectory(tof)
diff --git a/analysis/detectors/mvd/CMakeLists.txt b/analysis/detectors/mvd/CMakeLists.txt
new file mode 100644
index 0000000000..d4ef76f8d4
--- /dev/null
+++ b/analysis/detectors/mvd/CMakeLists.txt
@@ -0,0 +1,46 @@
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/qa
+  ${CMAKE_CURRENT_SOURCE_DIR}/plugins/tasks
+  )
+
+set(SRCS
+  CbmMvdReadoutSimple.cxx
+  CbmMvdReadoutCluster.cxx
+
+  CbmMvdReadout.cxx
+  plugins/tasks/CbmMvdSensorReadoutTask.cxx
+
+  qa/CbmMvdQa.cxx
+#  qa/CbmMvdClusterAna.cxx
+  )
+
+
+set(LIBRARY_NAME CbmMvdAna)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  CbmMvdBase
+  FairLogger::FairLogger
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Graf
+  ROOT::Matrix
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+generate_cbm_library()
diff --git a/analysis/detectors/mvd/CbmMvdAnaLinkDef.h b/analysis/detectors/mvd/CbmMvdAnaLinkDef.h
new file mode 100644
index 0000000000..d399f14dcb
--- /dev/null
+++ b/analysis/detectors/mvd/CbmMvdAnaLinkDef.h
@@ -0,0 +1,15 @@
+/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
+   SPDX-License-Identifier: GPL-3.0-only
+   Authors: Florian Uhlig [committer] */
+
+#ifdef __CINT__
+
+#pragma link C++ class CbmMvdQa+;
+//#pragma link C++ class CbmMvdClusterAna+;
+
+#pragma link C++ class CbmMvdReadoutSimple+;
+#pragma link C++ class CbmMvdReadoutCluster+;
+
+#pragma link C++ class CbmMvdReadout+;
+#pragma link C++ class CbmMvdSensorReadoutTask+;
+#endif
diff --git a/mvd/CbmMvdReadout.cxx b/analysis/detectors/mvd/CbmMvdReadout.cxx
similarity index 100%
rename from mvd/CbmMvdReadout.cxx
rename to analysis/detectors/mvd/CbmMvdReadout.cxx
diff --git a/mvd/CbmMvdReadout.h b/analysis/detectors/mvd/CbmMvdReadout.h
similarity index 100%
rename from mvd/CbmMvdReadout.h
rename to analysis/detectors/mvd/CbmMvdReadout.h
diff --git a/mvd/tools/readout/CbmMvdReadoutCluster.cxx b/analysis/detectors/mvd/CbmMvdReadoutCluster.cxx
similarity index 100%
rename from mvd/tools/readout/CbmMvdReadoutCluster.cxx
rename to analysis/detectors/mvd/CbmMvdReadoutCluster.cxx
diff --git a/mvd/tools/readout/CbmMvdReadoutCluster.h b/analysis/detectors/mvd/CbmMvdReadoutCluster.h
similarity index 100%
rename from mvd/tools/readout/CbmMvdReadoutCluster.h
rename to analysis/detectors/mvd/CbmMvdReadoutCluster.h
diff --git a/mvd/tools/readout/CbmMvdReadoutSimple.cxx b/analysis/detectors/mvd/CbmMvdReadoutSimple.cxx
similarity index 100%
rename from mvd/tools/readout/CbmMvdReadoutSimple.cxx
rename to analysis/detectors/mvd/CbmMvdReadoutSimple.cxx
diff --git a/mvd/tools/readout/CbmMvdReadoutSimple.h b/analysis/detectors/mvd/CbmMvdReadoutSimple.h
similarity index 100%
rename from mvd/tools/readout/CbmMvdReadoutSimple.h
rename to analysis/detectors/mvd/CbmMvdReadoutSimple.h
diff --git a/mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx b/analysis/detectors/mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx
rename to analysis/detectors/mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorReadoutTask.h b/analysis/detectors/mvd/plugins/tasks/CbmMvdSensorReadoutTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorReadoutTask.h
rename to analysis/detectors/mvd/plugins/tasks/CbmMvdSensorReadoutTask.h
diff --git a/mvd/qa/CbmMvdClusterAna.cxx b/analysis/detectors/mvd/qa/CbmMvdClusterAna.cxx
similarity index 100%
rename from mvd/qa/CbmMvdClusterAna.cxx
rename to analysis/detectors/mvd/qa/CbmMvdClusterAna.cxx
diff --git a/mvd/qa/CbmMvdClusterAna.h b/analysis/detectors/mvd/qa/CbmMvdClusterAna.h
similarity index 100%
rename from mvd/qa/CbmMvdClusterAna.h
rename to analysis/detectors/mvd/qa/CbmMvdClusterAna.h
diff --git a/mvd/qa/CbmMvdQa.cxx b/analysis/detectors/mvd/qa/CbmMvdQa.cxx
similarity index 100%
rename from mvd/qa/CbmMvdQa.cxx
rename to analysis/detectors/mvd/qa/CbmMvdQa.cxx
diff --git a/mvd/qa/CbmMvdQa.h b/analysis/detectors/mvd/qa/CbmMvdQa.h
similarity index 100%
rename from mvd/qa/CbmMvdQa.h
rename to analysis/detectors/mvd/qa/CbmMvdQa.h
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index ab46e91eb5..f83c7f0019 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -10,6 +10,7 @@ add_subdirectory(qa)
 add_subdirectory(detectors/trd)
 add_subdirectory(detectors/rich)
 add_subdirectory(detectors/much)
+add_subdirectory(detectors/mvd)
 add_subdirectory(detectors/tof)
 add_subdirectory(detectors/sts)
 add_subdirectory(detectors/psd)
diff --git a/core/detectors/mvd/CMakeLists.txt b/core/detectors/mvd/CMakeLists.txt
new file mode 100644
index 0000000000..1f52958ef2
--- /dev/null
+++ b/core/detectors/mvd/CMakeLists.txt
@@ -0,0 +1,61 @@
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/tools
+  ${CMAKE_CURRENT_SOURCE_DIR}/SensorDataSheets
+  ${CMAKE_CURRENT_SOURCE_DIR}/plugins
+  ${CMAKE_CURRENT_SOURCE_DIR}/plugins/tasks
+  ${CMAKE_CURRENT_SOURCE_DIR}/plugins/buffers
+  )
+
+set(SRCS
+  plugins/CbmMvdSensorPlugin.cxx
+
+  plugins/tasks/CbmMvdSensorTask.cxx
+
+  plugins/buffers/CbmMvdSensorBuffer.cxx
+  plugins/buffers/CbmMvdSensorFrameBuffer.cxx
+#  plugins/buffers/CbmMvdSensorTrackingBuffer.cxx
+
+  SensorDataSheets/CbmMvdMimosa26AHR.cxx
+  SensorDataSheets/CbmMvdMimosa34.cxx
+  SensorDataSheets/CbmMvdMimosis.cxx
+  SensorDataSheets/CbmMvdSensorDataSheet.cxx
+  
+  tools/CbmMvdGeoHandler.cxx
+  tools/CbmMvdHelper.h
+
+  CbmMvdStationPar.cxx
+  CbmMvdDetector.cxx
+  CbmMvdSensor.cxx
+
+  CbmMvdPileupManager.cxx
+  CbmMvdTrackingInterface.cxx
+  )
+
+
+set(LIBRARY_NAME CbmMvdBase)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  FairLogger::FairLogger
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Graf
+  ROOT::Matrix
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+generate_cbm_library()
diff --git a/core/detectors/mvd/CbmMvdBaseLinkDef.h b/core/detectors/mvd/CbmMvdBaseLinkDef.h
new file mode 100644
index 0000000000..bb7bc0804e
--- /dev/null
+++ b/core/detectors/mvd/CbmMvdBaseLinkDef.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2006-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
+   SPDX-License-Identifier: GPL-3.0-only
+   Authors: Philipp Sitzmann, Volker Friese [committer] */
+
+#ifdef __CINT__
+
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ class CbmMvdStationPar + ;
+
+#pragma link C++ class CbmMvdSensorDataSheet + ;
+#pragma link C++ class CbmMvdMimosa26AHR + ;
+#pragma link C++ class CbmMvdMimosa34 + ;
+#pragma link C++ class CbmMvdMimosis + ;
+
+#pragma link C++ class CbmMvdSensor + ;
+#pragma link C++ class CbmMvdDetector + ;
+
+#pragma link C++ class CbmMvdSensorBuffer + ;
+#pragma link C++ class CbmMvdSensorFrameBuffer + ;
+//#pragma link C++ class CbmMvdSensorTrackingBuffer + ;
+#pragma link C++ class CbmMvdSensorPlugin + ;
+#pragma link C++ class CbmMvdSensorTask + ;
+
+#pragma link C++ class CbmMvdGeoHandler + ;
+#pragma link C++ class CbmMvdTrackingInterface+;
+#pragma link C++ class CbmMvdPileupManager+;
+#endif
diff --git a/mvd/CbmMvdDetector.cxx b/core/detectors/mvd/CbmMvdDetector.cxx
similarity index 100%
rename from mvd/CbmMvdDetector.cxx
rename to core/detectors/mvd/CbmMvdDetector.cxx
diff --git a/mvd/CbmMvdDetector.h b/core/detectors/mvd/CbmMvdDetector.h
similarity index 100%
rename from mvd/CbmMvdDetector.h
rename to core/detectors/mvd/CbmMvdDetector.h
diff --git a/mvd/CbmMvdPileupManager.cxx b/core/detectors/mvd/CbmMvdPileupManager.cxx
similarity index 100%
rename from mvd/CbmMvdPileupManager.cxx
rename to core/detectors/mvd/CbmMvdPileupManager.cxx
diff --git a/mvd/CbmMvdPileupManager.h b/core/detectors/mvd/CbmMvdPileupManager.h
similarity index 100%
rename from mvd/CbmMvdPileupManager.h
rename to core/detectors/mvd/CbmMvdPileupManager.h
diff --git a/mvd/CbmMvdSensor.cxx b/core/detectors/mvd/CbmMvdSensor.cxx
similarity index 100%
rename from mvd/CbmMvdSensor.cxx
rename to core/detectors/mvd/CbmMvdSensor.cxx
diff --git a/mvd/CbmMvdSensor.h b/core/detectors/mvd/CbmMvdSensor.h
similarity index 100%
rename from mvd/CbmMvdSensor.h
rename to core/detectors/mvd/CbmMvdSensor.h
diff --git a/mvd/CbmMvdStationPar.cxx b/core/detectors/mvd/CbmMvdStationPar.cxx
similarity index 100%
rename from mvd/CbmMvdStationPar.cxx
rename to core/detectors/mvd/CbmMvdStationPar.cxx
diff --git a/mvd/CbmMvdStationPar.h b/core/detectors/mvd/CbmMvdStationPar.h
similarity index 100%
rename from mvd/CbmMvdStationPar.h
rename to core/detectors/mvd/CbmMvdStationPar.h
diff --git a/mvd/CbmMvdTrackingInterface.cxx b/core/detectors/mvd/CbmMvdTrackingInterface.cxx
similarity index 100%
rename from mvd/CbmMvdTrackingInterface.cxx
rename to core/detectors/mvd/CbmMvdTrackingInterface.cxx
diff --git a/mvd/CbmMvdTrackingInterface.h b/core/detectors/mvd/CbmMvdTrackingInterface.h
similarity index 100%
rename from mvd/CbmMvdTrackingInterface.h
rename to core/detectors/mvd/CbmMvdTrackingInterface.h
diff --git a/mvd/SensorDataSheets/CbmMvdMimosa26AHR.cxx b/core/detectors/mvd/SensorDataSheets/CbmMvdMimosa26AHR.cxx
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdMimosa26AHR.cxx
rename to core/detectors/mvd/SensorDataSheets/CbmMvdMimosa26AHR.cxx
diff --git a/mvd/SensorDataSheets/CbmMvdMimosa26AHR.h b/core/detectors/mvd/SensorDataSheets/CbmMvdMimosa26AHR.h
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdMimosa26AHR.h
rename to core/detectors/mvd/SensorDataSheets/CbmMvdMimosa26AHR.h
diff --git a/mvd/SensorDataSheets/CbmMvdMimosa34.cxx b/core/detectors/mvd/SensorDataSheets/CbmMvdMimosa34.cxx
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdMimosa34.cxx
rename to core/detectors/mvd/SensorDataSheets/CbmMvdMimosa34.cxx
diff --git a/mvd/SensorDataSheets/CbmMvdMimosa34.h b/core/detectors/mvd/SensorDataSheets/CbmMvdMimosa34.h
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdMimosa34.h
rename to core/detectors/mvd/SensorDataSheets/CbmMvdMimosa34.h
diff --git a/mvd/SensorDataSheets/CbmMvdMimosis.cxx b/core/detectors/mvd/SensorDataSheets/CbmMvdMimosis.cxx
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdMimosis.cxx
rename to core/detectors/mvd/SensorDataSheets/CbmMvdMimosis.cxx
diff --git a/mvd/SensorDataSheets/CbmMvdMimosis.h b/core/detectors/mvd/SensorDataSheets/CbmMvdMimosis.h
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdMimosis.h
rename to core/detectors/mvd/SensorDataSheets/CbmMvdMimosis.h
diff --git a/mvd/SensorDataSheets/CbmMvdSensorDataSheet.cxx b/core/detectors/mvd/SensorDataSheets/CbmMvdSensorDataSheet.cxx
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdSensorDataSheet.cxx
rename to core/detectors/mvd/SensorDataSheets/CbmMvdSensorDataSheet.cxx
diff --git a/mvd/SensorDataSheets/CbmMvdSensorDataSheet.h b/core/detectors/mvd/SensorDataSheets/CbmMvdSensorDataSheet.h
similarity index 100%
rename from mvd/SensorDataSheets/CbmMvdSensorDataSheet.h
rename to core/detectors/mvd/SensorDataSheets/CbmMvdSensorDataSheet.h
diff --git a/mvd/plugins/CbmMvdSensorPlugin.cxx b/core/detectors/mvd/plugins/CbmMvdSensorPlugin.cxx
similarity index 100%
rename from mvd/plugins/CbmMvdSensorPlugin.cxx
rename to core/detectors/mvd/plugins/CbmMvdSensorPlugin.cxx
diff --git a/mvd/plugins/CbmMvdSensorPlugin.h b/core/detectors/mvd/plugins/CbmMvdSensorPlugin.h
similarity index 100%
rename from mvd/plugins/CbmMvdSensorPlugin.h
rename to core/detectors/mvd/plugins/CbmMvdSensorPlugin.h
diff --git a/mvd/plugins/PluginNamingConvention.txt b/core/detectors/mvd/plugins/PluginNamingConvention.txt
similarity index 100%
rename from mvd/plugins/PluginNamingConvention.txt
rename to core/detectors/mvd/plugins/PluginNamingConvention.txt
diff --git a/mvd/plugins/buffers/CbmMvdSensorBuffer.cxx b/core/detectors/mvd/plugins/buffers/CbmMvdSensorBuffer.cxx
similarity index 100%
rename from mvd/plugins/buffers/CbmMvdSensorBuffer.cxx
rename to core/detectors/mvd/plugins/buffers/CbmMvdSensorBuffer.cxx
diff --git a/mvd/plugins/buffers/CbmMvdSensorBuffer.h b/core/detectors/mvd/plugins/buffers/CbmMvdSensorBuffer.h
similarity index 100%
rename from mvd/plugins/buffers/CbmMvdSensorBuffer.h
rename to core/detectors/mvd/plugins/buffers/CbmMvdSensorBuffer.h
diff --git a/mvd/plugins/buffers/CbmMvdSensorFrameBuffer.cxx b/core/detectors/mvd/plugins/buffers/CbmMvdSensorFrameBuffer.cxx
similarity index 100%
rename from mvd/plugins/buffers/CbmMvdSensorFrameBuffer.cxx
rename to core/detectors/mvd/plugins/buffers/CbmMvdSensorFrameBuffer.cxx
diff --git a/mvd/plugins/buffers/CbmMvdSensorFrameBuffer.h b/core/detectors/mvd/plugins/buffers/CbmMvdSensorFrameBuffer.h
similarity index 100%
rename from mvd/plugins/buffers/CbmMvdSensorFrameBuffer.h
rename to core/detectors/mvd/plugins/buffers/CbmMvdSensorFrameBuffer.h
diff --git a/mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.cxx b/core/detectors/mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.cxx
similarity index 100%
rename from mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.cxx
rename to core/detectors/mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.cxx
diff --git a/mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.h b/core/detectors/mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.h
similarity index 100%
rename from mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.h
rename to core/detectors/mvd/plugins/buffers/CbmMvdSensorTrackingBuffer.h
diff --git a/mvd/plugins/tasks/CbmMvdSensorTask.cxx b/core/detectors/mvd/plugins/tasks/CbmMvdSensorTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorTask.cxx
rename to core/detectors/mvd/plugins/tasks/CbmMvdSensorTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorTask.h b/core/detectors/mvd/plugins/tasks/CbmMvdSensorTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorTask.h
rename to core/detectors/mvd/plugins/tasks/CbmMvdSensorTask.h
diff --git a/mvd/tools/CbmMvdGeoHandler.cxx b/core/detectors/mvd/tools/CbmMvdGeoHandler.cxx
similarity index 100%
rename from mvd/tools/CbmMvdGeoHandler.cxx
rename to core/detectors/mvd/tools/CbmMvdGeoHandler.cxx
diff --git a/mvd/tools/CbmMvdGeoHandler.h b/core/detectors/mvd/tools/CbmMvdGeoHandler.h
similarity index 100%
rename from mvd/tools/CbmMvdGeoHandler.h
rename to core/detectors/mvd/tools/CbmMvdGeoHandler.h
diff --git a/mvd/tools/CbmMvdHelper.h b/core/detectors/mvd/tools/CbmMvdHelper.h
similarity index 100%
rename from mvd/tools/CbmMvdHelper.h
rename to core/detectors/mvd/tools/CbmMvdHelper.h
diff --git a/reco/KF/KF.cmake b/reco/KF/KF.cmake
index a5fe0231cb..7018047929 100644
--- a/reco/KF/KF.cmake
+++ b/reco/KF/KF.cmake
@@ -86,7 +86,7 @@ set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
 set(PUBLIC_DEPENDENCIES
   CbmBase
   CbmData
-  CbmMvd
+  CbmMvdBase
   CbmRecoBase
   FairRoot::Base
   ROOT::Core
diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt
index 60ed071a1c..36e1375d6d 100644
--- a/reco/L1/CMakeLists.txt
+++ b/reco/L1/CMakeLists.txt
@@ -175,7 +175,7 @@ endif()
 
 set(PRIVATE_DEPENDENCIES
   CbmMuchBase
-  CbmMvd
+  CbmMvdBase
   CbmRecoSts
   CbmSimSteer
   CbmStsBase
diff --git a/reco/detectors/CMakeLists.txt b/reco/detectors/CMakeLists.txt
index a45aa1a279..a7b2f7391d 100644
--- a/reco/detectors/CMakeLists.txt
+++ b/reco/detectors/CMakeLists.txt
@@ -3,6 +3,7 @@
 
 add_subdirectory(bmon)
 add_subdirectory(much)
+add_subdirectory(mvd)
 add_subdirectory(psd)
 add_subdirectory(rich)
 add_subdirectory(sts)
diff --git a/reco/detectors/mvd/CMakeLists.txt b/reco/detectors/mvd/CMakeLists.txt
new file mode 100644
index 0000000000..5fde4b285c
--- /dev/null
+++ b/reco/detectors/mvd/CMakeLists.txt
@@ -0,0 +1,47 @@
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/qa
+  ${CMAKE_CURRENT_SOURCE_DIR}/plugins/tasks
+  )
+
+set(SRCS
+  #plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
+  plugins/tasks/CbmMvdSensorHitfinderTask.cxx
+  plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
+  
+  CbmMvdHitfinder.cxx  #OLD
+# CbmMvdDigiToHit.cxx
+  
+  CbmMvdClusterfinder.cxx
+  #CbmMvdClusterfinderTB.cxx
+  )
+
+
+set(LIBRARY_NAME CbmMvdReco)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  CbmMvdBase
+  FairLogger::FairLogger
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Graf
+  ROOT::Matrix
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+generate_cbm_library()
diff --git a/mvd/CbmMvdClusterfinder.cxx b/reco/detectors/mvd/CbmMvdClusterfinder.cxx
similarity index 100%
rename from mvd/CbmMvdClusterfinder.cxx
rename to reco/detectors/mvd/CbmMvdClusterfinder.cxx
diff --git a/mvd/CbmMvdClusterfinder.h b/reco/detectors/mvd/CbmMvdClusterfinder.h
similarity index 100%
rename from mvd/CbmMvdClusterfinder.h
rename to reco/detectors/mvd/CbmMvdClusterfinder.h
diff --git a/mvd/CbmMvdClusterfinderTB.cxx b/reco/detectors/mvd/CbmMvdClusterfinderTB.cxx
similarity index 100%
rename from mvd/CbmMvdClusterfinderTB.cxx
rename to reco/detectors/mvd/CbmMvdClusterfinderTB.cxx
diff --git a/mvd/CbmMvdClusterfinderTB.h b/reco/detectors/mvd/CbmMvdClusterfinderTB.h
similarity index 100%
rename from mvd/CbmMvdClusterfinderTB.h
rename to reco/detectors/mvd/CbmMvdClusterfinderTB.h
diff --git a/mvd/CbmMvdDigiToHit.cxx b/reco/detectors/mvd/CbmMvdDigiToHit.cxx
similarity index 100%
rename from mvd/CbmMvdDigiToHit.cxx
rename to reco/detectors/mvd/CbmMvdDigiToHit.cxx
diff --git a/mvd/CbmMvdDigiToHit.h b/reco/detectors/mvd/CbmMvdDigiToHit.h
similarity index 100%
rename from mvd/CbmMvdDigiToHit.h
rename to reco/detectors/mvd/CbmMvdDigiToHit.h
diff --git a/mvd/CbmMvdDigiToHitTB.cxx b/reco/detectors/mvd/CbmMvdDigiToHitTB.cxx
similarity index 100%
rename from mvd/CbmMvdDigiToHitTB.cxx
rename to reco/detectors/mvd/CbmMvdDigiToHitTB.cxx
diff --git a/mvd/CbmMvdDigiToHitTB.h b/reco/detectors/mvd/CbmMvdDigiToHitTB.h
similarity index 100%
rename from mvd/CbmMvdDigiToHitTB.h
rename to reco/detectors/mvd/CbmMvdDigiToHitTB.h
diff --git a/mvd/CbmMvdHitfinder.cxx b/reco/detectors/mvd/CbmMvdHitfinder.cxx
similarity index 100%
rename from mvd/CbmMvdHitfinder.cxx
rename to reco/detectors/mvd/CbmMvdHitfinder.cxx
diff --git a/mvd/CbmMvdHitfinder.h b/reco/detectors/mvd/CbmMvdHitfinder.h
similarity index 100%
rename from mvd/CbmMvdHitfinder.h
rename to reco/detectors/mvd/CbmMvdHitfinder.h
diff --git a/mvd/CbmMvdHitfinderTB.cxx b/reco/detectors/mvd/CbmMvdHitfinderTB.cxx
similarity index 100%
rename from mvd/CbmMvdHitfinderTB.cxx
rename to reco/detectors/mvd/CbmMvdHitfinderTB.cxx
diff --git a/mvd/CbmMvdHitfinderTB.h b/reco/detectors/mvd/CbmMvdHitfinderTB.h
similarity index 100%
rename from mvd/CbmMvdHitfinderTB.h
rename to reco/detectors/mvd/CbmMvdHitfinderTB.h
diff --git a/reco/detectors/mvd/CbmMvdRecoLinkDef.h b/reco/detectors/mvd/CbmMvdRecoLinkDef.h
new file mode 100644
index 0000000000..b764523df4
--- /dev/null
+++ b/reco/detectors/mvd/CbmMvdRecoLinkDef.h
@@ -0,0 +1,21 @@
+/* Copyright (C) 2006-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
+   SPDX-License-Identifier: GPL-3.0-only
+   Authors: Philipp Sitzmann, Volker Friese [committer] */
+
+#ifdef __CINT__
+
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ class CbmMvdHitfinder + ;
+#pragma link C++ class CbmMvdClusterfinder + ;
+
+#pragma link C++ class CbmMvdSensorHitfinderTask + ;  //OLD
+#pragma link C++ class CbmMvdSensorClusterfinderTask + ;  //OLD
+#pragma link C++ class CbmMvdTrackingInterface + ;
+
+#pragma link C++ class CbmMvdQa+;
+//#pragma link C++ class CbmMvdClusterAna+;
+
+#endif
diff --git a/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.h b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.h
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.h
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.h b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.h
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.h
diff --git a/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorFindHitTask.h b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorFindHitTask.h
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.h
diff --git a/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h
rename to reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h
diff --git a/reco/detectors/sts/CMakeLists.txt b/reco/detectors/sts/CMakeLists.txt
index e9cca0d626..284386c655 100644
--- a/reco/detectors/sts/CMakeLists.txt
+++ b/reco/detectors/sts/CMakeLists.txt
@@ -58,7 +58,7 @@ set(PRIVATE_DEPENDENCIES
   CbmBase
   CbmRecoBase
   CbmFlibFlesTools
-  CbmMvd
+  CbmMvdBase
   FairRoot::ParBase
   ROOT::Geom
   ROOT::Gpad
diff --git a/sim/detectors/CMakeLists.txt b/sim/detectors/CMakeLists.txt
index f9d1edb8ba..8c50987d7d 100644
--- a/sim/detectors/CMakeLists.txt
+++ b/sim/detectors/CMakeLists.txt
@@ -3,6 +3,7 @@
 
 add_subdirectory(bmon)
 add_subdirectory(much)
+add_subdirectory(mvd)
 add_subdirectory(psd)
 add_subdirectory(rich)
 add_subdirectory(sts)
diff --git a/sim/detectors/mvd/CMakeLists.txt b/sim/detectors/mvd/CMakeLists.txt
new file mode 100644
index 0000000000..bba9a280a8
--- /dev/null
+++ b/sim/detectors/mvd/CMakeLists.txt
@@ -0,0 +1,44 @@
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/plugins/tasks
+  )
+
+set(SRCS
+  plugins/tasks/CbmMvdSensorDigitizerTask.cxx
+  #plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
+  
+  CbmMvd.cxx
+
+  CbmMvdDigitizer.cxx
+  CbmMvdPixelCharge.cxx
+  )
+
+
+set(LIBRARY_NAME CbmMvdSim)
+set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
+set(PUBLIC_DEPENDENCIES
+  CbmBase
+  CbmData
+  CbmMvdBase
+  FairRoot::Base
+  ROOT::Core
+  ROOT::Geom
+  ROOT::Gpad
+  ROOT::Hist
+  ROOT::MathCore
+  ROOT::Physics
+  )
+
+set(PRIVATE_DEPENDENCIES
+  CbmSimBase
+  FairLogger::FairLogger
+  FairRoot::GeoBase
+  FairRoot::ParBase
+  ROOT::EG
+  ROOT::Graf
+  ROOT::Matrix
+  ROOT::RIO
+  ROOT::Tree
+  )
+
+generate_cbm_library()
diff --git a/mvd/CbmMvd.cxx b/sim/detectors/mvd/CbmMvd.cxx
similarity index 100%
rename from mvd/CbmMvd.cxx
rename to sim/detectors/mvd/CbmMvd.cxx
diff --git a/mvd/CbmMvd.h b/sim/detectors/mvd/CbmMvd.h
similarity index 100%
rename from mvd/CbmMvd.h
rename to sim/detectors/mvd/CbmMvd.h
diff --git a/mvd/CbmMvdDigitizer.cxx b/sim/detectors/mvd/CbmMvdDigitizer.cxx
similarity index 100%
rename from mvd/CbmMvdDigitizer.cxx
rename to sim/detectors/mvd/CbmMvdDigitizer.cxx
diff --git a/mvd/CbmMvdDigitizer.h b/sim/detectors/mvd/CbmMvdDigitizer.h
similarity index 100%
rename from mvd/CbmMvdDigitizer.h
rename to sim/detectors/mvd/CbmMvdDigitizer.h
diff --git a/mvd/CbmMvdDigitizerTB.cxx b/sim/detectors/mvd/CbmMvdDigitizerTB.cxx
similarity index 100%
rename from mvd/CbmMvdDigitizerTB.cxx
rename to sim/detectors/mvd/CbmMvdDigitizerTB.cxx
diff --git a/mvd/CbmMvdDigitizerTB.h b/sim/detectors/mvd/CbmMvdDigitizerTB.h
similarity index 100%
rename from mvd/CbmMvdDigitizerTB.h
rename to sim/detectors/mvd/CbmMvdDigitizerTB.h
diff --git a/mvd/CbmMvdPixelCharge.cxx b/sim/detectors/mvd/CbmMvdPixelCharge.cxx
similarity index 100%
rename from mvd/CbmMvdPixelCharge.cxx
rename to sim/detectors/mvd/CbmMvdPixelCharge.cxx
diff --git a/mvd/CbmMvdPixelCharge.h b/sim/detectors/mvd/CbmMvdPixelCharge.h
similarity index 100%
rename from mvd/CbmMvdPixelCharge.h
rename to sim/detectors/mvd/CbmMvdPixelCharge.h
diff --git a/sim/detectors/mvd/CbmMvdSimLinkDef.h b/sim/detectors/mvd/CbmMvdSimLinkDef.h
new file mode 100644
index 0000000000..2fe7bdbd42
--- /dev/null
+++ b/sim/detectors/mvd/CbmMvdSimLinkDef.h
@@ -0,0 +1,19 @@
+/* Copyright (C) 2006-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
+   SPDX-License-Identifier: GPL-3.0-only
+   Authors: Philipp Sitzmann, Volker Friese [committer] */
+
+#ifdef __CINT__
+
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ class CbmMvd + ;
+
+#pragma link C++ class CbmDigitize < CbmMvdDigi> + ;
+#pragma link C++ class CbmMvdDigitizer + ;
+#pragma link C++ class CbmMvdPixelCharge + ;
+
+#pragma link C++ class CbmMvdSensorDigitizerTask + ;
+
+#endif
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
rename to sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h
rename to sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
rename to sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h
similarity index 100%
rename from mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h
rename to sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h
diff --git a/sim/detectors/mvd/test.txt b/sim/detectors/mvd/test.txt
deleted file mode 100644
index 90bfcb5106..0000000000
--- a/sim/detectors/mvd/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is a test
diff --git a/sim/response/CMakeLists.txt b/sim/response/CMakeLists.txt
index 9b2b9f2482..dde4f0799b 100644
--- a/sim/response/CMakeLists.txt
+++ b/sim/response/CMakeLists.txt
@@ -22,7 +22,7 @@ set(PUBLIC_DEPENDENCIES
 
 set(PRIVATE_DEPENDENCIES
   CbmMuchSim
-  CbmMvd
+  CbmMvdSim
   CbmPsdSim
   CbmRichSim
   CbmSimSteer
diff --git a/sim/transport/geosetup/CMakeLists.txt b/sim/transport/geosetup/CMakeLists.txt
index ff9e26a359..b850211673 100644
--- a/sim/transport/geosetup/CMakeLists.txt
+++ b/sim/transport/geosetup/CMakeLists.txt
@@ -31,7 +31,7 @@ set(PUBLIC_DEPENDENCIES
 
 set(PRIVATE_DEPENDENCIES
   CbmMuchSim
-  CbmMvd
+  CbmMvdSim
   CbmPassive
   CbmPsdSim
   CbmRichSim
-- 
GitLab