Import Geant4 10.7.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2020-06-26 10:23:25 +02:00
parent c02c370437
commit 67ba86d073
1871 changed files with 174422 additions and 131884 deletions
-17
View File
@@ -1,17 +0,0 @@
#------------------------------------------------------------------------------
# CMakeLists.txt
# Module : G4geometrymng
# Package: Geant4.src.G4geometry.G4geometrymng
#
# CMakeLists.txt for building a single granular library.
#
# Generated on : 24/9/2010
#
#
#------------------------------------------------------------------------------
if(GEANT4_BUILD_GRANULAR_LIBS)
include(Geant4MacroLibraryTargets)
GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake)
endif()
+33 -16
View File
@@ -15,6 +15,23 @@ commit in the repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
May 28, 2019 B.Morgan (geommng-V10-06-04)
- When using new CMake build, add location of generated G4GeomConfig.hh
header to public include directories of G4geometrymng module.
April 30, 2020 Gabriele Cosmo (geommng-V10-06-03)
- Adopt new convention for location of headers in VecGeom for wrappers.
April 17, 2020 Gabriele Cosmo (geommng-V10-06-02)
- Added deleted declarations for copy constructor and assignment operators
on store singletons. Based on GitHub PR#12 suggestion.
April 2, 2020 Guilherme Amadio (geommng-V10-06-01)
- Reduce size of LogicalVolumes by reordering class members
December 10, 2019 Ben Morgan (geommng-V10-06-00)
- Cleanup CMake build, removing obsolete granular library options and
explicit include_directories.
November 15, 2019 Gabriele Cosmo (geommng-V10-05-15)
- Fixed cases of implicit type conversions from size_t to G4int.
@@ -49,7 +66,7 @@ October 23, 2019 J.Apostolakis (geommng-V10-05-11)
Preparing for addition of External Navigation, which adds an 'external'
physical volume type (for use with an External sub-Navigator).
Note: This is used by G4Navigator's CharacteriseDaughters() method.
The old method derived this value from response of IsReplicated()
The old method derived this value from response of IsReplicated()
virtual method and, in the case of replica/division/parameterised volumes,
information from a call to the 2nd virtual method ReplicationData.
- G4VPhysicalVolume copy constructor and assignment operator are now 'deleted'.
@@ -145,7 +162,7 @@ December 19, 2017 G.Cosmo (geommng-V10-04-00)
Thanks to Raphael Isemann for reporting this.
November 10, 2017 P.Arce (geommng-V10-03-22)
- Bug report 2011: precision correction in G4ErrorPlaneSurfaceTarget.cc
- Bug report 2011: precision correction in G4ErrorPlaneSurfaceTarget.cc
October 16, 2017 G.Cosmo geommng-V10-03-21
- Removed G4USolid base wrapper for USolids. Only native VecGeom
@@ -180,7 +197,7 @@ May 9, 2017 G.Cosmo geommng-V10-03-14
- Moved few key methods to be inline in G4USolid.
March 28, 2017 G.Cosmo geommng-V10-03-13
- Enabled deletion of solids in G4SolidsStore destructor also for MT mode.
- Enabled deletion of solids in G4SolidsStore destructor also for MT mode.
March 22, 2017 G.Cosmo geommng-V10-03-12
- Define IsGeometryClosed() in G4GeometryManager as a static method, to
@@ -423,7 +440,7 @@ November 30, 2013 M.Asai geommng-V09-06-15
- Explicitely initialize data members of G4LVData.
November 27, 2013 J.Apostolakis geommng-V09-06-14
- Fix in G4GeomSplitter::FreeSlave(): use free() to delete memory
- Fix in G4GeomSplitter::FreeSlave(): use free() to delete memory
which was allocated with malloc().
October 18, 2013, A. Dotti geommng-V09-06-13
@@ -433,11 +450,11 @@ October 18, 2013, A. Dotti geommng-V09-06-13
October 3, 2013 J.Apostolakis geommng-V09-06-12
- Cleanup of G4LogicalVolume, G4VPhysicalVolume
Moved long description of helper classes to end of headers.
Moved macros to icc file.
Moved macros to icc file.
Revised source code to use Get/Set methods in place of 'macros'
introduced with G4MT, ie G4MT_rot etc
- LogicalVolume: Added new methods, data member
* new methods AssignFieldManager,
* new methods AssignFieldManager,
* Get/Set Solid( G4LVData, .) for potential performance improvement
* bool fChangedState.
@@ -761,14 +778,14 @@ November 19, 2005 J.Apostolakis geommng-V07-01-05
+ Additional methods allow nested parameterisation to be identified:
G4bool IsNested() const;
and to provide their material via new interface class:
G4VVolumeMaterialScanner* GetMaterialScanner();
+ Suppressed temporary G4PhysicalTouchable class in volumes, not needed
G4VVolumeMaterialScanner* GetMaterialScanner();
+ Suppressed temporary G4PhysicalTouchable class in volumes, not needed
in the implementation any longer.
November 11, 2005 J.Apostolakis geommng-V07-01-04
- Added methods to identify Regular Structures in Physical volume
- Added methods to identify Regular Structures in Physical volume
New pure virtual methods:
- IsRegularStructure() , returns boolean
- IsRegularStructure() , returns boolean
- GetRegularStructureId() , returns code for structure type
November 9, 2005 G.Cosmo geommng-V07-01-03
@@ -1140,7 +1157,7 @@ November 23, 2001 G. Cosmo geommng-V03-02-03
November 08, 2001 G. Cosmo geommng-V03-02-02
- Fixed comments for reference manual in G4TouchableHandle.hh.
October 26, 2001 G. Cosmo geommng-V03-02-01
- Improved printout in G4GeometryManager::ReportVoxelStats().
@@ -1262,12 +1279,12 @@ November 09, 1999 J. Apostolakis geommng-V00-01-01
ii) Added GetObjectRotationValue() method.
iii) Minimal changes of comments for Software Ref. Manual in header file
[ Change i) caused problem with HP aCC compiler A.01.19. Atlas
was patching the code to try to get around this, but this
resolution is much better ]
[ Change i) caused problem with HP aCC compiler A.01.19. Atlas
was patching the code to try to get around this, but this
resolution is much better ]
March 17, 1999 J. Apostolakis geommng-01-00-02
- G4AffineTransform.icc:
Corrected a typo in InverseProduct (rzy->ryz) that caused the incorrect
- G4AffineTransform.icc:
Corrected a typo in InverseProduct (rzy->ryz) that caused the incorrect
calculation of a compound transformation (if tf1.tz*tf2.ryz != 0).
This problem was seen in ATLAS code.
@@ -391,26 +391,19 @@ class G4LogicalVolume
// Returns: success (true) or failure (false).
private:
// Data members:
// Data members:
G4GEOM_DLL static G4LVManager subInstanceManager;
// This new field helps to use the class G4LVManager introduced above.
G4PhysicalVolumeList fDaughters;
// Vector of daughters. Given initial size of 0.
G4String fName;
// Name of logical volume.
EVolume fDaughtersVolumeType;
// Are contents of volume placements, replica, parameterised or external?
G4UserLimits* fUserLimits = nullptr;
// Pointer (possibly nullptr) to user Step limit object for this node.
G4SmartVoxelHeader* fVoxel = nullptr;
// Pointer (possibly nullptr) to optimisation info objects.
G4bool fOptimise = true;
// Flag to identify if optimisation should be applied or not.
G4bool fRootRegion = false;
// Flag to identify if the logical volume is a root region.
G4bool fLock = false;
// Flag to identify if entity is locked for final deletion.
G4double fSmartless = 2.0;
// Quality for optimisation, average number of voxels to be spent
// per content.
@@ -420,11 +413,6 @@ class G4LogicalVolume
// Pointer to the cuts region (if any)
G4double fBiasWeight = 1.0;
// Weight used in the event biasing technique.
G4int instanceID;
// This new field is used as instance ID.
G4GEOM_DLL static G4LVManager subInstanceManager;
// This new field helps to use the class G4LVManager introduced above.
// Shadow of master pointers.
// Each worker thread can access this field from the master thread
@@ -434,6 +422,17 @@ class G4LogicalVolume
G4VSensitiveDetector* fSensitiveDetector = nullptr;
G4FieldManager* fFieldManager = nullptr;
G4LVData* lvdata = nullptr; // For use of object persistency
G4int instanceID;
// This new field is used as instance ID.
EVolume fDaughtersVolumeType;
// Are contents of volume placements, replica, parameterised or external?
G4bool fOptimise = true;
// Flag to identify if optimisation should be applied or not.
G4bool fRootRegion = false;
// Flag to identify if the logical volume is a root region.
G4bool fLock = false;
// Flag to identify if entity is locked for final deletion.
};
#include "G4LogicalVolume.icc"
@@ -27,13 +27,13 @@
//
// Class description:
//
// Container for all LogicalVolumes, with functionality derived from
// std::vector<T>. The class is a `singleton', in that only
// Container for all logical volumes, with functionality derived from
// std::vector<T>. The class is a 'singleton', in that only
// one can exist, and access is provided via the static function
// G4LogicalVolumeStore::GetInstance()
//
// All LogicalVolumes should be registered with G4LogicalVolumeStore,
// and removed on their destruction. Intended principally for UI browser.
// All logical volumes should be registered with G4LogicalVolumeStore,
// and removed on their destruction.
// The underlying container initially has a capacity of 100.
//
// If much additional functionality is added, should consider containment
@@ -44,8 +44,8 @@
// static G4LogicalVolumeStore* fgInstance
// - Ptr to the single G4LogicalVolumeStore.
// 18.04.01 - G.Cosmo, Migrated to STL vector
// 10.07.95 - P.Kent, Initial version
// 18.04.01 - G.Cosmo, Migrated to STL vector
// --------------------------------------------------------------------
#ifndef G4LOGICALVOLUMESTORE_HH
#define G4LOGICALVOLUMESTORE_HH
@@ -57,7 +57,7 @@
class G4LogicalVolumeStore : public std::vector<G4LogicalVolume*>
{
public: // with description
public:
static void Register(G4LogicalVolume* pVolume);
// Add the logical volume to the collection.
@@ -77,6 +77,10 @@ class G4LogicalVolumeStore : public std::vector<G4LogicalVolume*>
virtual ~G4LogicalVolumeStore();
// Destructor: takes care to delete allocated logical volumes.
G4LogicalVolumeStore(const G4LogicalVolumeStore&) = delete;
G4LogicalVolumeStore& operator=(const G4LogicalVolumeStore&) = delete;
// Forbidden copy constructor and assignment operator
protected:
G4LogicalVolumeStore();
@@ -27,14 +27,13 @@
//
// Class description:
//
// Container for all solids, with functionality derived from
// std::vector<T>. The class is a `singleton', in that only
// Container for all physical volumes, with functionality derived from
// std::vector<T>. The class is a 'singleton', in that only
// one can exist, and access is provided via the static method
// G4PhysicalVolumeStore::GetInstance()
//
// All solids should be registered with G4PhysicalVolumeStore, and removed on
// their destruction. Intended principally for UI browser. The underlying
// container initially has a capacity of 100.
// All volumes should be registered with G4PhysicalVolumeStore, and removed on
// their destruction. The underlying container initially has a capacity of 100.
//
// If much additional functionality is added, should consider containment
// instead of inheritance for std::vector<T>
@@ -44,8 +43,8 @@
// static G4PhysicalVolumeStore*
// - Ptr to the single G4PhysicalVolumeStore.
// 18.04.01, G.Cosmo - Migrated to STL vector
// 25.07.95, P.Kent - Initial version
// 18.04.01, G.Cosmo - Migrated to STL vector
// --------------------------------------------------------------------
#ifndef G4PHYSICALVOLUMESTORE_HH
#define G4PHYSICALVOLUMESTORE_HH
@@ -57,14 +56,14 @@
class G4PhysicalVolumeStore : public std::vector<G4VPhysicalVolume*>
{
public: // with description
public:
static void Register(G4VPhysicalVolume* pSolid);
// Add the volume to the collection.
static void DeRegister(G4VPhysicalVolume* pSolid);
// Remove the volume from the collection.
static G4PhysicalVolumeStore* GetInstance();
// Get a ptr to the unique G4PhysicalVolumeStore, creating it if necessary.
// Get a ptr to the unique store instance, creating it if necessary.
static void SetNotifier(G4VStoreNotifier* pNotifier);
// Assign a notifier for allocation/deallocation of the physical volumes.
static void Clean();
@@ -79,6 +78,10 @@ class G4PhysicalVolumeStore : public std::vector<G4VPhysicalVolume*>
virtual ~G4PhysicalVolumeStore();
// Destructor: takes care to delete allocated physical volumes.
G4PhysicalVolumeStore(const G4PhysicalVolumeStore&) = delete;
G4PhysicalVolumeStore& operator=(const G4PhysicalVolumeStore&) = delete;
// Forbidden copy constructor and assignment operator
protected:
G4PhysicalVolumeStore();
@@ -27,8 +27,8 @@
//
// Class description:
//
// Container for all regiong, with functionality derived from
// std::vector<T>. The class is a `singleton', in that only
// Container for all regions, with functionality derived from
// std::vector<T>. The class is a 'singleton', in that only
// one can exist, and access is provided via the static method
// G4RegionStore::GetInstance().
//
@@ -58,7 +58,7 @@ class G4VPhysicalVolume;
class G4RegionStore : public std::vector<G4Region*>
{
public: // with description
public:
static void Register(G4Region* pRegion);
// Add the region to the collection.
@@ -91,19 +91,22 @@ class G4RegionStore : public std::vector<G4Region*>
// If it does not exist it will allocate one delegating ownership
// to the client.
public: // without description
void SetWorldVolume();
// Set a world volume pointer to a region that belongs to it.
// Scan over all world volumes.
// This method should be exclusively used by G4RunManagerKernel.
virtual ~G4RegionStore();
// Destructor: takes care to delete allocated regions.
G4RegionStore(const G4RegionStore&) = delete;
G4RegionStore& operator=(const G4RegionStore&) = delete;
// Forbidden copy constructor and assignment operator
protected:
G4RegionStore();
// Protected singleton constructor.
virtual ~G4RegionStore();
// Destructor: takes care to delete allocated regions.
private:
@@ -28,13 +28,12 @@
// Class description:
//
// Container for all solids, with functionality derived from
// std::vector<T>. The class is a `singleton', in that only
// std::vector<T>. The class is a 'singleton', in that only
// one can exist, and access is provided via the static method
// G4SolidStore::GetInstance().
//
// All solids should be registered with G4SolidStore, and removed on their
// destruction. Intended principally for UI browser. The underlying
// container initially has a capacity of 100.
// destruction. The underlying container initially has a capacity of 100.
//
// If much additional functionality is added, should consider containment
// instead of inheritance for std::vector<T>
@@ -45,8 +44,8 @@
// - Ptr to the single G4SolidStore
// History:
// 18.04.01, G.Cosmo - Migrated to STL vector
// 10.07.95, P.Kent - Initial version
// 18.04.01, G.Cosmo - Migrated to STL vector
// --------------------------------------------------------------------
#ifndef G4VSOLIDSTORE_HH
#define G4VSOLIDSTORE_HH
@@ -58,7 +57,7 @@
class G4SolidStore : public std::vector<G4VSolid*>
{
public: // with description
public:
static void Register(G4VSolid* pSolid);
// Add the solid to the collection.
@@ -78,6 +77,10 @@ class G4SolidStore : public std::vector<G4VSolid*>
virtual ~G4SolidStore();
// Destructor: takes care to delete allocated solids.
G4SolidStore(const G4SolidStore&) = delete;
G4SolidStore& operator=(const G4SolidStore&) = delete;
// Forbidden copy constructor and assignment operator
protected:
G4SolidStore();
@@ -57,8 +57,8 @@
#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
#include <base/Global.h>
#include <base/Vector3D.h>
#include <VecGeom/base/Global.h>
#include <VecGeom/base/Vector3D.h>
class G4VPVParameterisation;
+109 -130
View File
@@ -1,32 +1,8 @@
#------------------------------------------------------------------------------
# sources.cmake
# Module : G4geometrymng
# Package: Geant4.src.G4geometry.G4geometrymng
#
# Sources description for a library.
# Lists the sources and headers of the code explicitely.
# Lists include paths needed.
# Lists the internal granular and global dependencies of the library.
# Source specific properties should be added at the end.
#
# Generated on : 24/9/2010
#
#
#------------------------------------------------------------------------------
# List external includes needed.
include_directories(${CLHEP_INCLUDE_DIRS})
include_directories(${USOLIDS_INCLUDE_DIRS})
# List internal includes needed.
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include)
include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include)
include_directories(${CMAKE_SOURCE_DIR}/source/materials/include)
# Configure header for preprocessor symbols for USolids
configure_file(${CMAKE_CURRENT_LIST_DIR}/include/G4GeomConfig.hh.in
${CMAKE_CURRENT_BINARY_DIR}/include/G4GeomConfig.hh
@@ -39,115 +15,118 @@ configure_file(${CMAKE_CURRENT_LIST_DIR}/include/G4GeomConfig.hh.in
set_property(GLOBAL APPEND
PROPERTY GEANT4_BUILDTREE_INCLUDE_DIRS "${CMAKE_CURRENT_BINARY_DIR}/include")
#
# Define the Geant4 Module.
#
include(Geant4MacroDefineModule)
GEANT4_DEFINE_MODULE(NAME G4geometrymng
HEADERS
${CMAKE_CURRENT_BINARY_DIR}/include/G4GeomConfig.hh
G4AffineTransform.hh
G4AffineTransform.icc
G4BlockingList.hh
G4BlockingList.icc
G4BoundingEnvelope.hh
G4ErrorCylSurfaceTarget.hh
G4ErrorPlaneSurfaceTarget.hh
G4ErrorSurfaceTarget.hh
G4ErrorTanPlaneTarget.hh
G4ErrorTarget.hh
G4GeomSplitter.hh
G4GeomTools.hh
G4GeomTypes.hh
G4GeometryManager.hh
G4IdentityTrajectoryFilter.hh
G4LogicalCrystalVolume.hh
G4LogicalSurface.hh
G4LogicalSurface.icc
G4LogicalVolume.hh
G4LogicalVolume.icc
G4LogicalVolumeStore.hh
G4PhysicalVolumeStore.hh
G4ReflectedSolid.hh
G4Region.hh
G4Region.icc
G4RegionStore.hh
G4ScaleTransform.hh
G4ScaleTransform.icc
G4SmartVoxelHeader.hh
G4SmartVoxelHeader.icc
G4SmartVoxelNode.hh
G4SmartVoxelNode.icc
G4SmartVoxelProxy.hh
G4SmartVoxelProxy.icc
G4SmartVoxelStat.hh
G4SolidStore.hh
G4TouchableHandle.hh
G4UAdapter.hh
G4VCurvedTrajectoryFilter.hh
G4VNestedParameterisation.hh
G4VPVDivisionFactory.hh
G4VPVParameterisation.hh
G4VPhysicalVolume.hh
G4VPhysicalVolume.icc
G4VSolid.hh
G4VSolid.icc
G4VStoreNotifier.hh
G4VTouchable.hh
G4VTouchable.icc
G4VUserRegionInformation.hh
G4VVolumeMaterialScanner.hh
G4VoxelLimits.hh
G4VoxelLimits.icc
geomwdefs.hh
meshdefs.hh
voxeldefs.hh
SOURCES
G4BlockingList.cc
G4BoundingEnvelope.cc
G4ErrorCylSurfaceTarget.cc
G4ErrorPlaneSurfaceTarget.cc
G4ErrorSurfaceTarget.cc
G4ErrorTanPlaneTarget.cc
G4ErrorTarget.cc
G4GeomTools.cc
G4GeometryManager.cc
G4IdentityTrajectoryFilter.cc
G4LogicalCrystalVolume.cc
G4LogicalSurface.cc
G4LogicalVolume.cc
G4LogicalVolumeStore.cc
G4PhysicalVolumeStore.cc
G4ReflectedSolid.cc
G4Region.cc
G4RegionStore.cc
G4SmartVoxelHeader.cc
G4SmartVoxelNode.cc
G4SmartVoxelProxy.cc
G4SmartVoxelStat.cc
G4SolidStore.cc
G4VCurvedTrajectoryFilter.cc
G4VNestedParameterisation.cc
G4VPVDivisionFactory.cc
G4VPVParameterisation.cc
G4VPhysicalVolume.cc
G4VSolid.cc
G4VTouchable.cc
G4VoxelLimits.cc
GRANULAR_DEPENDENCIES
G4globman
G4graphics_reps
G4intercoms
G4materials
GLOBAL_DEPENDENCIES
G4global
G4graphics_reps
G4intercoms
G4materials
LINK_LIBRARIES
${VECGEOM_LIBRARIES}
geant4_define_module(NAME G4geometrymng
HEADERS
${CMAKE_CURRENT_BINARY_DIR}/include/G4GeomConfig.hh
G4AffineTransform.hh
G4AffineTransform.icc
G4BlockingList.hh
G4BlockingList.icc
G4BoundingEnvelope.hh
G4ErrorCylSurfaceTarget.hh
G4ErrorPlaneSurfaceTarget.hh
G4ErrorSurfaceTarget.hh
G4ErrorTanPlaneTarget.hh
G4ErrorTarget.hh
G4GeomSplitter.hh
G4GeomTools.hh
G4GeomTypes.hh
G4GeometryManager.hh
G4IdentityTrajectoryFilter.hh
G4LogicalCrystalVolume.hh
G4LogicalSurface.hh
G4LogicalSurface.icc
G4LogicalVolume.hh
G4LogicalVolume.icc
G4LogicalVolumeStore.hh
G4PhysicalVolumeStore.hh
G4ReflectedSolid.hh
G4Region.hh
G4Region.icc
G4RegionStore.hh
G4ScaleTransform.hh
G4ScaleTransform.icc
G4SmartVoxelHeader.hh
G4SmartVoxelHeader.icc
G4SmartVoxelNode.hh
G4SmartVoxelNode.icc
G4SmartVoxelProxy.hh
G4SmartVoxelProxy.icc
G4SmartVoxelStat.hh
G4SolidStore.hh
G4TouchableHandle.hh
G4UAdapter.hh
G4VCurvedTrajectoryFilter.hh
G4VNestedParameterisation.hh
G4VPVDivisionFactory.hh
G4VPVParameterisation.hh
G4VPhysicalVolume.hh
G4VPhysicalVolume.icc
G4VSolid.hh
G4VSolid.icc
G4VStoreNotifier.hh
G4VTouchable.hh
G4VTouchable.icc
G4VUserRegionInformation.hh
G4VVolumeMaterialScanner.hh
G4VoxelLimits.hh
G4VoxelLimits.icc
geomwdefs.hh
meshdefs.hh
voxeldefs.hh
SOURCES
G4BlockingList.cc
G4BoundingEnvelope.cc
G4ErrorCylSurfaceTarget.cc
G4ErrorPlaneSurfaceTarget.cc
G4ErrorSurfaceTarget.cc
G4ErrorTanPlaneTarget.cc
G4ErrorTarget.cc
G4GeomTools.cc
G4GeometryManager.cc
G4IdentityTrajectoryFilter.cc
G4LogicalCrystalVolume.cc
G4LogicalSurface.cc
G4LogicalVolume.cc
G4LogicalVolumeStore.cc
G4PhysicalVolumeStore.cc
G4ReflectedSolid.cc
G4Region.cc
G4RegionStore.cc
G4SmartVoxelHeader.cc
G4SmartVoxelNode.cc
G4SmartVoxelProxy.cc
G4SmartVoxelStat.cc
G4SolidStore.cc
G4VCurvedTrajectoryFilter.cc
G4VNestedParameterisation.cc
G4VPVDivisionFactory.cc
G4VPVParameterisation.cc
G4VPhysicalVolume.cc
G4VSolid.cc
G4VTouchable.cc
G4VoxelLimits.cc
GRANULAR_DEPENDENCIES
G4globman
G4graphics_reps
G4intercoms
G4materials
GLOBAL_DEPENDENCIES
G4global
G4graphics_reps
G4intercoms
G4materials
LINK_LIBRARIES
${VECGEOM_LIBRARIES}
)
# List any source specific properties here
# For new system, must explicitly add path for generated header
if(GEANT4_USE_NEW_CMAKE)
geant4_module_include_directories(G4geometrymng
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
)
endif()