Import Geant4 11.1.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2022-07-01 10:44:02 +02:00
parent b3bf75a2a1
commit c07cea1fe0
2172 changed files with 183300 additions and 123938 deletions
+20 -23
View File
@@ -1,39 +1,36 @@
# Category geom-bool History
-------------------------------------------------------------------
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
------------------------------------------------------------------------------
Category History file
---------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the CVS log-message one should put at every
committal in the CVS repository !
## 2022-05-04 Gabriele Cosmo (geom-bool-V11-00-05)
- Minor cleanup in headers and G4UnionSolid constructors.
Please keep a summary of these message in geometry/History!
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
May 4, 2022, G.Cosmo (geom-bool-V10-07-05)
- Minor cleanup in G4UnionSolid constructors.
April 29, 2022, G.Cosmo
## 2022-04-29 Gabriele Cosmo (geom-bool-V11-00-04)
- G4UnionSolid: added missing data initialisation in copy-ctr and operator=().
April 5, 2022, G.Cosmo
## 2022-04-05 Gabriele Cosmo (geom-bool-V11-00-03)
- G4UnionSolid: add surface tolerance in Inside(p) for check on Z.
Minor optimisation in caching half-tolerance.
January 10, 2022, G.Cosmo geom-bool-V10-07-04
## 2022-01-19 Evgueni Tcherniaev (geom-bool-V11-00-02)
- G4DisplacedSolid: added GetCubicVolume(), GetSurfaceArea()
## 2022-01-10 Gabriele Cosmo (geom-bool-V11-00-01)
- Added alternative signature for AddNode() taking a pointer to solid.
Added 'const' qualification to transformation passed as argument.
Addressing problem report #2457.
## 2021-12-10 Ben Morgan (geom-bool-V11-00-00)
- Change to new Markdown History format
---
# History entries prior to 11.0
October 12, 2021 G.Cosmo geom-bool-V10-07-03
- In G4BooleanSolid, use G4RecursiveMutex in place of G4Mutex in GetPolyhedron()
to avoid potential deadlocks in recursive Boolean operations.
@@ -45,7 +45,7 @@ class HepPolyhedronProcessor;
class G4BooleanSolid : public G4VSolid
{
public: // with description
public:
G4BooleanSolid( const G4String& pName,
G4VSolid* pSolidA ,
@@ -90,8 +90,6 @@ class G4BooleanSolid : public G4VSolid
G4ThreeVector GetPointOnSurface() const;
public: // without description
G4BooleanSolid(__void__&);
// Fake default constructor for usage restricted to direct object
// persistency for clients requiring preallocation of memory for
@@ -44,7 +44,7 @@
class G4DisplacedSolid : public G4VSolid
{
public: // with description
public:
G4DisplacedSolid( const G4String& pName,
G4VSolid* pSolid ,
@@ -62,10 +62,6 @@ class G4DisplacedSolid : public G4VSolid
virtual ~G4DisplacedSolid() ;
public: // without description
// It also has all the methods that a solid requires, eg.
EInside Inside( const G4ThreeVector& p ) const ;
void BoundingLimits(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
@@ -97,9 +93,10 @@ class G4DisplacedSolid : public G4VSolid
void CleanTransformations();
G4ThreeVector GetPointOnSurface() const;
G4double GetCubicVolume();
G4double GetSurfaceArea();
public: // with description
G4ThreeVector GetPointOnSurface() const;
G4GeometryType GetEntityType() const;
G4VSolid* Clone() const;
@@ -134,8 +131,6 @@ class G4DisplacedSolid : public G4VSolid
std::ostream& StreamInfo(std::ostream& os) const;
public: // without description
G4DisplacedSolid(__void__&);
// Fake default constructor for usage restricted to direct object
// persistency for clients requiring preallocation of memory for
@@ -44,7 +44,7 @@
class G4IntersectionSolid : public G4BooleanSolid
{
public: // with description
public:
G4IntersectionSolid( const G4String& pName,
G4VSolid* pSolidA ,
@@ -67,8 +67,6 @@ class G4IntersectionSolid : public G4BooleanSolid
G4VSolid* Clone() const;
public: // without description
G4IntersectionSolid(__void__&);
// Fake default constructor for usage restricted to direct object
// persistency for clients requiring preallocation of memory for
@@ -44,7 +44,7 @@ class G4ScaleTransform;
class G4ScaledSolid : public G4VSolid
{
public: // with description
public:
G4ScaledSolid( const G4String& pName,
G4VSolid* pSolid ,
@@ -97,8 +97,6 @@ class G4ScaledSolid : public G4VSolid
std::ostream& StreamInfo(std::ostream& os) const;
public: // without description
G4ScaledSolid(__void__&);
// Fake default constructor for usage restricted to direct object
// persistency for clients requiring preallocation of memory for
@@ -121,6 +119,6 @@ class G4ScaledSolid : public G4VSolid
G4double fSurfaceArea = -1.0;
mutable G4bool fRebuildPolyhedron = false;
mutable G4Polyhedron* fpPolyhedron = nullptr;
} ;
};
#endif
@@ -45,7 +45,7 @@
class G4SubtractionSolid : public G4BooleanSolid
{
public: // with description
public:
G4SubtractionSolid( const G4String& pName,
G4VSolid* pSolidA ,
@@ -68,8 +68,6 @@ class G4SubtractionSolid : public G4BooleanSolid
G4VSolid* Clone() const;
public: // without description
G4SubtractionSolid(__void__&);
// Fake default constructor for usage restricted to direct object
// persistency for clients requiring preallocation of memory for
@@ -435,6 +435,24 @@ G4DisplacedSolid::ComputeDimensions( G4VPVParameterisation*,
"Method not applicable in this context!");
}
//////////////////////////////////////////////////////////////
//
// Return volume
G4double G4DisplacedSolid::GetCubicVolume()
{
return fPtrSolid->GetCubicVolume();
}
//////////////////////////////////////////////////////////////
//
// Return surface area
G4double G4DisplacedSolid::GetSurfaceArea()
{
return fPtrSolid->GetSurfaceArea();
}
//////////////////////////////////////////////////////////////////////////
//
// Returns a point (G4ThreeVector) randomly and uniformly selected