From b3b9199b870306fd993f22f5fd705685b94f2324 Mon Sep 17 00:00:00 2001
From: adrien-matta <a.matta@surrey.ac.uk>
Date: Wed, 15 Apr 2015 11:32:23 +0100
Subject: [PATCH] * Making change so NPS follow the same logic as NPLib

---
 NPLib/AnnularS2/CMakeLists.txt                 |  4 ++--
 NPLib/CMakeLists.txt                           | 18 ++++++++++++------
 NPLib/Core/RootInput.cxx                       |  2 +-
 NPLib/Core/RootOutput.cxx                      | 11 ++++-------
 NPLib/DummyDetector/CMakeLists.txt             |  4 ++--
 NPLib/HYDE2/CMakeLists.txt                     |  4 ++--
 NPLib/HiRA/CMakeLists.txt                      |  4 ++--
 NPLib/NPLibConfig.cmake.in                     | 14 ++++++++++++++
 NPLib/Riken/CMakeLists.txt                     |  4 ++--
 .../{src => Core}/CalorimeterScorers.cc        |  0
 .../{include => Core}/CalorimeterScorers.hh    |  0
 NPSimulation/{src => Core}/Chamber.cc          |  0
 NPSimulation/{include => Core}/Chamber.hh      |  0
 .../{src => Core}/DetectorConstruction.cc      |  0
 .../{include => Core}/DetectorConstruction.hh  |  0
 .../{src => Core}/DetectorMessenger.cc         |  0
 .../{include => Core}/DetectorMessenger.hh     |  0
 NPSimulation/{src => Core}/EventAction.cc      |  0
 NPSimulation/{include => Core}/EventAction.hh  |  0
 .../{src => Core}/EventGeneratorBeam.cc        |  0
 .../{include => Core}/EventGeneratorBeam.hh    |  0
 .../{src => Core}/EventGeneratorGammaDecay.cc  |  0
 .../EventGeneratorGammaDecay.hh                |  0
 .../{src => Core}/EventGeneratorIsotropic.cc   |  0
 .../EventGeneratorIsotropic.hh                 |  0
 .../EventGeneratorParticleDecay.cc             |  0
 .../EventGeneratorParticleDecay.hh             |  0
 .../EventGeneratorTwoBodyReaction.cc           |  0
 .../EventGeneratorTwoBodyReaction.hh           |  0
 NPSimulation/{src => Core}/MaterialManager.cc  |  0
 .../{include => Core}/MaterialManager.hh       |  0
 NPSimulation/{src => Core}/MyMagneticField.cc  |  0
 .../{include => Core}/MyMagneticField.hh       |  0
 .../{src => Core}/ObsoleteGeneralScorers.cc    |  0
 .../ObsoleteGeneralScorers.hh                  |  0
 NPSimulation/{src => Core}/Particle.cc         |  0
 NPSimulation/{include => Core}/Particle.hh     |  0
 NPSimulation/{src => Core}/ParticleStack.cc    |  0
 .../{include => Core}/ParticleStack.hh         |  0
 NPSimulation/{src => Core}/PhysicsList.cc      |  0
 NPSimulation/{include => Core}/PhysicsList.hh  |  0
 .../{src => Core}/PrimaryGeneratorAction.cc    |  0
 .../PrimaryGeneratorAction.hh                  |  0
 .../PrimaryGeneratorActionMessenger.cc         |  0
 .../PrimaryGeneratorActionMessenger.hh         |  0
 NPSimulation/{src => Core}/SiliconScorers.cc   |  0
 .../{include => Core}/SiliconScorers.hh        |  0
 NPSimulation/{src => Core}/SteppingVerbose.cc  |  0
 .../{include => Core}/SteppingVerbose.hh       |  0
 NPSimulation/{src => Core}/Target.cc           |  0
 NPSimulation/{include => Core}/Target.hh       |  0
 NPSimulation/{src => Core}/VDetector.cc        |  0
 NPSimulation/{include => Core}/VDetector.hh    |  0
 NPSimulation/{src => Core}/VEventGenerator.cc  |  0
 .../{include => Core}/VEventGenerator.hh       |  0
 NPSimulation/include/.gitignore                |  1 -
 NPSimulation/src/.gitignore                    |  1 -
 57 files changed, 41 insertions(+), 26 deletions(-)
 create mode 100644 NPLib/NPLibConfig.cmake.in
 rename NPSimulation/{src => Core}/CalorimeterScorers.cc (100%)
 rename NPSimulation/{include => Core}/CalorimeterScorers.hh (100%)
 rename NPSimulation/{src => Core}/Chamber.cc (100%)
 rename NPSimulation/{include => Core}/Chamber.hh (100%)
 rename NPSimulation/{src => Core}/DetectorConstruction.cc (100%)
 rename NPSimulation/{include => Core}/DetectorConstruction.hh (100%)
 rename NPSimulation/{src => Core}/DetectorMessenger.cc (100%)
 rename NPSimulation/{include => Core}/DetectorMessenger.hh (100%)
 rename NPSimulation/{src => Core}/EventAction.cc (100%)
 rename NPSimulation/{include => Core}/EventAction.hh (100%)
 rename NPSimulation/{src => Core}/EventGeneratorBeam.cc (100%)
 rename NPSimulation/{include => Core}/EventGeneratorBeam.hh (100%)
 rename NPSimulation/{src => Core}/EventGeneratorGammaDecay.cc (100%)
 rename NPSimulation/{include => Core}/EventGeneratorGammaDecay.hh (100%)
 rename NPSimulation/{src => Core}/EventGeneratorIsotropic.cc (100%)
 rename NPSimulation/{include => Core}/EventGeneratorIsotropic.hh (100%)
 rename NPSimulation/{src => Core}/EventGeneratorParticleDecay.cc (100%)
 rename NPSimulation/{include => Core}/EventGeneratorParticleDecay.hh (100%)
 rename NPSimulation/{src => Core}/EventGeneratorTwoBodyReaction.cc (100%)
 rename NPSimulation/{include => Core}/EventGeneratorTwoBodyReaction.hh (100%)
 rename NPSimulation/{src => Core}/MaterialManager.cc (100%)
 rename NPSimulation/{include => Core}/MaterialManager.hh (100%)
 rename NPSimulation/{src => Core}/MyMagneticField.cc (100%)
 rename NPSimulation/{include => Core}/MyMagneticField.hh (100%)
 rename NPSimulation/{src => Core}/ObsoleteGeneralScorers.cc (100%)
 rename NPSimulation/{include => Core}/ObsoleteGeneralScorers.hh (100%)
 rename NPSimulation/{src => Core}/Particle.cc (100%)
 rename NPSimulation/{include => Core}/Particle.hh (100%)
 rename NPSimulation/{src => Core}/ParticleStack.cc (100%)
 rename NPSimulation/{include => Core}/ParticleStack.hh (100%)
 rename NPSimulation/{src => Core}/PhysicsList.cc (100%)
 rename NPSimulation/{include => Core}/PhysicsList.hh (100%)
 rename NPSimulation/{src => Core}/PrimaryGeneratorAction.cc (100%)
 rename NPSimulation/{include => Core}/PrimaryGeneratorAction.hh (100%)
 rename NPSimulation/{src => Core}/PrimaryGeneratorActionMessenger.cc (100%)
 rename NPSimulation/{include => Core}/PrimaryGeneratorActionMessenger.hh (100%)
 rename NPSimulation/{src => Core}/SiliconScorers.cc (100%)
 rename NPSimulation/{include => Core}/SiliconScorers.hh (100%)
 rename NPSimulation/{src => Core}/SteppingVerbose.cc (100%)
 rename NPSimulation/{include => Core}/SteppingVerbose.hh (100%)
 rename NPSimulation/{src => Core}/Target.cc (100%)
 rename NPSimulation/{include => Core}/Target.hh (100%)
 rename NPSimulation/{src => Core}/VDetector.cc (100%)
 rename NPSimulation/{include => Core}/VDetector.hh (100%)
 rename NPSimulation/{src => Core}/VEventGenerator.cc (100%)
 rename NPSimulation/{include => Core}/VEventGenerator.hh (100%)
 delete mode 100644 NPSimulation/include/.gitignore
 delete mode 100644 NPSimulation/src/.gitignore

