Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4LogicalVolume.hh,v 1.9 2002/05/17 17:59:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4LogicalVolume.hh,v 1.12 2003/04/03 10:26:53 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4LogicalVolume
@@ -71,8 +71,10 @@
// - Pointer (possibly 0) to user Step limit object for this node.
// G4SmartVoxelHeader* fVoxel
// - Pointer (possibly 0) to optimisation info objects.
// G4bool fOptimise;
// G4bool fOptimise
// - Flag to identify if optimisation should be applied or not.
// G4bool fRootRegion
// - Flag to identify if the logical volume is a root region.
// G4double fSmartless
// - Quality for optimisation, average number of voxels to be spent
// per content.
@@ -80,12 +82,17 @@
// - Pointer (possibly 0) to visualization attributes.
// G4FastSimulationManager* fFastSimulationManager
// - Pointer (possibly 0) to G4FastSimulationManager object.
// G4Region* fRegion
// - Pointer to the cuts region (if any)
// G4MaterialCutsCouple* fCutsCouple
// - Pointer (possibly 0) to associated production cuts.
// G4bool fIsEnvelope
// - Flags if the Logical Volume is an envelope for a FastSimulationManager.
// G4double fBiasWeight
// - Weight used in the event biasing technique.
// History:
// 24.09.02 G.Cosmo: Added flags and accessors for region cuts handling
// 17.05.02 G.Cosmo: Added IsToOptimise() method and related flag
// 18.04.01 G.Cosmo: Migrated to STL vector
// 12.02.99 S.Giani: Added user defined optimisation quality
@@ -101,6 +108,7 @@
#define G4LOGICALVOLUME_HH
#include "globals.hh"
#include "G4Region.hh"
#include "G4VPhysicalVolume.hh" // Need operator == for vector fdaughters
#include "g4std/vector"
#include <assert.h>
@@ -115,6 +123,7 @@ class G4UserLimits;
class G4SmartVoxelHeader;
class G4VisAttributes;
class G4FastSimulationManager;
class G4MaterialCutsCouple;
class G4LogicalVolume
{
@@ -152,8 +161,12 @@ class G4LogicalVolume
inline void AddDaughter(G4VPhysicalVolume* p);
// Add the volume p as a daughter of the current logical volume.
inline G4bool IsDaughter(const G4VPhysicalVolume* p) const;
// Returns true is the volume p is a daughter of the current
// Returns true if the volume p is a daughter of the current
// logical volume.
G4bool IsAncestor(const G4VPhysicalVolume* p) const;
// Returns true if the volume p is part of the hierarchy of
// volumes established by the current logical volume. Scans
// recursively the volume tree.
inline void RemoveDaughter(const G4VPhysicalVolume* p);
// Remove the volume p from the List of daughter of the current
// logical volume.
@@ -200,7 +213,24 @@ class G4LogicalVolume
// volume hierarchy. Note that for parameterised volumes in the
// hierarchy, optimisation is always applied.
G4bool operator == ( const G4LogicalVolume& lv) const;
inline G4bool IsRootRegion() const;
// Replies if the logical volume represents a root region or not.
inline void SetRegionRootFlag(G4bool rreg);
// Sets/unsets the volume as a root region for cuts.
inline G4bool IsRegion() const;
// Replies if the logical volume is part of a cuts region or not.
inline void SetRegion(G4Region* reg);
// Sets/unsets the volume as cuts region.
inline G4Region* GetRegion() const;
// Return the region to which the volume belongs, if any.
inline void PropagateRegion();
// Propagates region pointer to daughters.
inline const G4MaterialCutsCouple* GetMaterialCutsCouple() const;
inline void SetMaterialCutsCouple(G4MaterialCutsCouple* cuts);
// Accessors for production cuts.
G4bool operator == (const G4LogicalVolume& lv) const;
// Equality defined by address only.
// Returns true if objects are at same address, else false.
@@ -260,6 +290,8 @@ class G4LogicalVolume
// Pointer (possibly 0) to optimisation info objects.
G4bool fOptimise;
// Flag to identify if optimisation should be applied or not.
G4bool fRootRegion;
// Flag to identify if the logical volume is a root region.
G4double fSmartless;
// Quality for optimisation, average number of voxels to be spent
// per content.
@@ -267,6 +299,10 @@ class G4LogicalVolume
// Pointer (possibly 0) to visualization attributes.
G4FastSimulationManager* fFastSimulationManager;
// Pointer (possibly 0) to G4FastSimulationManager object.
G4Region* fRegion;
// Pointer to the cuts region (if any)
G4MaterialCutsCouple* fCutsCouple;
// Pointer (possibly 0) to associated production cuts.
G4bool fIsEnvelope;
// Flags if the Logical Volume is an envelope for a
// FastSimulationManager.