Import Geant4 10.7.0.beta source tree
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user