diff --git a/NPLib/AnnularS2/CMakeLists.txt b/NPLib/AnnularS2/CMakeLists.txt
index 66b43584a..eb3d5acc1 100644
--- a/NPLib/AnnularS2/CMakeLists.txt
+++ b/NPLib/AnnularS2/CMakeLists.txt
@@ -1,6 +1,6 @@
 add_custom_command(OUTPUT TS2PhysicsDict.cxx TS2PhysicsDict_rdict.pcm TS2Physics.rootmap COMMAND ../scripts/build_dict.sh TS2Physics.h TS2PhysicsDict.cxx TS2Physics.rootmap libNPAnnularS2.dylib DEPENDS TS2Physics.h)
 add_custom_command(OUTPUT TS2DataDict.cxx TS2DataDict_rdict.pcm TS2Data.rootmap COMMAND ../scripts/build_dict.sh TS2Data.h TS2DataDict.cxx TS2Data.rootmap libNPAnnularS2.dylib DEPENDS TS2Data.h)
-add_library(NPS2 SHARED TS2Data.cxx TS2Physics.cxx TS2DataDict.cxx TS2PhysicsDict.cxx )
-target_link_libraries(NPS2 ${ROOT_LIBRARIES} NPCore) 
+add_library(NPAnnularS2 SHARED TS2Data.cxx TS2Physics.cxx TS2DataDict.cxx TS2PhysicsDict.cxx )
+target_link_libraries(NPAnnularS2 ${ROOT_LIBRARIES} NPCore) 
 install(FILES TS2Data.h TS2Physics.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/CMakeLists.txt b/NPLib/CMakeLists.txt
index a970430a0..2c88713bb 100644
--- a/NPLib/CMakeLists.txt
+++ b/NPLib/CMakeLists.txt
@@ -71,17 +71,23 @@ ENDMACRO()
 # Call the Macro
 subdirlist(SUB_DIRECTORY ${CMAKE_BINARY_DIR})
 set(SUB_DIRECTORY ${SUB_DIRECTORY} Core Physics InitialConditions InteractionCoordinates Utility)
-# Add each folder in the include path
-#foreach(subdir ${SUB_DIRECTORY})
-#  # Allow inclusion of project headers
-#  include_directories(${subdir})
-#endforeach() 
 include_directories("Core/")
 
 # Add each sub folder to the project
+set(TARGET_LIST "")
 foreach(subdir ${SUB_DIRECTORY})
 # add the subdirectory
-  add_subdirectory(${subdir}) 
+  add_subdirectory(${subdir})
+  string(COMPARE EQUAL "${subdir}" "Utility" r0)
+  if(NOT r0)
+    LIST(APPEND TARGET_LIST NP${subdir})
+  endif()
 endforeach()
 
+export(TARGETS ${TARGET_LIST} FILE NPLibTargets.cmake)
+export(PACKAGE NPLib)
+file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" "${CMAKE_INCLUDE_OUTPUT_DIRECTORY}")
+set(CONF_INCLUDE_DIRS "./" "./")
+configure_file(NPLibConfig.cmake.in "${PROJECT_BINARY_DIR}/NPLibConfig.cmake" @ONLY)
+
 install(SCRIPT scripts/post_install.cmake ${DETLIST})
diff --git a/NPLib/Core/RootInput.cxx b/NPLib/Core/RootInput.cxx
index 227c58d8c..6045c4792 100644
--- a/NPLib/Core/RootInput.cxx
+++ b/NPLib/Core/RootInput.cxx
@@ -132,7 +132,7 @@ RootInput::RootInput(string configFileName){
       }
     }
     if( pRootChain->GetEntries() ==0){
-      cout << "\033[1;31m ERROR: No entries to analyse\033[0m" << endl; 
+      cout << "\033[1;31m**** ERROR: No entries to analyse ****\033[0m" << endl; 
       exit(1);
     }
     else{
diff --git a/NPLib/Core/RootOutput.cxx b/NPLib/Core/RootOutput.cxx
index 2a6fe26ac..7804d207b 100644
--- a/NPLib/Core/RootOutput.cxx
+++ b/NPLib/Core/RootOutput.cxx
@@ -49,8 +49,7 @@ void RootOutput::Destroy(){
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-RootOutput::RootOutput(TString fileNameBase, TString treeNameBase)
-{
+RootOutput::RootOutput(TString fileNameBase, TString treeNameBase){
    TDirectory* currentPath= gDirectory;
 
    // The file extension is added to the file name:
@@ -85,8 +84,7 @@ RootOutput::RootOutput(TString fileNameBase, TString treeNameBase)
 
 
 ////////////////////////////////////////////////////////////////////////////////
-void RootOutput::InitAsciiFiles()
-{
+void RootOutput::InitAsciiFiles(){
    // get NPOptionManager pointer
    NPOptionManager* OptionManager  = NPOptionManager::getInstance();
 
@@ -126,9 +124,8 @@ void RootOutput::InitAsciiFiles()
 }
 
 
-
-RootOutput::~RootOutput()
-{ 
+////////////////////////////////////////////////////////////////////////////////
+RootOutput::~RootOutput(){ 
     // The data is written to the file and the tree is closed:
     if (pRootFile && !NPOptionManager::getInstance()->GetPROOF()) {
       TDirectory* currentPath= gDirectory;
diff --git a/NPLib/DummyDetector/CMakeLists.txt b/NPLib/DummyDetector/CMakeLists.txt
index 2a4c35b4c..9c1bcf6ec 100644
--- a/NPLib/DummyDetector/CMakeLists.txt
+++ b/NPLib/DummyDetector/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_custom_command(OUTPUT TDUMMYDetectorDataDict.cxx TDUMMYDetectorDataDict_rdict.pcm TDUMMYDetectorData.rootmap COMMAND ../scripts/build_dict.sh TDUMMYDetectorData.h TDUMMYDetectorDataDict.cxx TDUMMYDetectorData.rootmap libNPDummyDetector.dylib DEPENDS TDUMMYDetectorData.h)
-add_library(NPDUMMYDetector SHARED TDUMMYDetectorData.cxx TDUMMYDetectorDataDict.cxx )
-target_link_libraries(NPDUMMYDetector ${ROOT_LIBRARIES} NPCore) 
+add_library(NPDummyDetector SHARED TDUMMYDetectorData.cxx TDUMMYDetectorDataDict.cxx )
+target_link_libraries(NPDummyDetector ${ROOT_LIBRARIES} NPCore) 
 install(FILES TDUMMYDetectorData.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/HYDE2/CMakeLists.txt b/NPLib/HYDE2/CMakeLists.txt
index fda2baaa3..e83e65087 100644
--- a/NPLib/HYDE2/CMakeLists.txt
+++ b/NPLib/HYDE2/CMakeLists.txt
@@ -1,6 +1,6 @@
 add_custom_command(OUTPUT THyde2TrackerPhysicsDict.cxx THyde2TrackerPhysicsDict_rdict.pcm THyde2TrackerPhysics.rootmap COMMAND ../scripts/build_dict.sh THyde2TrackerPhysics.h THyde2TrackerPhysicsDict.cxx THyde2TrackerPhysics.rootmap libNPHYDE2.dylib DEPENDS THyde2TrackerPhysics.h)
 add_custom_command(OUTPUT THyde2TrackerDataDict.cxx THyde2TrackerDataDict_rdict.pcm THyde2TrackerData.rootmap COMMAND ../scripts/build_dict.sh THyde2TrackerData.h THyde2TrackerDataDict.cxx THyde2TrackerData.rootmap libNPHYDE2.dylib DEPENDS THyde2TrackerData.h)
-add_library(NPHyde2Tracker SHARED Hyde2Tracker.cxx Hyde2TrackerModule.cxx Hyde2TrackerTrapezoid1.cxx Hyde2TrackerTrapezoid2.cxx Hyde2TrackerSquare1.cxx THyde2TrackerData.cxx THyde2TrackerPhysics.cxx THyde2TrackerDataDict.cxx THyde2TrackerPhysicsDict.cxx )
-target_link_libraries(NPHyde2Tracker ${ROOT_LIBRARIES} NPCore) 
+add_library(NPHYDE2 SHARED Hyde2Tracker.cxx Hyde2TrackerModule.cxx Hyde2TrackerTrapezoid1.cxx Hyde2TrackerTrapezoid2.cxx Hyde2TrackerSquare1.cxx THyde2TrackerData.cxx THyde2TrackerPhysics.cxx THyde2TrackerDataDict.cxx THyde2TrackerPhysicsDict.cxx )
+target_link_libraries(NPHYDE2 ${ROOT_LIBRARIES} NPCore) 
 install(FILES THyde2TrackerData.h THyde2TrackerPhysics.h Hyde2Tracker.h Hyde2TrackerModule.h Hyde2TrackerSquare1.h Hyde2TrackerTrapezoid1.h Hyde2TrackerTrapezoid2.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/HiRA/CMakeLists.txt b/NPLib/HiRA/CMakeLists.txt
index 570148ba4..935e8dfa3 100644
--- a/NPLib/HiRA/CMakeLists.txt
+++ b/NPLib/HiRA/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_custom_command(OUTPUT THiraDataDict.cxx THiraDataDict_rdict.pcm THiraData.rootmap COMMAND ../scripts/build_dict.sh THiraData.h THiraDataDict.cxx THiraData.rootmap libNPHiRA.dylib DEPENDS THiraData.h)
-add_library(NPHira SHARED THiraData.cxx THiraDataDict.cxx )
-target_link_libraries(NPHira ${ROOT_LIBRARIES} NPCore) 
+add_library(NPHiRA SHARED THiraData.cxx THiraDataDict.cxx )
+target_link_libraries(NPHiRA ${ROOT_LIBRARIES} NPCore) 
 install(FILES THiraData.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/NPLibConfig.cmake.in b/NPLib/NPLibConfig.cmake.in
new file mode 100644
index 000000000..b0c90458c
--- /dev/null
+++ b/NPLib/NPLibConfig.cmake.in
@@ -0,0 +1,14 @@
+# - Config file for the NPLib package
+# It defines the following variables
+#  NPLib_INCLUDE_DIRS - include directories for NPLib
+#  NPLib_LIBRARIES    - libraries to link against
+#  NPLib_EXECUTABLE   - the bar executable
+ 
+# Compute paths
+get_filename_component(NPLib_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+set(NPLib_INCLUDE_DIRS "@CMAKE_INCLUDE_OUTPUT_DIRECTORY@")
+include_directories("${NPLib_INCLUDE_DIRS}")
+set(NPLib_USE_FILE "@CMAKE_BINARY_DIR@/NPLibConfig.cmake")
+# These are IMPORTED targets created by NPLibTargets.cmake
+set(NPLib_LIBRARIES "@TARGET_LIST@")
+set(NPLib_EXECUTABLE npanalysis nptool-installer)
diff --git a/NPLib/Riken/CMakeLists.txt b/NPLib/Riken/CMakeLists.txt
index a95e7159c..0891c32c8 100644
--- a/NPLib/Riken/CMakeLists.txt
+++ b/NPLib/Riken/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_custom_command(OUTPUT TRIPSDataDict.cxx TRIPSDataDict_rdict.pcm TRIPSData.rootmap COMMAND ../scripts/build_dict.sh TRIPSData.h TRIPSDataDict.cxx TRIPSData.rootmap libNPRiken.dylib DEPENDS TRIPSData.h)
-add_library(NPRIPS SHARED TRIPSData.cxx TRIPSDataDict.cxx )
-target_link_libraries(NPRIPS ${ROOT_LIBRARIES} NPCore) 
+add_library(NPRiken SHARED TRIPSData.cxx TRIPSDataDict.cxx )
+target_link_libraries(NPRiken ${ROOT_LIBRARIES} NPCore) 
 install(FILES TRIPSData.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPSimulation/src/CalorimeterScorers.cc b/NPSimulation/Core/CalorimeterScorers.cc
similarity index 100%
rename from NPSimulation/src/CalorimeterScorers.cc
rename to NPSimulation/Core/CalorimeterScorers.cc
diff --git a/NPSimulation/include/CalorimeterScorers.hh b/NPSimulation/Core/CalorimeterScorers.hh
similarity index 100%
rename from NPSimulation/include/CalorimeterScorers.hh
rename to NPSimulation/Core/CalorimeterScorers.hh
diff --git a/NPSimulation/src/Chamber.cc b/NPSimulation/Core/Chamber.cc
similarity index 100%
rename from NPSimulation/src/Chamber.cc
rename to NPSimulation/Core/Chamber.cc
diff --git a/NPSimulation/include/Chamber.hh b/NPSimulation/Core/Chamber.hh
similarity index 100%
rename from NPSimulation/include/Chamber.hh
rename to NPSimulation/Core/Chamber.hh
diff --git a/NPSimulation/src/DetectorConstruction.cc b/NPSimulation/Core/DetectorConstruction.cc
similarity index 100%
rename from NPSimulation/src/DetectorConstruction.cc
rename to NPSimulation/Core/DetectorConstruction.cc
diff --git a/NPSimulation/include/DetectorConstruction.hh b/NPSimulation/Core/DetectorConstruction.hh
similarity index 100%
rename from NPSimulation/include/DetectorConstruction.hh
rename to NPSimulation/Core/DetectorConstruction.hh
diff --git a/NPSimulation/src/DetectorMessenger.cc b/NPSimulation/Core/DetectorMessenger.cc
similarity index 100%
rename from NPSimulation/src/DetectorMessenger.cc
rename to NPSimulation/Core/DetectorMessenger.cc
diff --git a/NPSimulation/include/DetectorMessenger.hh b/NPSimulation/Core/DetectorMessenger.hh
similarity index 100%
rename from NPSimulation/include/DetectorMessenger.hh
rename to NPSimulation/Core/DetectorMessenger.hh
diff --git a/NPSimulation/src/EventAction.cc b/NPSimulation/Core/EventAction.cc
similarity index 100%
rename from NPSimulation/src/EventAction.cc
rename to NPSimulation/Core/EventAction.cc
diff --git a/NPSimulation/include/EventAction.hh b/NPSimulation/Core/EventAction.hh
similarity index 100%
rename from NPSimulation/include/EventAction.hh
rename to NPSimulation/Core/EventAction.hh
diff --git a/NPSimulation/src/EventGeneratorBeam.cc b/NPSimulation/Core/EventGeneratorBeam.cc
similarity index 100%
rename from NPSimulation/src/EventGeneratorBeam.cc
rename to NPSimulation/Core/EventGeneratorBeam.cc
diff --git a/NPSimulation/include/EventGeneratorBeam.hh b/NPSimulation/Core/EventGeneratorBeam.hh
similarity index 100%
rename from NPSimulation/include/EventGeneratorBeam.hh
rename to NPSimulation/Core/EventGeneratorBeam.hh
diff --git a/NPSimulation/src/EventGeneratorGammaDecay.cc b/NPSimulation/Core/EventGeneratorGammaDecay.cc
similarity index 100%
rename from NPSimulation/src/EventGeneratorGammaDecay.cc
rename to NPSimulation/Core/EventGeneratorGammaDecay.cc
diff --git a/NPSimulation/include/EventGeneratorGammaDecay.hh b/NPSimulation/Core/EventGeneratorGammaDecay.hh
similarity index 100%
rename from NPSimulation/include/EventGeneratorGammaDecay.hh
rename to NPSimulation/Core/EventGeneratorGammaDecay.hh
diff --git a/NPSimulation/src/EventGeneratorIsotropic.cc b/NPSimulation/Core/EventGeneratorIsotropic.cc
similarity index 100%
rename from NPSimulation/src/EventGeneratorIsotropic.cc
rename to NPSimulation/Core/EventGeneratorIsotropic.cc
diff --git a/NPSimulation/include/EventGeneratorIsotropic.hh b/NPSimulation/Core/EventGeneratorIsotropic.hh
similarity index 100%
rename from NPSimulation/include/EventGeneratorIsotropic.hh
rename to NPSimulation/Core/EventGeneratorIsotropic.hh
diff --git a/NPSimulation/src/EventGeneratorParticleDecay.cc b/NPSimulation/Core/EventGeneratorParticleDecay.cc
similarity index 100%
rename from NPSimulation/src/EventGeneratorParticleDecay.cc
rename to NPSimulation/Core/EventGeneratorParticleDecay.cc
diff --git a/NPSimulation/include/EventGeneratorParticleDecay.hh b/NPSimulation/Core/EventGeneratorParticleDecay.hh
similarity index 100%
rename from NPSimulation/include/EventGeneratorParticleDecay.hh
rename to NPSimulation/Core/EventGeneratorParticleDecay.hh
diff --git a/NPSimulation/src/EventGeneratorTwoBodyReaction.cc b/NPSimulation/Core/EventGeneratorTwoBodyReaction.cc
similarity index 100%
rename from NPSimulation/src/EventGeneratorTwoBodyReaction.cc
rename to NPSimulation/Core/EventGeneratorTwoBodyReaction.cc
diff --git a/NPSimulation/include/EventGeneratorTwoBodyReaction.hh b/NPSimulation/Core/EventGeneratorTwoBodyReaction.hh
similarity index 100%
rename from NPSimulation/include/EventGeneratorTwoBodyReaction.hh
rename to NPSimulation/Core/EventGeneratorTwoBodyReaction.hh
diff --git a/NPSimulation/src/MaterialManager.cc b/NPSimulation/Core/MaterialManager.cc
similarity index 100%
rename from NPSimulation/src/MaterialManager.cc
rename to NPSimulation/Core/MaterialManager.cc
diff --git a/NPSimulation/include/MaterialManager.hh b/NPSimulation/Core/MaterialManager.hh
similarity index 100%
rename from NPSimulation/include/MaterialManager.hh
rename to NPSimulation/Core/MaterialManager.hh
diff --git a/NPSimulation/src/MyMagneticField.cc b/NPSimulation/Core/MyMagneticField.cc
similarity index 100%
rename from NPSimulation/src/MyMagneticField.cc
rename to NPSimulation/Core/MyMagneticField.cc
diff --git a/NPSimulation/include/MyMagneticField.hh b/NPSimulation/Core/MyMagneticField.hh
similarity index 100%
rename from NPSimulation/include/MyMagneticField.hh
rename to NPSimulation/Core/MyMagneticField.hh
diff --git a/NPSimulation/src/ObsoleteGeneralScorers.cc b/NPSimulation/Core/ObsoleteGeneralScorers.cc
similarity index 100%
rename from NPSimulation/src/ObsoleteGeneralScorers.cc
rename to NPSimulation/Core/ObsoleteGeneralScorers.cc
diff --git a/NPSimulation/include/ObsoleteGeneralScorers.hh b/NPSimulation/Core/ObsoleteGeneralScorers.hh
similarity index 100%
rename from NPSimulation/include/ObsoleteGeneralScorers.hh
rename to NPSimulation/Core/ObsoleteGeneralScorers.hh
diff --git a/NPSimulation/src/Particle.cc b/NPSimulation/Core/Particle.cc
similarity index 100%
rename from NPSimulation/src/Particle.cc
rename to NPSimulation/Core/Particle.cc
diff --git a/NPSimulation/include/Particle.hh b/NPSimulation/Core/Particle.hh
similarity index 100%
rename from NPSimulation/include/Particle.hh
rename to NPSimulation/Core/Particle.hh
diff --git a/NPSimulation/src/ParticleStack.cc b/NPSimulation/Core/ParticleStack.cc
similarity index 100%
rename from NPSimulation/src/ParticleStack.cc
rename to NPSimulation/Core/ParticleStack.cc
diff --git a/NPSimulation/include/ParticleStack.hh b/NPSimulation/Core/ParticleStack.hh
similarity index 100%
rename from NPSimulation/include/ParticleStack.hh
rename to NPSimulation/Core/ParticleStack.hh
diff --git a/NPSimulation/src/PhysicsList.cc b/NPSimulation/Core/PhysicsList.cc
similarity index 100%
rename from NPSimulation/src/PhysicsList.cc
rename to NPSimulation/Core/PhysicsList.cc
diff --git a/NPSimulation/include/PhysicsList.hh b/NPSimulation/Core/PhysicsList.hh
similarity index 100%
rename from NPSimulation/include/PhysicsList.hh
rename to NPSimulation/Core/PhysicsList.hh
diff --git a/NPSimulation/src/PrimaryGeneratorAction.cc b/NPSimulation/Core/PrimaryGeneratorAction.cc
similarity index 100%
rename from NPSimulation/src/PrimaryGeneratorAction.cc
rename to NPSimulation/Core/PrimaryGeneratorAction.cc
diff --git a/NPSimulation/include/PrimaryGeneratorAction.hh b/NPSimulation/Core/PrimaryGeneratorAction.hh
similarity index 100%
rename from NPSimulation/include/PrimaryGeneratorAction.hh
rename to NPSimulation/Core/PrimaryGeneratorAction.hh
diff --git a/NPSimulation/src/PrimaryGeneratorActionMessenger.cc b/NPSimulation/Core/PrimaryGeneratorActionMessenger.cc
similarity index 100%
rename from NPSimulation/src/PrimaryGeneratorActionMessenger.cc
rename to NPSimulation/Core/PrimaryGeneratorActionMessenger.cc
diff --git a/NPSimulation/include/PrimaryGeneratorActionMessenger.hh b/NPSimulation/Core/PrimaryGeneratorActionMessenger.hh
similarity index 100%
rename from NPSimulation/include/PrimaryGeneratorActionMessenger.hh
rename to NPSimulation/Core/PrimaryGeneratorActionMessenger.hh
diff --git a/NPSimulation/src/SiliconScorers.cc b/NPSimulation/Core/SiliconScorers.cc
similarity index 100%
rename from NPSimulation/src/SiliconScorers.cc
rename to NPSimulation/Core/SiliconScorers.cc
diff --git a/NPSimulation/include/SiliconScorers.hh b/NPSimulation/Core/SiliconScorers.hh
similarity index 100%
rename from NPSimulation/include/SiliconScorers.hh
rename to NPSimulation/Core/SiliconScorers.hh
diff --git a/NPSimulation/src/SteppingVerbose.cc b/NPSimulation/Core/SteppingVerbose.cc
similarity index 100%
rename from NPSimulation/src/SteppingVerbose.cc
rename to NPSimulation/Core/SteppingVerbose.cc
diff --git a/NPSimulation/include/SteppingVerbose.hh b/NPSimulation/Core/SteppingVerbose.hh
similarity index 100%
rename from NPSimulation/include/SteppingVerbose.hh
rename to NPSimulation/Core/SteppingVerbose.hh
diff --git a/NPSimulation/src/Target.cc b/NPSimulation/Core/Target.cc
similarity index 100%
rename from NPSimulation/src/Target.cc
rename to NPSimulation/Core/Target.cc
diff --git a/NPSimulation/include/Target.hh b/NPSimulation/Core/Target.hh
similarity index 100%
rename from NPSimulation/include/Target.hh
rename to NPSimulation/Core/Target.hh
diff --git a/NPSimulation/src/VDetector.cc b/NPSimulation/Core/VDetector.cc
similarity index 100%
rename from NPSimulation/src/VDetector.cc
rename to NPSimulation/Core/VDetector.cc
diff --git a/NPSimulation/include/VDetector.hh b/NPSimulation/Core/VDetector.hh
similarity index 100%
rename from NPSimulation/include/VDetector.hh
rename to NPSimulation/Core/VDetector.hh
diff --git a/NPSimulation/src/VEventGenerator.cc b/NPSimulation/Core/VEventGenerator.cc
similarity index 100%
rename from NPSimulation/src/VEventGenerator.cc
rename to NPSimulation/Core/VEventGenerator.cc
diff --git a/NPSimulation/include/VEventGenerator.hh b/NPSimulation/Core/VEventGenerator.hh
similarity index 100%
rename from NPSimulation/include/VEventGenerator.hh
rename to NPSimulation/Core/VEventGenerator.hh
diff --git a/NPSimulation/include/.gitignore b/NPSimulation/include/.gitignore
deleted file mode 100644
index d0fd01372..000000000
--- a/NPSimulation/include/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.hh
diff --git a/NPSimulation/src/.gitignore b/NPSimulation/src/.gitignore
deleted file mode 100644
index 283034ca8..000000000
--- a/NPSimulation/src/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.cc
-- 
GitLab