Import Geant4 5.2.0 source tree
This commit is contained in:
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ReflectionFactory.hh,v 1.2 2003/01/27 10:43:30 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4ReflectionFactory.hh,v 1.5 2003/06/16 16:53:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4Reflection
|
||||
@@ -67,20 +67,20 @@
|
||||
#include "globals.hh"
|
||||
#include "geomdefs.hh"
|
||||
|
||||
#include "g4std/map"
|
||||
#include <map>
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
class G4LogicalVolume;
|
||||
class G4VSolid;
|
||||
|
||||
typedef G4std::pair<G4VPhysicalVolume*,
|
||||
typedef std::pair<G4VPhysicalVolume*,
|
||||
G4VPhysicalVolume*> G4PhysicalVolumesPair;
|
||||
typedef std::map<G4LogicalVolume*, G4LogicalVolume*,
|
||||
std::less<G4LogicalVolume*> > G4ReflectedVolumesMap;
|
||||
|
||||
class G4ReflectionFactory
|
||||
{
|
||||
typedef G4std::map<G4LogicalVolume*, G4LogicalVolume*,
|
||||
G4std::less<G4LogicalVolume*> > LogicalVolumesMap;
|
||||
typedef LogicalVolumesMap::const_iterator LogicalVolumesMapIterator;
|
||||
typedef G4ReflectedVolumesMap::const_iterator LogicalVolumesMapIterator;
|
||||
|
||||
public: // with description
|
||||
|
||||
@@ -125,7 +125,32 @@ class G4ReflectionFactory
|
||||
G4String GetVolumesNameExtension() const;
|
||||
// Returns the name extension for the reflected solids
|
||||
// and logical volumes.
|
||||
|
||||
|
||||
void SetScalePrecision(G4double scaleValue);
|
||||
G4double GetScalePrecision() const;
|
||||
// Sets/gets precision factor for the scale consistency check
|
||||
// The default value is set to 10*kCarTolerance.
|
||||
|
||||
G4LogicalVolume* GetConstituentLV(G4LogicalVolume* reflLV) const;
|
||||
// Returns the consituent volume of the given reflected volume,
|
||||
// 0 if the given reflected volume was not found.
|
||||
|
||||
G4LogicalVolume* GetReflectedLV(G4LogicalVolume* lv) const;
|
||||
// Returns the reflected volume of the given consituent volume,
|
||||
// 0 if the given volume was not reflected.
|
||||
|
||||
G4bool IsConstituent(G4LogicalVolume* lv) const;
|
||||
// Returns true if the given volume has been already reflected
|
||||
// (is in the map of constituent volumes).
|
||||
|
||||
G4bool IsReflected(G4LogicalVolume* lv) const;
|
||||
// Returns true if the given volume is a reflected volume
|
||||
// (is in the map reflected volumes).
|
||||
|
||||
const G4ReflectedVolumesMap& GetReflectedVolumesMap() const;
|
||||
// Returns a handle to the internal map of volumes which have
|
||||
// been reflected, after that placement or replication is performed.
|
||||
|
||||
protected:
|
||||
|
||||
G4ReflectionFactory();
|
||||
@@ -161,26 +186,10 @@ class G4ReflectionFactory
|
||||
// Should copy and transform daughter of PVReplica type of
|
||||
// a constituent volume into a reflected volume.
|
||||
|
||||
G4LogicalVolume* GetConstituentLV(G4LogicalVolume* reflLV) const;
|
||||
// Returns the consituent volume of the given reflected volume,
|
||||
// 0 if the given reflected volume was not found.
|
||||
|
||||
G4LogicalVolume* GetReflectedLV(G4LogicalVolume* lv) const;
|
||||
// Returns the reflected volume of the given consituent volume,
|
||||
// 0 if the given volume was not reflected.
|
||||
|
||||
G4bool IsConstituent(G4LogicalVolume* lv) const;
|
||||
// Returns true if the given volume has been already reflected
|
||||
// (is in the map of constituent volumes).
|
||||
|
||||
G4bool IsReflected(G4LogicalVolume* lv) const;
|
||||
// Returns true if the given volume is a reflected volume
|
||||
// (is in the map reflected volumes).
|
||||
|
||||
G4bool IsReflection(const G4Scale3D& scale) const;
|
||||
// Returns true if the scale is negative, false otherwise.
|
||||
|
||||
void CheckScale(const G4Scale3D& scale) const;
|
||||
void CheckScale(const G4Scale3D& scale) const;
|
||||
// Checks if scale correspond to fScale, if not gives exception.
|
||||
|
||||
void PrintConstituentLVMap();
|
||||
@@ -191,11 +200,12 @@ class G4ReflectionFactory
|
||||
static G4ReflectionFactory* fInstance;
|
||||
static const G4String fDefaultNameExtension;
|
||||
static const G4Scale3D fScale;
|
||||
|
||||
G4double fScalePrecision;
|
||||
|
||||
G4int fVerboseLevel;
|
||||
G4String fNameExtension;
|
||||
LogicalVolumesMap fConstituentLVMap;
|
||||
LogicalVolumesMap fReflectedLVMap;
|
||||
G4ReflectedVolumesMap fConstituentLVMap;
|
||||
G4ReflectedVolumesMap fReflectedLVMap;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user