Skip to content
Snippets Groups Projects
Commit 315f5345 authored by Benjamin Morgan's avatar Benjamin Morgan Committed by Vakhtang Tsulaia
Browse files

ATLASSIM-3150: Enable use of static Geant4 in Athena using "BigLibrary"...

ATLASSIM-3150: Enable use of static Geant4 in Athena using "BigLibrary" pattern to improve simulation performance
parent b355f926
No related branches found
No related tags found
No related merge requests found
Showing
with 114 additions and 68 deletions
......@@ -15,16 +15,19 @@ find_package( XercesC )
atlas_add_library( CaloG4SimLib
src/*.cc
src/*.cxx
OBJECT
PUBLIC_HEADERS CaloG4Sim
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS}
DEFINITIONS ${CLHEP_DEFINITIONS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${TBB_LIBRARIES} AthenaBaseComps GaudiKernel G4AtlasInterfaces G4AtlasToolsLib
PRIVATE_LINK_LIBRARIES CxxUtils MCTruth )
atlas_add_component( CaloG4Sim
src/components/*.cxx
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${TBB_LIBRARIES} AthenaBaseComps GaudiKernel G4AtlasInterfaces G4AtlasToolsLib CxxUtils CaloG4SimLib )
atlas_add_library( CaloG4Sim
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS}
PRIVATE_LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${TBB_LIBRARIES} AthenaBaseComps GaudiKernel G4AtlasInterfaces G4AtlasToolsLib CxxUtils CaloG4SimLib )
# Install files from the package:
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
......
......@@ -10,13 +10,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( AFP_G4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} AFP_Geometry AFP_SimEv G4AtlasToolsLib StoreGateLib )
atlas_add_component( AFP_G4_SD
src/components/*.cxx
LINK_LIBRARIES AFP_G4_SDLib )
atlas_add_library( AFP_G4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES AFP_G4_SDLib )
# Install files from the package:
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
......
......@@ -10,13 +10,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( ALFA_G4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} ALFA_SimEv G4AtlasToolsLib StoreGateLib )
atlas_add_component( ALFA_G4_SD
src/components/*.cxx
LINK_LIBRARIES ALFA_G4_SDLib )
atlas_add_library( ALFA_G4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES ALFA_G4_SDLib )
# Install files from the package:
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
......@@ -25,5 +28,5 @@ atlas_install_joboptions( share/optionForTest.txt )
# Test(s) in the package:
atlas_add_test( ALFA_SensitiveDetector_gtest
SOURCES test/ALFA_SensitiveDetector_gtest.cxx
LINK_LIBRARIES ALFA_G4_SDLib TestTools
LINK_LIBRARIES ALFA_G4_SDLib G4AtlasToolsLib TestTools
POST_EXEC_SCRIPT nopost.sh )
......@@ -8,11 +8,13 @@ find_package( CLHEP )
find_package( Geant4 )
# Component(s) in the package:
atlas_add_component( ForwardRegionMgField
src/*.cxx
src/components/*.cxx
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps MagFieldInterfaces PathResolver ForwardRegionGeoModelLib )
atlas_add_library( ForwardRegionMgField
src/*.cxx
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
PRIVATE_LINK_LIBRARIES ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps MagFieldInterfaces PathResolver ForwardRegionGeoModelLib )
# Install files from the package:
atlas_install_runtime( share/*.dat )
......
......@@ -7,11 +7,13 @@ atlas_subdir( ForwardTransport )
find_package( Geant4 )
# Component(s) in the package:
atlas_add_component( ForwardTransport
src/*.cxx
src/components/*.cxx
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} AtlasHepMCLib ForwardTracker GaudiKernel G4AtlasToolsLib ForwardTransportSvcLib )
atlas_add_library( ForwardTransport
src/*.cxx
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS}
PRIVATE_LINK_LIBRARIES ${GEANT4_LIBRARIES} AtlasHepMCLib ForwardTracker GaudiKernel G4AtlasToolsLib ForwardTransportSvcLib )
# Install files from the package:
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
......
......@@ -12,7 +12,7 @@ atlas_add_component( ForwardTransportFast
src/*.cxx
src/components/*.cxx
INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps ForwardTracker GaudiKernel GeneratorObjects ForwardTracker ForwardTransportSvcLib )
LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps ForwardTracker GaudiKernel GeneratorObjects ForwardTracker AtlasGeant4Lib)
# Install files from the package:
atlas_install_joboptions( share/*.py )
......
......@@ -16,11 +16,13 @@ atlas_add_library( ForwardTransportSvcLib
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ForwardTracker GaudiKernel )
# Component(s) in the package:
atlas_add_component( ForwardTransportSvc
src/*.cxx
src/components/*.cxx
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps ForwardTracker ForwardTransportSvcLib GaudiKernel GeneratorObjects )
atlas_add_library( ForwardTransportSvc
src/*.cxx
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps ForwardTracker ForwardTransportSvcLib GaudiKernel GeneratorObjects )
# Install files from the package:
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
......
......@@ -11,17 +11,20 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( LUCID_G4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} G4AtlasToolsLib HitManagement LUCID_GeoModelLib LUCID_SimEvent StoreGateLib )
atlas_add_component( LUCID_G4_SD
src/components/*.cxx
LINK_LIBRARIES LUCID_G4_SDLib )
atlas_add_library( LUCID_G4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES LUCID_G4_SDLib )
atlas_add_test( LUCID_SensitiveDetector_gtest
SOURCES test/LUCID_SensitiveDetector_gtest.cxx
LINK_LIBRARIES LUCID_G4_SDLib TestTools
LINK_LIBRARIES LUCID_G4_SDLib G4AtlasToolsLib TestTools
POST_EXEC_SCRIPT nopost.sh )
# Install files from the package:
......
......@@ -7,11 +7,13 @@ atlas_subdir( LUCID_OpProcess )
find_package( Geant4 )
# Component(s) in the package:
atlas_add_component( LUCID_OpProcess
src/*.cxx
src/components/*.cxx
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} GaudiKernel AthenaBaseComps G4AtlasInterfaces )
atlas_add_library( LUCID_OpProcess
src/*.cxx
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS}
PRIVATE_LINK_LIBRARIES ${GEANT4_LIBRARIES} GaudiKernel AthenaBaseComps G4AtlasInterfaces )
# Install files from the package:
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
......@@ -11,13 +11,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( ZDC_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} G4AtlasToolsLib StoreGateLib ZDC_SimEvent )
atlas_add_component( ZDC_SD
src/components/*.cxx
LINK_LIBRARIES ZDC_SDLib )
atlas_add_library( ZDC_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES ZDC_SDLib )
# Install files from the package:
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
......@@ -26,10 +29,10 @@ atlas_install_joboptions( share/optionForTest.txt )
# Tests in the package:
atlas_add_test( ZDC_StripSD_gtest
SOURCES test/ZDC_StripSD_gtest.cxx
LINK_LIBRARIES TestTools ZDC_SDLib
LINK_LIBRARIES TestTools ZDC_SDLib G4AtlasToolsLib
POST_EXEC_SCRIPT nopost.sh )
atlas_add_test( ZDC_PixelSD_gtest
SOURCES test/ZDC_PixelSD_gtest.cxx
LINK_LIBRARIES TestTools ZDC_SDLib
LINK_LIBRARIES TestTools ZDC_SDLib G4AtlasToolsLib
POST_EXEC_SCRIPT nopost.sh )
......@@ -8,11 +8,13 @@ find_package( CLHEP )
find_package( Geant4 )
# Component(s) in the package:
atlas_add_component( HGTD_G4_SD
src/*.h src/*.cxx src/components/*.cxx
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} StoreGateLib
HGTD_Identifier InDetSimEvent G4AtlasToolsLib MCTruth )
atlas_add_library( HGTD_G4_SD
src/*.h src/*.cxx src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} StoreGateLib
HGTD_Identifier InDetSimEvent G4AtlasToolsLib MCTruth )
# Install files from the package:
atlas_install_python_modules( python/*.py )
......@@ -11,13 +11,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( BCM_G4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} AthenaKernel G4AtlasToolsLib InDetSimEvent MCTruth StoreGateLib )
atlas_add_component( BCM_G4_SD
src/components/*.cxx
LINK_LIBRARIES BCM_G4_SDLib )
atlas_add_library( BCM_G4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES BCM_G4_SDLib )
# Test(s) in the package:
atlas_add_test( BCM_G4_SDToolConfig_test
......
......@@ -11,13 +11,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( BLM_G4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} G4AtlasToolsLib InDetSimEvent MCTruth StoreGateLib )
atlas_add_component( BLM_G4_SD
src/components/*.cxx
LINK_LIBRARIES BLM_G4_SDLib )
atlas_add_library( BLM_G4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES BLM_G4_SDLib )
# Test(s) in the package:
atlas_add_test( BLM_G4_SDToolConfig_test
......
......@@ -11,13 +11,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( PixelG4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} G4AtlasToolsLib InDetSimEvent MCTruth StoreGateLib )
atlas_add_component( PixelG4_SD
src/components/*.cxx
LINK_LIBRARIES PixelG4_SDLib )
atlas_add_library( PixelG4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES PixelG4_SDLib )
# Test(s) in the package:
atlas_add_test( PixelG4_SDToolConfig_test
......
......@@ -11,13 +11,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( SCT_G4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} G4AtlasToolsLib InDetSimEvent MCTruth StoreGateLib )
atlas_add_component( SCT_G4_SD
src/components/*.cxx
LINK_LIBRARIES SCT_G4_SDLib )
atlas_add_library( SCT_G4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES SCT_G4_SDLib )
# Test(s) in the package:
atlas_add_test( SCT_G4_SDToolConfig_test
......
......@@ -11,6 +11,7 @@ find_package( Boost COMPONENTS unit_test_framework )
# Component(s) in the package:
atlas_add_library( TRT_G4Utilities
src/*.cc
OBJECT
PUBLIC_HEADERS TRT_G4Utilities
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS}
PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
......
......@@ -10,13 +10,16 @@ find_package( GTest )
# Component(s) in the package:
atlas_add_library( TRT_G4_SDLib
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} AthenaKernel CxxUtils G4AtlasToolsLib InDetSimEvent MCTruth StoreGateLib TRT_G4Utilities )
atlas_add_component( TRT_G4_SD
src/components/*.cxx
LINK_LIBRARIES TRT_G4_SDLib )
atlas_add_library( TRT_G4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES TRT_G4_SDLib )
# Test(s) in the package:
atlas_add_test( TRT_G4_SDToolConfig_test
......@@ -27,7 +30,7 @@ atlas_add_test( TRTSensitiveDetector_gtest
SOURCES
test/TRTSensitiveDetector_gtest.cxx
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} CxxUtils G4AtlasToolsLib InDetSimEvent MCTruth StoreGateLib TestTools TRT_G4_SDLib
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${GTEST_LIBRARIES} CxxUtils G4AtlasToolsLib InDetSimEvent MCTruth StoreGateLib TestTools TRT_G4_SDLib TRT_G4Utilities
POST_EXEC_SCRIPT nopost.sh )
# Install files from the package:
......
......@@ -12,11 +12,13 @@ find_package( Geant4 )
find_package( XercesC )
# Component(s) in the package:
atlas_add_component( TRT_TR_Process
src/*.cxx
src/components/*.cxx
INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
LINK_LIBRARIES ${Boost_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps AthenaKernel CxxUtils StoreGateLib IdDictDetDescr G4AtlasInterfaces GeoMaterial2G4 GeoModelInterfaces PathResolver )
atlas_add_library( TRT_TR_Process
src/*.cxx
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
LINK_LIBRARIES ${Boost_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps AthenaKernel CxxUtils StoreGateLib IdDictDetDescr G4AtlasInterfaces GeoMaterial2G4 GeoModelInterfaces PathResolver )
# Install files from the package:
atlas_install_python_modules( python/*.py )
......
......@@ -11,8 +11,10 @@ find_package( Geant4 )
find_package( XercesC )
# Component(s) in the package:
atlas_add_component( LArG4Barrel
atlas_add_library( LArG4Barrel
src/*.cxx src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
DEFINITIONS ${CLHEP_DEFINITIONS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} LArG4Code CaloG4SimLib StoreGateLib
......
......@@ -17,6 +17,7 @@ add_definitions(-DLARG4NOROOT)
atlas_add_library( LArG4Code
src/*.cc
src/*.cxx
OBJECT
PUBLIC_HEADERS LArG4Code
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
DEFINITIONS ${CLHEP_DEFINITIONS}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment