Geant4
10.03
|
#include <G4ReflectionFactory.hh>
Static Public Member Functions | |
static G4ReflectionFactory * | Instance () |
Protected Member Functions | |
G4ReflectionFactory () | |
G4ReflectionFactory (const G4ReflectionFactory &) | |
G4ReflectionFactory & | operator= (const G4ReflectionFactory &) |
Private Types | |
typedef G4ReflectedVolumesMap::const_iterator | LogicalVolumesMapIterator |
Private Member Functions | |
G4LogicalVolume * | ReflectLV (G4LogicalVolume *LV, G4bool surfCheck=false) |
G4LogicalVolume * | CreateReflectedLV (G4LogicalVolume *LV) |
void | ReflectDaughters (G4LogicalVolume *LV, G4LogicalVolume *refLV, G4bool surfCheck=false) |
void | ReflectPVPlacement (G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfCheck=false) |
void | ReflectPVReplica (G4VPhysicalVolume *PV, G4LogicalVolume *refLV) |
void | ReflectPVDivision (G4VPhysicalVolume *PV, G4LogicalVolume *refLV) |
void | ReflectPVParameterised (G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfCheck=false) |
G4bool | IsReflection (const G4Scale3D &scale) const |
void | CheckScale (const G4Scale3D &scale) const |
G4VPVDivisionFactory * | GetPVDivisionFactory () const |
void | PrintConstituentLVMap () |
Private Attributes | |
G4double | fScalePrecision |
G4int | fVerboseLevel |
G4String | fNameExtension |
G4ReflectedVolumesMap | fConstituentLVMap |
G4ReflectedVolumesMap | fReflectedLVMap |
Static Private Attributes | |
static G4ThreadLocal G4ReflectionFactory * | fInstance = 0 |
static const G4String | fDefaultNameExtension = "_refl" |
static const G4Scale3D | fScale = G4ScaleZ3D(-1.0) |
Definition at line 84 of file G4ReflectionFactory.hh.
|
private |
Definition at line 86 of file G4ReflectionFactory.hh.
|
virtual |
Definition at line 97 of file G4ReflectionFactory.cc.
References fInstance.
|
protected |
Definition at line 83 of file G4ReflectionFactory.cc.
References fInstance, fScalePrecision, G4GeometryTolerance::GetInstance(), and G4GeometryTolerance::GetSurfaceTolerance().
Referenced by Instance().
|
protected |
|
private |
Definition at line 783 of file G4ReflectionFactory.cc.
References FatalException, fScale, fScalePrecision, G4endl, G4Exception(), and IsReflection().
Referenced by Place().
|
private |
Definition at line 403 of file G4ReflectionFactory.cc.
References FatalException, fConstituentLVMap, fNameExtension, fReflectedLVMap, fScale, G4endl, G4Exception(), G4LogicalVolume::GetBiasWeight(), G4LogicalVolume::GetFieldManager(), G4LogicalVolume::GetMaterial(), G4VSolid::GetName(), G4LogicalVolume::GetName(), G4LogicalVolume::GetRegion(), G4LogicalVolume::GetSensitiveDetector(), G4LogicalVolume::GetSolid(), G4LogicalVolume::GetUserLimits(), G4LogicalVolume::GetVisAttributes(), G4LogicalVolume::IsRegion(), and G4LogicalVolume::SetVisAttributes().
Referenced by ReflectLV(), ReflectPVDivision(), ReflectPVPlacement(), and ReflectPVReplica().
G4PhysicalVolumesPair G4ReflectionFactory::Divide | ( | const G4String & | name, |
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
EAxis | axis, | ||
G4int | nofDivisions, | ||
G4double | width, | ||
G4double | offset | ||
) |
Definition at line 243 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetPVDivisionFactory(), GetReflectedLV(), and ReflectLV().
Referenced by G4GDMLReadStructure::DivisionvolRead().
G4PhysicalVolumesPair G4ReflectionFactory::Divide | ( | const G4String & | name, |
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
EAxis | axis, | ||
G4int | nofDivisions, | ||
G4double | offset | ||
) |
Definition at line 285 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetPVDivisionFactory(), GetReflectedLV(), and ReflectLV().
G4PhysicalVolumesPair G4ReflectionFactory::Divide | ( | const G4String & | name, |
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
EAxis | axis, | ||
G4double | width, | ||
G4double | offset | ||
) |
Definition at line 326 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetPVDivisionFactory(), GetReflectedLV(), and ReflectLV().
G4LogicalVolume * G4ReflectionFactory::GetConstituentLV | ( | G4LogicalVolume * | reflLV | ) | const |
Definition at line 685 of file G4ReflectionFactory.cc.
References fReflectedLVMap.
Referenced by G4GDMLWriteStructure::PhysvolWrite(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
private |
Definition at line 808 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 701 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 752 of file G4ReflectionFactory.cc.
References fReflectedLVMap.
G4double G4ReflectionFactory::GetScalePrecision | ( | ) | const |
Definition at line 843 of file G4ReflectionFactory.cc.
References fScalePrecision.
G4int G4ReflectionFactory::GetVerboseLevel | ( | ) | const |
Definition at line 857 of file G4ReflectionFactory.cc.
References fVerboseLevel.
const G4String & G4ReflectionFactory::GetVolumesNameExtension | ( | ) | const |
Definition at line 871 of file G4ReflectionFactory.cc.
References fNameExtension.
|
static |
Definition at line 71 of file G4ReflectionFactory.cc.
References fInstance, and G4ReflectionFactory().
Referenced by G02DetectorConstruction::ConstructDetector(), G4tgbVolume::ConstructG4PhysVol(), G3Division::CreatePVReplica(), G4GDMLReadStructure::DivisionvolRead(), G4tgbGeometryDumper::DumpPhysVol(), G4tgbGeometryDumper::DumpPVPlacement(), G4GDMLParser::ExportRegions(), G3toG4BuildPVTree(), G4GDMLWriteStructure::G4GDMLWriteStructure(), G4tgbVolumeMgr::G4tgbVolumeMgr(), G4GDMLParser::ImportRegions(), G4AssemblyVolume::MakeImprint(), G4GDMLReadStructure::PhysvolRead(), DetectorConstruction::PlaceWithReflections(), and G4GDMLReadStructure::ReplicaRead().
G4bool G4ReflectionFactory::IsConstituent | ( | G4LogicalVolume * | lv | ) | const |
Definition at line 716 of file G4ReflectionFactory.cc.
References fConstituentLVMap.
Referenced by G4GDMLParser::ImportRegions().
G4bool G4ReflectionFactory::IsReflected | ( | G4LogicalVolume * | lv | ) | const |
Definition at line 727 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 738 of file G4ReflectionFactory.cc.
Referenced by CheckScale(), and Place().
|
protected |
G4PhysicalVolumesPair G4ReflectionFactory::Place | ( | const G4Transform3D & | transform3D, |
const G4String & | name, | ||
G4LogicalVolume * | LV, | ||
G4LogicalVolume * | motherLV, | ||
G4bool | isMany, | ||
G4int | copyNo, | ||
G4bool | surfCheck = false |
||
) |
Definition at line 109 of file G4ReflectionFactory.cc.
References CheckScale(), fScale, fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetReflectedLV(), IsReflection(), G4InuclParticleNames::name(), and ReflectLV().
Referenced by G02DetectorConstruction::ConstructDetector(), G4tgbVolume::ConstructG4PhysVol(), G3Division::CreatePVReplica(), G3toG4BuildPVTree(), G4AssemblyVolume::MakeImprint(), G4GDMLReadStructure::PhysvolRead(), and DetectorConstruction::PlaceWithReflections().
|
private |
Definition at line 768 of file G4ReflectionFactory.cc.
References fConstituentLVMap, G4cout, and G4endl.
|
private |
Definition at line 447 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 370 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 610 of file G4ReflectionFactory.cc.
References G4VPVDivisionFactory::CreatePVDivision(), CreateReflectedLV(), fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetParameterisation(), GetPVDivisionFactory(), GetReflectedLV(), IsReflected(), and ReflectDaughters().
Referenced by ReflectDaughters().
|
private |
Definition at line 667 of file G4ReflectionFactory.cc.
References FatalException, G4endl, G4Exception(), and G4VPhysicalVolume::GetName().
Referenced by ReflectDaughters().
|
private |
Definition at line 486 of file G4ReflectionFactory.cc.
References CreateReflectedLV(), fScale, fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetCopyNo(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetObjectRotationValue(), G4VPhysicalVolume::GetObjectTranslation(), GetReflectedLV(), G4VPhysicalVolume::IsMany(), IsReflected(), and ReflectDaughters().
Referenced by ReflectDaughters().
|
private |
Definition at line 547 of file G4ReflectionFactory.cc.
References CreateReflectedLV(), fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), GetReflectedLV(), G4VPhysicalVolume::GetReplicationData(), IsReflected(), ReflectDaughters(), and width.
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 204 of file G4ReflectionFactory.cc.
References fVerboseLevel, G4cout, G4endl, G4LogicalVolume::GetName(), GetReflectedLV(), and ReflectLV().
Referenced by G3Division::CreatePVReplica(), and G4GDMLReadStructure::ReplicaRead().
void G4ReflectionFactory::Reset | ( | ) |
Definition at line 760 of file G4ReflectionFactory.cc.
References fConstituentLVMap, and fReflectedLVMap.
void G4ReflectionFactory::SetScalePrecision | ( | G4double | scaleValue | ) |
Definition at line 836 of file G4ReflectionFactory.cc.
References fScalePrecision.
Referenced by G4tgbVolumeMgr::G4tgbVolumeMgr().
void G4ReflectionFactory::SetVerboseLevel | ( | G4int | verboseLevel | ) |
Definition at line 850 of file G4ReflectionFactory.cc.
References fVerboseLevel.
void G4ReflectionFactory::SetVolumesNameExtension | ( | const G4String & | nameExtension | ) |
Definition at line 864 of file G4ReflectionFactory.cc.
References fNameExtension.
|
private |
Definition at line 250 of file G4ReflectionFactory.hh.
Referenced by CreateReflectedLV(), GetReflectedLV(), IsConstituent(), PrintConstituentLVMap(), and Reset().
|
staticprivate |
Definition at line 244 of file G4ReflectionFactory.hh.
|
staticprivate |
Definition at line 243 of file G4ReflectionFactory.hh.
Referenced by G4ReflectionFactory(), Instance(), and ~G4ReflectionFactory().
|
private |
Definition at line 249 of file G4ReflectionFactory.hh.
Referenced by CreateReflectedLV(), GetVolumesNameExtension(), and SetVolumesNameExtension().
|
private |
Definition at line 251 of file G4ReflectionFactory.hh.
Referenced by CreateReflectedLV(), GetConstituentLV(), GetReflectedVolumesMap(), IsReflected(), and Reset().
|
staticprivate |
Definition at line 245 of file G4ReflectionFactory.hh.
Referenced by CheckScale(), CreateReflectedLV(), Place(), and ReflectPVPlacement().
|
private |
Definition at line 246 of file G4ReflectionFactory.hh.
Referenced by CheckScale(), G4ReflectionFactory(), GetScalePrecision(), and SetScalePrecision().
|
private |
Definition at line 248 of file G4ReflectionFactory.hh.
Referenced by Divide(), GetVerboseLevel(), Place(), ReflectDaughters(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), Replicate(), and SetVerboseLevel().