From 50c267f859856e9d951c3eb926d127e8e2783372 Mon Sep 17 00:00:00 2001
From: Marco Clemencic <marco.clemencic@cern.ch>
Date: Mon, 11 Feb 2019 15:56:32 +0100
Subject: [PATCH 01/25] Set OpenGL_GL_PREFERENCE to silence CMake CMP0072
 warning

---
 Geant4/G4config/CMakeLists.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Geant4/G4config/CMakeLists.txt b/Geant4/G4config/CMakeLists.txt
index fb8ceac88e..a281d94d0a 100644
--- a/Geant4/G4config/CMakeLists.txt
+++ b/Geant4/G4config/CMakeLists.txt
@@ -38,6 +38,8 @@ endif()
 
 set(GEANT4_TAG ${GEANT4_TAG} CACHE STRING "Tag of Geant4 to get from the Geant4-srcs repository")
 
+set(OpenGL_GL_PREFERENCE "GLVND" CACHE STRING "Preferred GL library to use (see https://cmake.org/cmake/help/v3.12/policy/CMP0072.html)")
+
 include(ExternalProject)
 
 ExternalProject_Add(Geant4
@@ -64,6 +66,7 @@ ExternalProject_Add(Geant4
 #             -DLCG_USE_NATIVE_COMPILER=${LCG_USE_NATIVE_COMPILER}
               -DCMAKE_MODULE_PATH=${Geant4Files_DIR}
               -DGEANT4_INSTALL_EXAMPLES=OFF
+              -DOpenGL_GL_PREFERENCE=${OpenGL_GL_PREFERENCE}
 )
 
 # Hardcoded list of external packages used by Geant4, needed to prepare the
-- 
GitLab


From 5815383051829d88258da24a66e15d1c5de3b60f Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Wed, 20 Feb 2019 12:48:59 +0100
Subject: [PATCH 02/25] Added v104r3 release notes

---
 ReleaseNotes/v104r3.md | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 ReleaseNotes/v104r3.md

diff --git a/ReleaseNotes/v104r3.md b/ReleaseNotes/v104r3.md
new file mode 100644
index 0000000000..39f952a3ff
--- /dev/null
+++ b/ReleaseNotes/v104r3.md
@@ -0,0 +1,10 @@
+2019-02-20 Geant4 v104r3
+===
+This release is based on `GEANT4 r10.4.3`, uses `LCG 93` and `Geant4Files v104r1`.
+
+This version is released on `Sim10` branch.
+
+## Latest Changes
+
+#### LHCb production G4 Physics List option1NoApplyCuts
+**[MR !42] Set preferred graphics library to silence CMake CMP0072 warning.**
-- 
GitLab


From 6a98b9333e9c0645454b6703334e099eab20a394 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Thu, 21 Feb 2019 14:58:59 +0100
Subject: [PATCH 03/25] Updated to LCG 95

---
 toolchain.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolchain.cmake b/toolchain.cmake
index 15b65ea9ad..0509bfb00b 100644
--- a/toolchain.cmake
+++ b/toolchain.cmake
@@ -1,5 +1,5 @@
 # Set the version of HEPTools to use
-set(heptools_version 93)
+set(heptools_version 95)
 
 # this check is needed because the toolchain is called when checking the
 # compiler (without the proper cache)
-- 
GitLab


From d76bdf740841107ff212aeed780a227898f00f68 Mon Sep 17 00:00:00 2001
From: Marco Cattaneo <marco.cattaneo@cern.ch>
Date: Thu, 7 Mar 2019 14:58:17 +0100
Subject: [PATCH 04/25] Remove obsolete CMT file

---
 Geant4Sys/cmt/requirements | 63 --------------------------------------
 1 file changed, 63 deletions(-)
 delete mode 100755 Geant4Sys/cmt/requirements

diff --git a/Geant4Sys/cmt/requirements b/Geant4Sys/cmt/requirements
deleted file mode 100755
index 5cad9b85a7..0000000000
--- a/Geant4Sys/cmt/requirements
+++ /dev/null
@@ -1,63 +0,0 @@
-package     Geant4Sys
-version     v96r4p4
-
-branches    cmt doc 
-
-# This package is essential for the cmt build 
-use     G4config              v* Geant4
- 
-# =============================================================================
-# =========== global libraries ================================================
-# =============================================================================
-use	G4event               v* Geant4 
-use	G4intercoms           v* Geant4 
-use	G4particles           v* Geant4 
-use	G4track               v* Geant4 
-use	G4geometry            v* Geant4 
-use 	G4processes	      v* Geant4
-use     G4physics_lists       v* Geant4
-use     G4tracking            v* Geant4
-use     G4global              v* Geant4 
-use     G4materials           v* Geant4 
-use     G4readout             v* Geant4  
-use     G4digits_hits         v* Geant4
-use     G4graphics_reps       v* Geant4 
-use     G4run                 v* Geant4  
-use     G4parmodels           v* Geant4
-use     G4GDML                v* Geant4
- 
-# Visualization
-use     G4useVisUI            v* Geant4
-use     G4Tree                v* Geant4 
-use     G4modeling            v* Geant4 
-use     G4vis_management      v* Geant4 
-use	G4RayTracer           v* Geant4 
-# Will not be built on Windows
-use     G4FR                  v* Geant4
-use     G4VRML                v* Geant4
-# Will not be built on Darwin nor Windows
-use     G4externals           v* Geant4
-use     G4OpenGL              v* Geant4
-
-# User Interface
-# Will not be built on Darwin
-use     G4UIcommon            v* Geant4
-use     G4UIbasic             v* Geant4
-# Will not be built on Darwin nor Windows
-use     G4UIGAG               v* Geant4
-
-# LHCb additional package (eg. for MC11 G4LHCblists)
-use     G4LHCblists           v* Geant4
-
-# G4 examples package - for checks
-use    G4analysis             v* Geant4
-use    G4examples             v* Geant4
-
-#=============================================================================
-# ======== the end ============================================================
-# =============================================================================
-private
-
-
-# Allow the generation of QMTest summary 
-apply_pattern QMTestSummarize
-- 
GitLab


From 0ff9778de7b5c643d60296256b70ab982895cc6b Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Thu, 18 Apr 2019 12:19:39 +0200
Subject: [PATCH 05/25] Updated to use v10.5.1

---
 CMakeLists.txt                 | 2 +-
 Geant4/G4config/CMakeLists.txt | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 677794dbe1..b0e70b67ca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
 set(GEANT4_SRCS_REPOSITORY https://gitlab.cern.ch/lhcb/Geant4-srcs.git CACHE STRING "Repository for Geant4 sources")
 
 find_package(GaudiProject)
-gaudi_project(Geant4 v105r0
+gaudi_project(Geant4 v105r1
               DATA Geant4Files VERSION v105r0)
 
 # FIXME: hack for compatibility with CMT build
diff --git a/Geant4/G4config/CMakeLists.txt b/Geant4/G4config/CMakeLists.txt
index a281d94d0a..77a73e32b8 100644
--- a/Geant4/G4config/CMakeLists.txt
+++ b/Geant4/G4config/CMakeLists.txt
@@ -30,7 +30,7 @@ if (NOT GEANT4_TAG)
   elseif(CMAKE_PROJECT_VERSION STREQUAL "HEAD")
     # Special mapping of version HEAD
     # WARNING this must be kept up to date manually
-    set(GEANT4_TAG "lhcb/v10.5.0-branch")
+    set(GEANT4_TAG "lhcb/v10.5.1-branch")
   else()
     set(GEANT4_TAG lhcb/${CMAKE_PROJECT_VERSION})
   endif()
-- 
GitLab


From ae2e4d1706eb534406b923ff94fbef085e5ca88f Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Tue, 23 Apr 2019 15:19:53 +0000
Subject: [PATCH 06/25] Locate and use VDT

---
 LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt b/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt
index afccb78cfe..01153fdcaa 100644
--- a/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt
+++ b/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt
@@ -4,6 +4,7 @@ gaudi_depends_on_subdirs(Geant4/G4config)
 gaudi_depends_on_subdirs(LHCbG4PhysLists)
 
 find_package(CLHEP REQUIRED)
+find_package(VDT REQUIRED)
 
 include_directories(SYSTEM ${CMAKE_INSTALL_PREFIX}/include ${CLHEP_INCLUDE_DIRS})
 link_directories(${CMAKE_INSTALL_PREFIX}/lib)
@@ -24,7 +25,7 @@ set(Geant4_LIBRARIES
 gaudi_add_executable(G4HadronicXSectionsTest
                      G4HadronicXSectionsTest.cc src/*.cc
                      INCLUDE_DIRS include CLHEP
-                     LINK_LIBRARIES ${Geant4_LIBRARIES} CLHEP)
+                     LINK_LIBRARIES ${Geant4_LIBRARIES} CLHEP VDT)
 
 add_dependencies(G4HadronicXSectionsTest Geant4)
 
-- 
GitLab


From d4fd1cded15f28f069581f8d3cc7fce859401b57 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Tue, 23 Apr 2019 16:56:15 +0000
Subject: [PATCH 07/25] VDT fix for G4Hadronic

---
 LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt b/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt
index 01153fdcaa..5ec8349033 100644
--- a/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt
+++ b/LHCbG4Tests/G4HadronicXSectionsTest/CMakeLists.txt
@@ -4,6 +4,8 @@ gaudi_depends_on_subdirs(Geant4/G4config)
 gaudi_depends_on_subdirs(LHCbG4PhysLists)
 
 find_package(CLHEP REQUIRED)
+
+# needed for cppyy at runtime in ROOT 6.16+
 find_package(VDT REQUIRED)
 
 include_directories(SYSTEM ${CMAKE_INSTALL_PREFIX}/include ${CLHEP_INCLUDE_DIRS})
@@ -25,7 +27,7 @@ set(Geant4_LIBRARIES
 gaudi_add_executable(G4HadronicXSectionsTest
                      G4HadronicXSectionsTest.cc src/*.cc
                      INCLUDE_DIRS include CLHEP
-                     LINK_LIBRARIES ${Geant4_LIBRARIES} CLHEP VDT)
+                     LINK_LIBRARIES ${Geant4_LIBRARIES} CLHEP)
 
 add_dependencies(G4HadronicXSectionsTest Geant4)
 
-- 
GitLab


From e3653537cd26cc2cc2ac8e12d3db60bae2284b48 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Sat, 27 Jul 2019 13:51:48 +0700
Subject: [PATCH 08/25] v104r3p1 release changes

# Conflicts:
#	CMakeLists.txt
---
 ReleaseNotes/v104r3p1.md | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 ReleaseNotes/v104r3p1.md

diff --git a/ReleaseNotes/v104r3p1.md b/ReleaseNotes/v104r3p1.md
new file mode 100644
index 0000000000..610478e7ba
--- /dev/null
+++ b/ReleaseNotes/v104r3p1.md
@@ -0,0 +1,5 @@
+2019-08-27 Geant4 v104r3p1
+===
+This release is based on `GEANT4 r10.4.3`, uses `LCG 95` and `Geant4Files v104r1`.
+
+This version is released on `Sim10` branch.
-- 
GitLab


From 5080aaea728b7ccba1578279133a81a96cc949e1 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 30 Jul 2019 00:35:51 +0700
Subject: [PATCH 09/25] v104r3p2 release changes

# Conflicts:
#	CMakeLists.txt
---
 ReleaseNotes/v104r3p2.md | 5 +++++
 toolchain.cmake          | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)
 create mode 100644 ReleaseNotes/v104r3p2.md

diff --git a/ReleaseNotes/v104r3p2.md b/ReleaseNotes/v104r3p2.md
new file mode 100644
index 0000000000..2ea24bd3cf
--- /dev/null
+++ b/ReleaseNotes/v104r3p2.md
@@ -0,0 +1,5 @@
+2019-08-29 Geant4 v104r3p2
+===
+This release is based on `GEANT4 r10.4.3`, uses `LCG 96` and `Geant4Files v104r1`.
+
+This version is released on `Sim10` branch.
diff --git a/toolchain.cmake b/toolchain.cmake
index 0509bfb00b..affe534093 100644
--- a/toolchain.cmake
+++ b/toolchain.cmake
@@ -1,5 +1,5 @@
 # Set the version of HEPTools to use
-set(heptools_version 95)
+set(heptools_version 96)
 
 # this check is needed because the toolchain is called when checking the
 # compiler (without the proper cache)
-- 
GitLab


From 93a70bc489db9629f7e8eafa184625c97414923e Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 3 Sep 2019 17:32:08 +0200
Subject: [PATCH 10/25] Added dependency LibLZMA

---
 LHCbG4Tests/G4MScInThinLayerTest/CMakeLists.txt | 5 ++++-
 LHCbG4Tests/G4RichTbSimHTest/CMakeLists.txt     | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/LHCbG4Tests/G4MScInThinLayerTest/CMakeLists.txt b/LHCbG4Tests/G4MScInThinLayerTest/CMakeLists.txt
index 2e00e1427c..9e457eb545 100644
--- a/LHCbG4Tests/G4MScInThinLayerTest/CMakeLists.txt
+++ b/LHCbG4Tests/G4MScInThinLayerTest/CMakeLists.txt
@@ -7,6 +7,9 @@ find_package(CLHEP REQUIRED)
 find_package(ROOT COMPONENTS Hist Gpad RIO)
 find_package(TBB)
 
+# Runtime dependency for ROOT (required for SLC6 as of LCG 96)
+find_package(LibLZMA REQUIRED)
+
 include_directories(SYSTEM ${CMAKE_INSTALL_PREFIX}/include ${CLHEP_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
 link_directories(${CMAKE_INSTALL_PREFIX}/lib)
 
@@ -23,7 +26,7 @@ set(Geant4_LIBRARIES
 gaudi_add_executable(G4MScInThinLayerTest
                      G4MScInThinLayerTest.cc src/*.cc
                      INCLUDE_DIRS include CLHEP ROOT
-                     LINK_LIBRARIES ${Geant4_LIBRARIES} CLHEP ROOT TBB G4LHCblists)
+                     LINK_LIBRARIES ${Geant4_LIBRARIES} CLHEP ROOT LibLZMA TBB G4LHCblists)
 
 add_dependencies(G4MScInThinLayerTest Geant4)
 
diff --git a/LHCbG4Tests/G4RichTbSimHTest/CMakeLists.txt b/LHCbG4Tests/G4RichTbSimHTest/CMakeLists.txt
index 8f09070aa0..6af3830042 100644
--- a/LHCbG4Tests/G4RichTbSimHTest/CMakeLists.txt
+++ b/LHCbG4Tests/G4RichTbSimHTest/CMakeLists.txt
@@ -6,6 +6,9 @@ find_package(CLHEP REQUIRED COMPONENTS Random)
 find_package(ROOT REQUIRED COMPONENTS Hist Tree RIO)
 find_package(TBB)
 
+# Runtime dependency for ROOT (required for SLC6 as of LCG 96)
+find_package(LibLZMA REQUIRED)
+
 include_directories(SYSTEM ${CMAKE_INSTALL_PREFIX}/include ${CLHEP_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
 link_directories(${CMAKE_INSTALL_PREFIX}/lib)
 
@@ -35,7 +38,7 @@ gaudi_add_executable(G4RichTbSimHTest
         src/srcgr/*.cc
         src/srcG4/proc/*.cc
   INCLUDE_DIRS include src/srcG4/includeG4 CLHEP ROOT
-  LINK_LIBRARIES CLHEP ROOT TBB ${Geant4_LIBRARIES})
+  LINK_LIBRARIES CLHEP ROOT LibLZMA TBB ${Geant4_LIBRARIES})
 
 add_dependencies(G4RichTbSimHTest Geant4)
 
-- 
GitLab


From c5323a30077330c4c82faf91d8c09e30561af214 Mon Sep 17 00:00:00 2001
From: Paul Nathaniel Swallow <paul.nathaniel.swallow@cern.ch>
Date: Fri, 15 Nov 2019 13:52:37 +0000
Subject: [PATCH 11/25] Update G4HadronicXSectionsTest.py

---
 .../G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py  | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py b/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py
index ff0a8e9425..60effca472 100755
--- a/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py
+++ b/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py
@@ -18,6 +18,8 @@ from array import array
 from ROOT import *
 from tempfile import NamedTemporaryFile
 
+ROOT.gROOT.SetBatch(True)
+
 phys_lists = ['FTFP', 'FTFP_BERT', 'QGSP_BERT']
 particles = ['pi+', 'pi-', 'kaon+', 'kaon-', 'proton', 'anti_proton']
 targets = ['Al', 'Be', 'Si']
-- 
GitLab


From dfb88fcaea1cb8c5059bc22a205f60ced9e21c50 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Tue, 3 Dec 2019 11:41:11 +0000
Subject: [PATCH 12/25] Update toolchain.cmake

---
 toolchain.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolchain.cmake b/toolchain.cmake
index affe534093..74b7752a4d 100644
--- a/toolchain.cmake
+++ b/toolchain.cmake
@@ -1,5 +1,5 @@
 # Set the version of HEPTools to use
-set(heptools_version 96)
+set(heptools_version 96b)
 
 # this check is needed because the toolchain is called when checking the
 # compiler (without the proper cache)
-- 
GitLab


From 98a5fd03c6083b4137ffe9ab4296bf14909a7bd0 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Mon, 9 Dec 2019 19:19:48 +0000
Subject: [PATCH 13/25] Bumped version to v106r0 + corresponding Geant4Files

---
 CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b0e70b67ca..779d1eb7d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,8 +5,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
 set(GEANT4_SRCS_REPOSITORY https://gitlab.cern.ch/lhcb/Geant4-srcs.git CACHE STRING "Repository for Geant4 sources")
 
 find_package(GaudiProject)
-gaudi_project(Geant4 v105r1
-              DATA Geant4Files VERSION v105r0)
+gaudi_project(Geant4 v106r0
+              DATA Geant4Files VERSION v106r0)
 
 # FIXME: hack for compatibility with CMT build
 file(WRITE ${CMAKE_BINARY_DIR}/dummy.cpp "")
-- 
GitLab


From d6dfe6eb48c0ea90babd2e8f910a3d525f6804bf Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Mon, 9 Dec 2019 19:40:49 +0000
Subject: [PATCH 14/25] Bumped to v10.6.0

---
 Geant4/G4config/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Geant4/G4config/CMakeLists.txt b/Geant4/G4config/CMakeLists.txt
index 77a73e32b8..f78d229a6c 100644
--- a/Geant4/G4config/CMakeLists.txt
+++ b/Geant4/G4config/CMakeLists.txt
@@ -30,7 +30,7 @@ if (NOT GEANT4_TAG)
   elseif(CMAKE_PROJECT_VERSION STREQUAL "HEAD")
     # Special mapping of version HEAD
     # WARNING this must be kept up to date manually
-    set(GEANT4_TAG "lhcb/v10.5.1-branch")
+    set(GEANT4_TAG "lhcb/v10.6.0-branch")
   else()
     set(GEANT4_TAG lhcb/${CMAKE_PROJECT_VERSION})
   endif()
-- 
GitLab


From 7bcf1343c7f12cd957067696445b34365f8e2222 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 17 Dec 2019 20:32:47 +0100
Subject: [PATCH 15/25] Release notes for v104r3p3

---
 ReleaseNotes/v104r3p3.md | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 ReleaseNotes/v104r3p3.md

diff --git a/ReleaseNotes/v104r3p3.md b/ReleaseNotes/v104r3p3.md
new file mode 100644
index 0000000000..a33e3eebe3
--- /dev/null
+++ b/ReleaseNotes/v104r3p3.md
@@ -0,0 +1,5 @@
+2019-12-17 Geant4 v104r3p3
+===
+This release is based on `GEANT4 r10.4.3`, uses `LCG 96b` and `Geant4Files v104r1`.
+
+This version is released on `Sim10` branch.
-- 
GitLab


From 8cb8c3839192056244cfb8bf782b59c014b8b310 Mon Sep 17 00:00:00 2001
From: Gloria Corti <gloria.corti@cern.ch>
Date: Tue, 21 Jan 2020 14:04:29 +0000
Subject: [PATCH 16/25] Make a new variable for Geant4Files

Enable to set and override version of Geant4Files package to be used in
nightly builds
---
 CMakeLists.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 779d1eb7d1..90cc248edb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,10 +3,11 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
 # NO_NINJA : Geant4 build fails with Ninja
 
 set(GEANT4_SRCS_REPOSITORY https://gitlab.cern.ch/lhcb/Geant4-srcs.git CACHE STRING "Repository for Geant4 sources")
+set(GEANT4FILES_VERSION v106r0 CACHE STRING "Version for Geant4Files to match Geant4-src version")
 
 find_package(GaudiProject)
 gaudi_project(Geant4 v106r0
-              DATA Geant4Files VERSION v106r0)
+              DATA Geant4Files VERSION ${GEANT4FILES_VERSION})
 
 # FIXME: hack for compatibility with CMT build
 file(WRITE ${CMAKE_BINARY_DIR}/dummy.cpp "")
-- 
GitLab


From fa0a615158d8c5850548de7e18f2f2611f981252 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Tue, 18 Feb 2020 22:44:55 +0000
Subject: [PATCH 17/25] update master to v10.6.1

---
 CMakeLists.txt                 | 4 ++--
 Geant4/G4config/CMakeLists.txt | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 90cc248edb..ee7f665f3a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,10 +3,10 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
 # NO_NINJA : Geant4 build fails with Ninja
 
 set(GEANT4_SRCS_REPOSITORY https://gitlab.cern.ch/lhcb/Geant4-srcs.git CACHE STRING "Repository for Geant4 sources")
-set(GEANT4FILES_VERSION v106r0 CACHE STRING "Version for Geant4Files to match Geant4-src version")
+set(GEANT4FILES_VERSION v106r1 CACHE STRING "Version for Geant4Files to match Geant4-src version")
 
 find_package(GaudiProject)
-gaudi_project(Geant4 v106r0
+gaudi_project(Geant4 v106r1
               DATA Geant4Files VERSION ${GEANT4FILES_VERSION})
 
 # FIXME: hack for compatibility with CMT build
diff --git a/Geant4/G4config/CMakeLists.txt b/Geant4/G4config/CMakeLists.txt
index f78d229a6c..37a550bdab 100644
--- a/Geant4/G4config/CMakeLists.txt
+++ b/Geant4/G4config/CMakeLists.txt
@@ -30,7 +30,7 @@ if (NOT GEANT4_TAG)
   elseif(CMAKE_PROJECT_VERSION STREQUAL "HEAD")
     # Special mapping of version HEAD
     # WARNING this must be kept up to date manually
-    set(GEANT4_TAG "lhcb/v10.6.0-branch")
+    set(GEANT4_TAG "lhcb/v10.6.1-branch")
   else()
     set(GEANT4_TAG lhcb/${CMAKE_PROJECT_VERSION})
   endif()
-- 
GitLab


From a9ef9c74c1e0d8176ab2598fb3e12a07a8a37bcd Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Fri, 6 Mar 2020 14:03:05 +0100
Subject: [PATCH 18/25] release changes for v106r1

---
 ReleaseNotes/v106r1.md | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 ReleaseNotes/v106r1.md

diff --git a/ReleaseNotes/v106r1.md b/ReleaseNotes/v106r1.md
new file mode 100644
index 0000000000..577058e612
--- /dev/null
+++ b/ReleaseNotes/v106r1.md
@@ -0,0 +1,5 @@
+2020-03-06 Geant4 v106r1
+===
+This release is based on `GEANT4 r10.6.1`, uses `LCG 96b` and `Geant4Files v106r1`.
+
+This version is released on `Sim10` branch.
-- 
GitLab


From 1630f29bf22bba0ae4b5b332b48a37d49e7d3986 Mon Sep 17 00:00:00 2001
From: Maarten van Veghel <maarten.vanveghel@cern.ch>
Date: Thu, 30 Apr 2020 15:57:49 +0200
Subject: [PATCH 19/25] adding more charged b-hadrons as ionising particles

---
 .../src/G4EmStandardPhysics_LHCbTest.cc       |  6 ++
 .../src/G4EmStandardPhysics_option1LHCb.cc    |  6 ++
 .../G4EmStandardPhysics_option1NoApplyCuts.cc | 64 ++++++++++---------
 3 files changed, 47 insertions(+), 29 deletions(-)

diff --git a/LHCbG4PhysLists/src/G4EmStandardPhysics_LHCbTest.cc b/LHCbG4PhysLists/src/G4EmStandardPhysics_LHCbTest.cc
index a7202a1ef8..2cdfd69c12 100644
--- a/LHCbG4PhysLists/src/G4EmStandardPhysics_LHCbTest.cc
+++ b/LHCbG4PhysLists/src/G4EmStandardPhysics_LHCbTest.cc
@@ -268,6 +268,8 @@ void G4EmStandardPhysics_LHCbTest::ConstructProcess()
 
 		} else if (particleName == "B+" ||
 				particleName == "B-" ||
+				particleName == "Bc+" ||
+				particleName == "Bc-" ||
 				particleName == "D+" ||
 				particleName == "D-" ||
 				particleName == "Ds+" ||
@@ -277,6 +279,7 @@ void G4EmStandardPhysics_LHCbTest::ConstructProcess()
 				particleName == "anti_deuteron" ||
 				particleName == "anti_lambda_c+" ||
 				particleName == "anti_omega-" ||
+				particleName == "anti_omega_b-" ||
 				particleName == "anti_proton" ||
 				particleName == "anti_sigma_c+" ||
 				particleName == "anti_sigma_c++" ||
@@ -285,9 +288,11 @@ void G4EmStandardPhysics_LHCbTest::ConstructProcess()
 				particleName == "anti_triton" ||
 				particleName == "anti_xi_c+" ||
 				particleName == "anti_xi-" ||
+				particleName == "anti_xi_b-" ||
 				particleName == "deuteron" ||
 				particleName == "lambda_c+" ||
 				particleName == "omega-" ||
+				particleName == "omega_b-" ||
 				particleName == "sigma_c+" ||
 				particleName == "sigma_c++" ||
 				particleName == "sigma+" ||
@@ -296,6 +301,7 @@ void G4EmStandardPhysics_LHCbTest::ConstructProcess()
 				particleName == "tau-" ||
 				particleName == "triton" ||
 				particleName == "xi_c+" ||
+				particleName == "xi_b-" ||
 				particleName == "xi-" ) {
 
 					G4MuMultipleScattering* msc = new G4MuMultipleScattering();
diff --git a/LHCbG4PhysLists/src/G4EmStandardPhysics_option1LHCb.cc b/LHCbG4PhysLists/src/G4EmStandardPhysics_option1LHCb.cc
index cbf905ede8..d98831b061 100644
--- a/LHCbG4PhysLists/src/G4EmStandardPhysics_option1LHCb.cc
+++ b/LHCbG4PhysLists/src/G4EmStandardPhysics_option1LHCb.cc
@@ -262,6 +262,8 @@ void G4EmStandardPhysics_option1LHCb::ConstructProcess()
 
     } else if (particleName == "B+" ||
                particleName == "B-" ||
+               particleName == "Bc+" ||
+               particleName == "Bc-" ||
                particleName == "D+" ||
                particleName == "D-" ||
                particleName == "Ds+" ||
@@ -271,6 +273,7 @@ void G4EmStandardPhysics_option1LHCb::ConstructProcess()
                particleName == "anti_deuteron" ||
                particleName == "anti_lambda_c+" ||
                particleName == "anti_omega-" ||
+               particleName == "anti_omega_b-" ||
                particleName == "anti_proton" ||
                particleName == "anti_sigma_c+" ||
                particleName == "anti_sigma_c++" ||
@@ -278,10 +281,12 @@ void G4EmStandardPhysics_option1LHCb::ConstructProcess()
                particleName == "anti_sigma-" ||
                particleName == "anti_triton" ||
                particleName == "anti_xi_c+" ||
+               particleName == "anti_xi_b-" ||
                particleName == "anti_xi-" ||
                particleName == "deuteron" ||
                particleName == "lambda_c+" ||
                particleName == "omega-" ||
+               particleName == "omega_b-" ||
                particleName == "sigma_c+" ||
                particleName == "sigma_c++" ||
                particleName == "sigma+" ||
@@ -290,6 +295,7 @@ void G4EmStandardPhysics_option1LHCb::ConstructProcess()
                particleName == "tau-" ||
                particleName == "triton" ||
                particleName == "xi_c+" ||
+               particleName == "xi_b-" ||
                particleName == "xi-" ) {
 
       G4MuMultipleScattering* msc = new G4MuMultipleScattering();
diff --git a/LHCbG4PhysLists/src/G4EmStandardPhysics_option1NoApplyCuts.cc b/LHCbG4PhysLists/src/G4EmStandardPhysics_option1NoApplyCuts.cc
index 1002e13b8a..3f4739cf8d 100644
--- a/LHCbG4PhysLists/src/G4EmStandardPhysics_option1NoApplyCuts.cc
+++ b/LHCbG4PhysLists/src/G4EmStandardPhysics_option1NoApplyCuts.cc
@@ -330,35 +330,41 @@ void G4EmStandardPhysics_option1NoApplyCuts::ConstructProcess()
       ph->RegisterProcess(new G4CoulombScattering(), particle);
 
     } else if (particleName == "B+" ||
-	       particleName == "B-" ||
-	       particleName == "D+" ||
-	       particleName == "D-" ||
-	       particleName == "Ds+" ||
-	       particleName == "Ds-" ||
-               particleName == "anti_He3" ||
-               particleName == "anti_alpha" ||
-               particleName == "anti_deuteron" ||
-               particleName == "anti_lambda_c+" ||
-               particleName == "anti_omega-" ||
-               particleName == "anti_sigma_c+" ||
-               particleName == "anti_sigma_c++" ||
-               particleName == "anti_sigma+" ||
-               particleName == "anti_sigma-" ||
-               particleName == "anti_triton" ||
-               particleName == "anti_xi_c+" ||
-               particleName == "anti_xi-" ||
-               particleName == "deuteron" ||
-	       particleName == "lambda_c+" ||
-               particleName == "omega-" ||
-               particleName == "sigma_c+" ||
-               particleName == "sigma_c++" ||
-               particleName == "sigma+" ||
-               particleName == "sigma-" ||
-               particleName == "tau+" ||
-               particleName == "tau-" ||
-               particleName == "triton" ||
-               particleName == "xi_c+" ||
-               particleName == "xi-" ) {
+            particleName == "B-" ||
+            particleName == "Bc+" ||
+            particleName == "Bc-" ||
+            particleName == "D+" ||
+            particleName == "D-" ||
+            particleName == "Ds+" ||
+            particleName == "Ds-" ||
+            particleName == "anti_He3" ||
+            particleName == "anti_alpha" ||
+            particleName == "anti_deuteron" ||
+            particleName == "anti_lambda_c+" ||
+            particleName == "anti_omega-" ||
+            particleName == "anti_omega_b-" ||
+            particleName == "anti_sigma_c+" ||
+            particleName == "anti_sigma_c++" ||
+            particleName == "anti_sigma+" ||
+            particleName == "anti_sigma-" ||
+            particleName == "anti_triton" ||
+            particleName == "anti_xi_c+" ||
+            particleName == "anti_xi_b-" ||
+            particleName == "anti_xi-" ||
+            particleName == "deuteron" ||
+            particleName == "lambda_c+" ||
+            particleName == "omega-" ||
+            particleName == "omega_b-" ||
+            particleName == "sigma_c+" ||
+            particleName == "sigma_c++" ||
+            particleName == "sigma+" ||
+            particleName == "sigma-" ||
+            particleName == "tau+" ||
+            particleName == "tau-" ||
+            particleName == "triton" ||
+            particleName == "xi_c+" ||
+            particleName == "xi_b-" ||
+            particleName == "xi-" ) {
 
       ph->RegisterProcess(hmsc, particle);
       ph->RegisterProcess(new G4hIonisation(), particle);
-- 
GitLab


From 463664ecbf6910843b378c8076662b83de58755b Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Mon, 18 May 2020 12:31:18 +0200
Subject: [PATCH 20/25] switch to opt2 in msc test

---
 .../G4MScInThinLayerTest/scripts/G4MScInThinLayerTest.py     | 2 +-
 LHCbG4Tests/G4MScInThinLayerTest/src/PhysicsList.cc          | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/LHCbG4Tests/G4MScInThinLayerTest/scripts/G4MScInThinLayerTest.py b/LHCbG4Tests/G4MScInThinLayerTest/scripts/G4MScInThinLayerTest.py
index 9ec86d6bd2..f3b4c32f59 100755
--- a/LHCbG4Tests/G4MScInThinLayerTest/scripts/G4MScInThinLayerTest.py
+++ b/LHCbG4Tests/G4MScInThinLayerTest/scripts/G4MScInThinLayerTest.py
@@ -21,7 +21,7 @@ def create_cfg_file(n_runs=1000, name='G4MScInThinLayerTest.mac'):
 									'/testem/det/setAbsMat Silicon\n' +
 									'/testem/det/setAbsThick 300 um\n' +
 									'/testem/det/setAbsYZ    42 mm\n' +
-									'/testem/phys/addPhysics  emstandard_opt1nocuts\n' +
+									'/testem/phys/addPhysics  emstandard_opt2\n' +
 									'/run/setCut 5 mm\n')
 
 		energies = [1, 2, 3, 4, 5, 7, 9, 12, 15, 20, 25, 30, 40]
diff --git a/LHCbG4Tests/G4MScInThinLayerTest/src/PhysicsList.cc b/LHCbG4Tests/G4MScInThinLayerTest/src/PhysicsList.cc
index c6f47b6a32..4b7a742be8 100644
--- a/LHCbG4Tests/G4MScInThinLayerTest/src/PhysicsList.cc
+++ b/LHCbG4Tests/G4MScInThinLayerTest/src/PhysicsList.cc
@@ -208,7 +208,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
     fEmPhysicsList = new G4EmStandardPhysics_option1();
 
   } else if (name == "emstandard_opt2") {
-
+    std::cout << "Passed 'emstandard_opt2' in Physicslist.cc" << std::endl;
     fEmName = name;
     delete fEmPhysicsList;
     fEmPhysicsList = new G4EmStandardPhysics_option2();
@@ -226,8 +226,9 @@ void PhysicsList::AddPhysicsList(const G4String& name)
     fEmPhysicsList = new G4EmStandardPhysics_option4();
 
   } else if (name == "emstandard_opt1nocuts") {
+
     fEmName = name;
-    std::cout << "Passed if statement in Physicslist.cc" << std::endl;
+    std::cout << "Passed 'emstandard_opt1nocuts' in Physicslist.cc" << std::endl;
     delete fEmPhysicsList;
     fEmPhysicsList = new G4EmStandardPhysics_option1NoApplyCuts();
 
-- 
GitLab


From 5e4d1993374252dfd0e76866e2b069c0d7b55513 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Mon, 18 May 2020 12:31:28 +0200
Subject: [PATCH 21/25] switch to opt2 in calo test

---
 LHCbG4Tests/G4SamplingCaloTest/scripts/G4SamplingCaloTest.py | 2 +-
 LHCbG4Tests/G4SamplingCaloTest/src/PhysicsList.cc            | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/LHCbG4Tests/G4SamplingCaloTest/scripts/G4SamplingCaloTest.py b/LHCbG4Tests/G4SamplingCaloTest/scripts/G4SamplingCaloTest.py
index 78ab9c55b9..d7158f6417 100755
--- a/LHCbG4Tests/G4SamplingCaloTest/scripts/G4SamplingCaloTest.py
+++ b/LHCbG4Tests/G4SamplingCaloTest/scripts/G4SamplingCaloTest.py
@@ -28,7 +28,7 @@ def create_cfg_file(n_evts=10000, name='G4SamplingCaloTest.mac'):
 										 '/testem/det/setAbsor 2 Scintillator 4 mm\n' +
 										 '/testem/det/setSizeYZ 20 cm\n' +
 										 '#\n' +
-										 '/testem/phys/addPhysics emstandard_opt1nocuts\n' +
+										 '/testem/phys/addPhysics emstandard_opt2\n' +
 										 '#\n' +
 										 '#/gun/particle e-\n' +
 										 '#/gun/energy 100 GeV\n' +
diff --git a/LHCbG4Tests/G4SamplingCaloTest/src/PhysicsList.cc b/LHCbG4Tests/G4SamplingCaloTest/src/PhysicsList.cc
index c09e9ca4c7..9ed1579a10 100644
--- a/LHCbG4Tests/G4SamplingCaloTest/src/PhysicsList.cc
+++ b/LHCbG4Tests/G4SamplingCaloTest/src/PhysicsList.cc
@@ -169,6 +169,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
 
   } else if (name == "emstandard_opt2") {
 
+    std::cout << "Passed 'emstandard_opt2' in Physicslist.cc" << std::endl;
     fEmName = name;
     delete fEmPhysicsList;
     fEmPhysicsList = new G4EmStandardPhysics_option2();
@@ -189,7 +190,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
   // LHCb
   else if (name == "emstandard_opt1nocuts") {
     fEmName = name;
-    std::cout << "Passed if statement in Physicslist.cc" << std::endl;
+    std::cout << "Passed 'emstandard_opt1nocuts' in Physicslist.cc" << std::endl;
     delete fEmPhysicsList;
     fEmPhysicsList = new G4EmStandardPhysics_option1NoApplyCuts();
   }
-- 
GitLab


From ab1adda90031ba0ae26099591b09476e31444ac0 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Wed, 3 Jun 2020 11:35:02 +0000
Subject: [PATCH 22/25] move to GEANT4 v10.6.2

---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ee7f665f3a..c5bdd41748 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,7 @@ set(GEANT4_SRCS_REPOSITORY https://gitlab.cern.ch/lhcb/Geant4-srcs.git CACHE STR
 set(GEANT4FILES_VERSION v106r1 CACHE STRING "Version for Geant4Files to match Geant4-src version")
 
 find_package(GaudiProject)
-gaudi_project(Geant4 v106r1
+gaudi_project(Geant4 v106r2
               DATA Geant4Files VERSION ${GEANT4FILES_VERSION})
 
 # FIXME: hack for compatibility with CMT build
-- 
GitLab


From 71003b7a71e6bb2a824de65c7fd1dc477026bd3f Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Fri, 5 Jun 2020 09:43:43 +0000
Subject: [PATCH 23/25] bump master to v10.6.2

---
 Geant4/G4config/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Geant4/G4config/CMakeLists.txt b/Geant4/G4config/CMakeLists.txt
index 37a550bdab..dd3b6d73bc 100644
--- a/Geant4/G4config/CMakeLists.txt
+++ b/Geant4/G4config/CMakeLists.txt
@@ -30,7 +30,7 @@ if (NOT GEANT4_TAG)
   elseif(CMAKE_PROJECT_VERSION STREQUAL "HEAD")
     # Special mapping of version HEAD
     # WARNING this must be kept up to date manually
-    set(GEANT4_TAG "lhcb/v10.6.1-branch")
+    set(GEANT4_TAG "lhcb/v10.6.2-branch")
   else()
     set(GEANT4_TAG lhcb/${CMAKE_PROJECT_VERSION})
   endif()
-- 
GitLab


From 6dea98a678e08c8b999a4cf427542d7125784d5b Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Mon, 8 Jun 2020 11:15:48 +0000
Subject: [PATCH 24/25] fixed setting batch mode

---
 .../G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py b/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py
index 60effca472..ef81779287 100755
--- a/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py
+++ b/LHCbG4Tests/G4HadronicXSectionsTest/scripts/G4HadronicXSectionsTest.py
@@ -18,7 +18,7 @@ from array import array
 from ROOT import *
 from tempfile import NamedTemporaryFile
 
-ROOT.gROOT.SetBatch(True)
+gROOT.SetBatch(True)
 
 phys_lists = ['FTFP', 'FTFP_BERT', 'QGSP_BERT']
 particles = ['pi+', 'pi-', 'kaon+', 'kaon-', 'proton', 'anti_proton']
-- 
GitLab


From 9906d1676f84bf440437a4650e108329ad95d30a Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Mon, 15 Jun 2020 14:12:23 +0200
Subject: [PATCH 25/25] v106r2 release notes

---
 ReleaseNotes/v106r2.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 ReleaseNotes/v106r2.md

diff --git a/ReleaseNotes/v106r2.md b/ReleaseNotes/v106r2.md
new file mode 100644
index 0000000000..750c9d209d
--- /dev/null
+++ b/ReleaseNotes/v106r2.md
@@ -0,0 +1,13 @@
+2020-06-15 Geant4 v106r2
+===
+This release is based on `GEANT4 r10.6.2`, uses `LCG 96b` and `Geant4Files v106r1`.
+
+This version is released on `Sim10` branch.
+
+## Latest Changes
+
+#### LHCb G4 Physics Lists & G4 stock EMStandardOpt2
+**[MR !57] Added more charged b-hadrons as ionising particles
+
+#### LHCb G4 Standalone Tests
+**[MR !58] Switch to G4 stock EMStandardOpt2 physics list
-- 
GitLab