Geant4-11
|
#include <G4ReflectionFactory.hh>
Static Public Member Functions | |
static G4ReflectionFactory * | Instance () |
Protected Member Functions | |
G4ReflectionFactory () | |
Private Types | |
using | LogicalVolumesMapIterator = G4ReflectedVolumesMap::const_iterator |
Private Member Functions | |
void | CheckScale (const G4Scale3D &scale) const |
G4LogicalVolume * | CreateReflectedLV (G4LogicalVolume *LV) |
G4VPVDivisionFactory * | GetPVDivisionFactory () const |
G4bool | IsReflection (const G4Scale3D &scale) const |
void | PrintConstituentLVMap () |
void | ReflectDaughters (G4LogicalVolume *LV, G4LogicalVolume *refLV, G4bool surfCheck=false) |
G4LogicalVolume * | ReflectLV (G4LogicalVolume *LV, G4bool surfCheck=false) |
void | ReflectPVDivision (G4VPhysicalVolume *PV, G4LogicalVolume *refLV) |
void | ReflectPVParameterised (G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfChk=false) |
void | ReflectPVPlacement (G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfCheck=false) |
void | ReflectPVReplica (G4VPhysicalVolume *PV, G4LogicalVolume *refLV) |
Private Attributes | |
G4ReflectedVolumesMap | fConstituentLVMap |
G4String | fNameExtension |
G4ReflectedVolumesMap | fReflectedLVMap |
G4double | fScalePrecision |
G4int | fVerboseLevel = 0 |
Static Private Attributes | |
static const G4String | fDefaultNameExtension = "_refl" |
static G4ThreadLocal G4ReflectionFactory * | fInstance = nullptr |
static const G4Scale3D | fScale = G4ScaleZ3D(-1.0) |
Definition at line 78 of file G4ReflectionFactory.hh.
|
private |
Definition at line 80 of file G4ReflectionFactory.hh.
|
virtual |
Definition at line 92 of file G4ReflectionFactory.cc.
References fInstance.
|
delete |
|
protected |
Definition at line 79 of file G4ReflectionFactory.cc.
References fInstance, fScalePrecision, G4GeometryTolerance::GetInstance(), and G4GeometryTolerance::GetSurfaceTolerance().
Referenced by Instance().
|
private |
Definition at line 777 of file G4ReflectionFactory.cc.
References FatalException, fScale, fScalePrecision, G4endl, G4Exception(), and IsReflection().
Referenced by Place().
void G4ReflectionFactory::Clean | ( | ) |
Definition at line 754 of file G4ReflectionFactory.cc.
References fConstituentLVMap, and fReflectedLVMap.
|
private |
Definition at line 398 of file G4ReflectionFactory.cc.
References FatalException, fConstituentLVMap, fNameExtension, fReflectedLVMap, fScale, G4endl, G4Exception(), G4LogicalVolume::GetBiasWeight(), G4LogicalVolume::GetFieldManager(), G4LogicalVolume::GetMaterial(), G4LogicalVolume::GetName(), G4VSolid::GetName(), G4LogicalVolume::GetRegion(), G4LogicalVolume::GetSensitiveDetector(), G4LogicalVolume::GetSolid(), G4LogicalVolume::GetUserLimits(), G4LogicalVolume::GetVisAttributes(), G4LogicalVolume::IsRegion(), G4LogicalVolume::SetBiasWeight(), G4LogicalVolume::SetRegion(), and G4LogicalVolume::SetVisAttributes().
Referenced by ReflectLV(), ReflectPVDivision(), ReflectPVPlacement(), and ReflectPVReplica().
G4PhysicalVolumesPair G4ReflectionFactory::Divide | ( | const G4String & | name, |
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
EAxis | axis, | ||
G4double | width, | ||
G4double | offset | ||
) |
Definition at line 321 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetPVDivisionFactory(), GetReflectedLV(), G4InuclParticleNames::name(), and ReflectLV().
G4PhysicalVolumesPair G4ReflectionFactory::Divide | ( | const G4String & | name, |
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
EAxis | axis, | ||
G4int | nofDivisions, | ||
G4double | offset | ||
) |
Definition at line 280 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetPVDivisionFactory(), GetReflectedLV(), G4InuclParticleNames::name(), and ReflectLV().
G4PhysicalVolumesPair G4ReflectionFactory::Divide | ( | const G4String & | name, |
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
EAxis | axis, | ||
G4int | nofDivisions, | ||
G4double | width, | ||
G4double | offset | ||
) |
Definition at line 238 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetPVDivisionFactory(), GetReflectedLV(), G4InuclParticleNames::name(), and ReflectLV().
Referenced by G4GDMLReadStructure::DivisionvolRead().
G4LogicalVolume * G4ReflectionFactory::GetConstituentLV | ( | G4LogicalVolume * | reflLV | ) | const |
Definition at line 680 of file G4ReflectionFactory.cc.
References fReflectedLVMap.
Referenced by G4GDMLWriteStructure::PhysvolWrite(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
private |
Definition at line 802 of file G4ReflectionFactory.cc.
References FatalException, G4endl, G4Exception(), and G4VPVDivisionFactory::Instance().
Referenced by Divide(), and ReflectPVDivision().
G4LogicalVolume * G4ReflectionFactory::GetReflectedLV | ( | G4LogicalVolume * | lv | ) | const |
Definition at line 696 of file G4ReflectionFactory.cc.
References fConstituentLVMap.
Referenced by Divide(), G4GDMLParser::ImportRegions(), Place(), ReflectLV(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), and Replicate().
const G4ReflectedVolumesMap & G4ReflectionFactory::GetReflectedVolumesMap | ( | ) | const |
Definition at line 747 of file G4ReflectionFactory.cc.
References fReflectedLVMap.
G4double G4ReflectionFactory::GetScalePrecision | ( | ) | const |
Definition at line 837 of file G4ReflectionFactory.cc.
References fScalePrecision.
G4int G4ReflectionFactory::GetVerboseLevel | ( | ) | const |
Definition at line 851 of file G4ReflectionFactory.cc.
References fVerboseLevel.
const G4String & G4ReflectionFactory::GetVolumesNameExtension | ( | ) | const |
Definition at line 865 of file G4ReflectionFactory.cc.
References fNameExtension.
|
static |
Definition at line 67 of file G4ReflectionFactory.cc.
References fInstance, and G4ReflectionFactory().
Referenced by G4tgbVolume::ConstructG4PhysVol(), G3Division::CreatePVReplica(), G4GDMLReadStructure::DivisionvolRead(), G4tgbGeometryDumper::DumpPhysVol(), G4tgbGeometryDumper::DumpPVPlacement(), G4GDMLParser::ExportRegions(), G3toG4BuildPVTree(), G4GDMLWriteStructure::G4GDMLWriteStructure(), G4tgbVolumeMgr::G4tgbVolumeMgr(), G4GDMLParser::ImportRegions(), G4AssemblyVolume::MakeImprint(), G4GDMLReadStructure::PhysvolRead(), and G4GDMLReadStructure::ReplicaRead().
G4bool G4ReflectionFactory::IsConstituent | ( | G4LogicalVolume * | lv | ) | const |
Definition at line 711 of file G4ReflectionFactory.cc.
References fConstituentLVMap.
Referenced by G4GDMLParser::ImportRegions().
G4bool G4ReflectionFactory::IsReflected | ( | G4LogicalVolume * | lv | ) | const |
Definition at line 722 of file G4ReflectionFactory.cc.
References fReflectedLVMap.
Referenced by G4tgbGeometryDumper::DumpPhysVol(), G4tgbGeometryDumper::DumpPVPlacement(), G4GDMLParser::ExportRegions(), G4GDMLWriteStructure::PhysvolWrite(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), and G4GDMLWriteStructure::TraverseVolumeTree().
Definition at line 733 of file G4ReflectionFactory.cc.
Referenced by CheckScale(), and Place().
|
delete |
G4PhysicalVolumesPair G4ReflectionFactory::Place | ( | const G4Transform3D & | transform3D, |
const G4String & | name, | ||
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
G4bool | isMany, | ||
G4int | copyNo, | ||
G4bool | surfCheck = false |
||
) |
Definition at line 104 of file G4ReflectionFactory.cc.
References CheckScale(), fScale, fVerboseLevel, G4cout, G4endl, HepGeom::Transform3D::getDecomposition(), G4LogicalVolume::GetName(), GetReflectedLV(), HepGeom::Transform3D::inverse(), IsReflection(), G4InuclParticleNames::name(), and ReflectLV().
Referenced by G4tgbVolume::ConstructG4PhysVol(), G3Division::CreatePVReplica(), G3toG4BuildPVTree(), G4AssemblyVolume::MakeImprint(), and G4GDMLReadStructure::PhysvolRead().
|
private |
Definition at line 762 of file G4ReflectionFactory.cc.
References fConstituentLVMap, G4cout, and G4endl.
|
private |
Definition at line 442 of file G4ReflectionFactory.cc.
References fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetDaughter(), G4LogicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), G4VPhysicalVolume::GetParameterisation(), G4VPVDivisionFactory::Instance(), G4VPhysicalVolume::IsReplicated(), ReflectPVDivision(), ReflectPVParameterised(), ReflectPVPlacement(), and ReflectPVReplica().
Referenced by ReflectLV(), ReflectPVDivision(), ReflectPVPlacement(), and ReflectPVReplica().
|
private |
Definition at line 365 of file G4ReflectionFactory.cc.
References G4Region::AddRootLogicalVolume(), CreateReflectedLV(), GetReflectedLV(), G4LogicalVolume::GetRegion(), G4LogicalVolume::IsRootRegion(), and ReflectDaughters().
Referenced by Divide(), Place(), and Replicate().
|
private |
Definition at line 605 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), CreateReflectedLV(), fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetName(), G4VPhysicalVolume::GetParameterisation(), GetPVDivisionFactory(), GetReflectedLV(), IsReflected(), and ReflectDaughters().
Referenced by ReflectDaughters().
|
private |
Definition at line 662 of file G4ReflectionFactory.cc.
References FatalException, G4endl, G4Exception(), and G4VPhysicalVolume::GetName().
Referenced by ReflectDaughters().
|
private |
Definition at line 481 of file G4ReflectionFactory.cc.
References CreateReflectedLV(), fScale, fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetCopyNo(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetName(), G4VPhysicalVolume::GetObjectRotationValue(), G4VPhysicalVolume::GetObjectTranslation(), GetReflectedLV(), HepGeom::Transform3D::inverse(), G4VPhysicalVolume::IsMany(), IsReflected(), and ReflectDaughters().
Referenced by ReflectDaughters().
|
private |
Definition at line 542 of file G4ReflectionFactory.cc.
References CreateReflectedLV(), fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetName(), GetReflectedLV(), G4VPhysicalVolume::GetReplicationData(), IsReflected(), and ReflectDaughters().
Referenced by ReflectDaughters().
G4PhysicalVolumesPair G4ReflectionFactory::Replicate | ( | const G4String & | name, |
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
EAxis | axis, | ||
G4int | nofReplicas, | ||
G4double | width, | ||
G4double | offset = 0. |
||
) |
Definition at line 199 of file G4ReflectionFactory.cc.
References fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetReflectedLV(), G4InuclParticleNames::name(), and ReflectLV().
Referenced by G3Division::CreatePVReplica(), and G4GDMLReadStructure::ReplicaRead().
void G4ReflectionFactory::SetScalePrecision | ( | G4double | scaleValue | ) |
Definition at line 830 of file G4ReflectionFactory.cc.
References fScalePrecision.
Referenced by G4tgbVolumeMgr::G4tgbVolumeMgr().
void G4ReflectionFactory::SetVerboseLevel | ( | G4int | verboseLevel | ) |
Definition at line 844 of file G4ReflectionFactory.cc.
References fVerboseLevel.
void G4ReflectionFactory::SetVolumesNameExtension | ( | const G4String & | nameExtension | ) |
Definition at line 858 of file G4ReflectionFactory.cc.
References fNameExtension.
|
private |
Definition at line 244 of file G4ReflectionFactory.hh.
Referenced by Clean(), CreateReflectedLV(), GetReflectedLV(), IsConstituent(), and PrintConstituentLVMap().
|
staticprivate |
Definition at line 238 of file G4ReflectionFactory.hh.
|
staticprivate |
Definition at line 237 of file G4ReflectionFactory.hh.
Referenced by G4ReflectionFactory(), Instance(), and ~G4ReflectionFactory().
|
private |
Definition at line 243 of file G4ReflectionFactory.hh.
Referenced by CreateReflectedLV(), GetVolumesNameExtension(), and SetVolumesNameExtension().
|
private |
Definition at line 245 of file G4ReflectionFactory.hh.
Referenced by Clean(), CreateReflectedLV(), GetConstituentLV(), GetReflectedVolumesMap(), and IsReflected().
|
staticprivate |
Definition at line 239 of file G4ReflectionFactory.hh.
Referenced by CheckScale(), CreateReflectedLV(), Place(), and ReflectPVPlacement().
|
private |
Definition at line 240 of file G4ReflectionFactory.hh.
Referenced by CheckScale(), G4ReflectionFactory(), GetScalePrecision(), and SetScalePrecision().
|
private |
Definition at line 242 of file G4ReflectionFactory.hh.
Referenced by Divide(), GetVerboseLevel(), Place(), ReflectDaughters(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), Replicate(), and SetVerboseLevel().