Import Geant4 11.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2025-12-05 08:54:02 +01:00
parent a499fb82e9
commit b4a16de652
6484 changed files with 232674 additions and 221097 deletions
+7
View File
@@ -6,6 +6,13 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2025-10-28 Gabriele Cosmo (geomvol-V11-03-04)
- Moved default destructor definitions to headers.
- Minor code formatting in headers.
## 2025-08-20 Gabriele Cosmo (geomvol-V11-03-03)
- Applied clang-tidy fixes: modernize-loop-convert.
## 2025-06-10 Seth R Johnson (geomvol-V11-03-02)
- Only delete surfaces if the geometry is not closed
@@ -41,7 +41,7 @@
// Author: Gabriele Cosmo (CERN), 9 October 2018
// --------------------------------------------------------------------
#ifndef G4ASSEMBLYSTORE_HH
#define G4ASSEMBLYSTORE_HH 1
#define G4ASSEMBLYSTORE_HH
#include <vector>
@@ -39,7 +39,7 @@
// Author: Radovan Chytracek (CERN), November 2000
// ----------------------------------------------------------------------
#ifndef G4_ASSEMBLYTRIPLET_HH
#define G4_ASSEMBLYTRIPLET_HH 1
#define G4_ASSEMBLYTRIPLET_HH
#include "G4ThreeVector.hh"
#include "G4RotationMatrix.hh"
@@ -38,8 +38,8 @@
// Authors: R.Chytracek, J.Apostolakis, G.Cosmo (CERN), November 2000
// ----------------------------------------------------------------------
#ifndef G4_ASSEMBLYVOLUME_HH
#define G4_ASSEMBLYVOLUME_HH 1
#ifndef G4ASSEMBLYVOLUME_HH
#define G4ASSEMBLYVOLUME_HH
#include <vector>
@@ -34,7 +34,7 @@
// Reviewed implementation: G.Cosmo (CERN), December 2009
// ------------------------------------------------------------
#ifndef G4EnhancedVecAllocator_hh
#define G4EnhancedVecAllocator_hh 1
#define G4EnhancedVecAllocator_hh
#include "G4Types.hh"
@@ -42,7 +42,7 @@
// Authors: John Apostolakis (CERN), Andrea Dotti (SLAC), July 2013
// --------------------------------------------------------------------
#ifndef G4GEOMETRYWORKSPACE_HH
#define G4GEOMETRYWORKSPACE_HH 1
#define G4GEOMETRYWORKSPACE_HH
#include "G4TWorkspacePool.hh"
@@ -30,10 +30,10 @@
// A Logical Surface class for surfaces defined by the boundary
// of two physical volumes.
// Author: John Apostolakis (CERN), 17 June 1997
// Author: John Apostolakis (CERN), 17.06.1997
// --------------------------------------------------------------------
#ifndef G4LogicalBorderSurface_hh
#define G4LogicalBorderSurface_hh 1
#define G4LogicalBorderSurface_hh
#include <map>
@@ -63,7 +63,7 @@ class G4LogicalBorderSurface : public G4LogicalSurface
G4VPhysicalVolume* vol1,
G4VPhysicalVolume* vol2,
G4SurfaceProperty* surfaceProperty );
~G4LogicalBorderSurface() override;
~G4LogicalBorderSurface() override = default;
/**
* Copy constructor and assignment operator are not allowed.
@@ -100,10 +100,14 @@ class G4LogicalBorderSurface : public G4LogicalSurface
private:
G4VPhysicalVolume* Volume1; // Physical Volume pointer on side 1
G4VPhysicalVolume* Volume2; // Physical Volume pointer on side 2
/** Physical Volume pointer on side 1. */
G4VPhysicalVolume* Volume1;
std::size_t Index; // Creation order index
/** Physical Volume pointer on side 2. */
G4VPhysicalVolume* Volume2;
/** Creation order index. */
std::size_t Index;
/** The static Table of BorderSurfaces. */
static G4LogicalBorderSurfaceTable* theBorderSurfaceTable;
@@ -25,7 +25,7 @@
//
// G4LogicalBorderSurface inline implementation
//
// Author: John Apostolakis (CERN), 17 June 1997
// Author: John Apostolakis (CERN), 17.06.1997
// --------------------------------------------------------------------
inline
@@ -30,10 +30,10 @@
// A Logical Surface class for the surface surrounding a single logical
// volume.
// Author: John Apostolakis (CERN), 16 June 1997
// Author: John Apostolakis (CERN), 16.06.1997
// --------------------------------------------------------------------
#ifndef G4LogicalSkinSurface_hh
#define G4LogicalSkinSurface_hh 1
#define G4LogicalSkinSurface_hh
#include <map>
@@ -60,7 +60,7 @@ class G4LogicalSkinSurface : public G4LogicalSurface
G4LogicalSkinSurface( const G4String& name,
G4LogicalVolume* vol,
G4SurfaceProperty* surfaceProperty );
~G4LogicalSkinSurface() override;
~G4LogicalSkinSurface() override = default;
/**
* Copy constructor and assignment operator are not allowed.
@@ -79,7 +79,7 @@ class G4LogicalSkinSurface : public G4LogicalSurface
*/
static G4LogicalSkinSurface* GetSurface(const G4LogicalVolume* vol);
inline const G4LogicalVolume* GetLogicalVolume() const;
inline void SetLogicalVolume(G4LogicalVolume* vol);
inline void SetLogicalVolume(G4LogicalVolume* vol);
/**
* Handling of the table of surfaces.
@@ -25,7 +25,7 @@
//
// Class G4LogicalSkinSurface inline implementation
//
// Author: John Apostolakis (CERN), 16 June 1997
// Author: John Apostolakis (CERN), 16.06.1997
// ----------------------------------------------------------------------
inline
@@ -32,10 +32,10 @@
// of a G4VParameterisation object. The positioning is assumed to
// be dominant along a specified Cartesian axis.
// Author: Paul Kent (CERN), 29 July 1995 - first non-stub version
// Author: Paul Kent (CERN), 29.07.1995 - First non-stub version
// ----------------------------------------------------------------------
#ifndef G4PVPARAMETERISED_HH
#define G4PVPARAMETERISED_HH 1
#define G4PVPARAMETERISED_HH
#include "G4PVReplica.hh"
@@ -99,9 +99,9 @@ class G4PVParameterised : public G4PVReplica
G4PVParameterised(__void__&);
/**
* Virtual empty Destructor.
* Default Destructor.
*/
~G4PVParameterised() override;
~G4PVParameterised() override = default;
/**
* Returns true to identify if it is a parameterised physical volume.
@@ -30,10 +30,10 @@
// Class representing a single volume positioned within and relative
// to a mother volume.
// Author: Paul Kent (CERN), 24 July 1995 - first non-stub version
// Author: Paul Kent (CERN), 24.07.1995 - First non-stub version
// ----------------------------------------------------------------------
#ifndef G4PVPLACEMENT_HH
#define G4PVPLACEMENT_HH 1
#define G4PVPLACEMENT_HH
#include "G4VPhysicalVolume.hh"
#include "G4Transform3D.hh"
@@ -167,7 +167,7 @@ class G4PVPlacement : public G4VPhysicalVolume
* Reports a maximum of overlaps errors according to parameter in input.
* @param[in] res The number of points to generate on volume's surface.
* @param[in] tol The precision tolerance for the overlap check, below
* which to ignore overlaps (deafult is maximim precision).
* which to ignore overlaps (default is maximim precision).
* @param[in] verbose Verbosity mode (default is true).
* @param[in] maxErr Maximum of overlaps errors to report (default is 1).
* @returns True if an overlap occurs.
@@ -210,9 +210,14 @@ class G4PVPlacement : public G4VPhysicalVolume
private:
G4bool fmany = false; // flag for overlapping structure - not used
G4bool fallocatedRotM = false; // flag for allocation of Rotation Matrix
G4int fcopyNo = 0; // for identification
/** Flag for overlapping structure - not used. */
G4bool fmany = false;
/** Flag for allocation of the rotation matrix. */
G4bool fallocatedRotM = false;
/** Optional copy number, for identification. */
G4int fcopyNo = 0;
};
#endif
@@ -32,11 +32,11 @@
// linear formula, and the elements completely fill the containing mother
// volume.
// Original author: Paul Kent (CERN), 29 July 1995 - First non-stub version
// - G.Cosmo, A.Dotti (CERN), 13 January 2013 - Modified for MT thread-safety
// Original author: Paul Kent (CERN), 29.07.1995 - First non-stub version
// - G.Cosmo, A.Dotti (CERN), 13.01.2013 - Modified for MT thread-safety
// ----------------------------------------------------------------------
#ifndef G4PVREPLICA_HH
#define G4PVREPLICA_HH 1
#define G4PVREPLICA_HH
#include "G4VPhysicalVolume.hh"
#include "G4GeomSplitter.hh"
@@ -145,7 +145,7 @@ class G4PVReplica : public G4VPhysicalVolume
/**
* Default Destructor.
*/
~G4PVReplica() override;
~G4PVReplica() override = default;
/**
* Returns the volume type characterisation.
@@ -36,10 +36,10 @@
// considered as a generalised logical volume that is addressed
// by user specifying the constituent logical volume.
// Author: Ivana Hrivnacova (IN2P3/IJCLab Orsay), 16 October 2001
// Author: Ivana Hrivnacova (IN2P3/IJCLab Orsay), 16.10.2001
// --------------------------------------------------------------------
#ifndef G4_REFLECTION_FACTORY_HH
#define G4_REFLECTION_FACTORY_HH 1
#define G4_REFLECTION_FACTORY_HH
#include "G4Types.hh"
#include "G4Transform3D.hh"
@@ -314,14 +314,14 @@ class G4ReflectionFactory
private:
static G4ThreadLocal G4ReflectionFactory* fInstance;
static const G4String fDefaultNameExtension;
static const G4Scale3D fScale;
G4double fScalePrecision;
static const G4String fDefaultNameExtension;
static const G4Scale3D fScale;
G4double fScalePrecision;
G4int fVerboseLevel = 0;
G4String fNameExtension;
G4ReflectedVolumesMap fConstituentLVMap;
G4ReflectedVolumesMap fReflectedLVMap;
G4int fVerboseLevel = 0;
G4String fNameExtension;
G4ReflectedVolumesMap fConstituentLVMap;
G4ReflectedVolumesMap fReflectedLVMap;
};
#endif
@@ -34,10 +34,10 @@
// * volume type is similar to G4PVPlacement -- not replicated
// * external navigator may provide 'many'/Boolean operation
// Author: John Apostolakis (CERN), October 2019
// Author: John Apostolakis (CERN), 24.10.2019
// ----------------------------------------------------------------------
#ifndef G4VEXTERNALPHYSICSVOLUME_HH
#define G4VEXTERNALPHYSICSVOLUME_HH 1
#define G4VEXTERNALPHYSICSVOLUME_HH
#include "G4VPhysicalVolume.hh"
#include "G4Transform3D.hh"
@@ -81,7 +81,7 @@ class G4VExternalPhysicalVolume : public G4VPhysicalVolume
/**
* Default Destructor.
*/
~G4VExternalPhysicalVolume() override;
~G4VExternalPhysicalVolume() override = default;
/**
* Verifies if the placed volume is overlapping with existing daughters
@@ -122,8 +122,8 @@ class G4VExternalPhysicalVolume : public G4VPhysicalVolume
/**
* Used only for specialised repeated volumes. Always false with Id 0.
*/
G4bool IsRegularStructure() const final;
G4int GetRegularStructureId() const final;
G4bool IsRegularStructure() const final;
G4int GetRegularStructureId() const final;
private:
@@ -57,11 +57,6 @@ G4LogicalBorderSurface(const G4String& name,
theBorderSurfaceTable->insert(std::make_pair(std::make_pair(vol1,vol2),this));
}
// --------------------------------------------------------------------
// Default destructor
//
G4LogicalBorderSurface::~G4LogicalBorderSurface() = default;
// --------------------------------------------------------------------
G4bool
G4LogicalBorderSurface::operator==(const G4LogicalBorderSurface &right) const
@@ -52,11 +52,6 @@ G4LogicalSkinSurface::G4LogicalSkinSurface(const G4String& name,
theSkinSurfaceTable->insert(std::make_pair(logicalVolume, this));
}
// --------------------------------------------------------------------
// Default destructor
//
G4LogicalSkinSurface::~G4LogicalSkinSurface() = default;
// --------------------------------------------------------------------
G4bool
G4LogicalSkinSurface::operator==(const G4LogicalSkinSurface& right) const
@@ -110,11 +110,6 @@ G4PVParameterised::G4PVParameterised( __void__& a )
{
}
// ----------------------------------------------------------------------
// Destructor
//
G4PVParameterised::~G4PVParameterised() = default;
// ----------------------------------------------------------------------
// GetParameterisation
//
@@ -252,9 +252,6 @@ G4PVReplica::G4PVReplica( __void__& a )
instanceID = subInstanceManager.CreateSubInstance();
}
// ----------------------------------------------------------------------
G4PVReplica::~G4PVReplica() = default;
// ----------------------------------------------------------------------
G4bool G4PVReplica::IsMany() const
{
@@ -753,9 +753,9 @@ void G4ReflectionFactory::PrintConstituentLVMap() const
// temporary - for debugging purpose
// ---
for (auto it=fConstituentLVMap.cbegin(); it!=fConstituentLVMap.cend(); ++it)
for (const auto & it : fConstituentLVMap)
{
G4cout << "lv: " << (*it).first << " lv_refl: " << (*it).second << G4endl;
G4cout << "lv: " << it.first << " lv_refl: " << it.second << G4endl;
}
G4cout << G4endl;
}
@@ -68,11 +68,6 @@ G4VExternalPhysicalVolume::G4VExternalPhysicalVolume( __void__& a )
{
}
// ----------------------------------------------------------------------
// Destructor
//
G4VExternalPhysicalVolume::~G4VExternalPhysicalVolume() = default;
// ----------------------------------------------------------------------
// IsMany
//