ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/source/geometry/volumes/include/G4ReflectionFactory.hh>
Static Public Member Functions | |
static G4ReflectionFactory * | Instance () |
Protected Member Functions | |
G4ReflectionFactory () | |
Private Types | |
using | LogicalVolumesMapIterator = G4ReflectedVolumesMap::const_iterator |
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 surfChk=false) |
G4bool | IsReflection (const G4Scale3D &scale) const |
void | CheckScale (const G4Scale3D &scale) const |
G4VPVDivisionFactory * | GetPVDivisionFactory () const |
void | PrintConstituentLVMap () |
Private Attributes | |
G4double | fScalePrecision |
G4int | fVerboseLevel = 0 |
G4String | fNameExtension |
G4ReflectedVolumesMap | fConstituentLVMap |
G4ReflectedVolumesMap | fReflectedLVMap |
Static Private Attributes | |
static G4ThreadLocal G4ReflectionFactory * | fInstance = nullptr |
static const G4String | fDefaultNameExtension = "_refl" |
static const G4Scale3D | fScale = G4ScaleZ3D(-1.0) |
Definition at line 78 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 78 of file G4ReflectionFactory.hh
|
private |
Definition at line 80 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 80 of file G4ReflectionFactory.hh
|
virtual |
Definition at line 92 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 92 of file G4ReflectionFactory.cc
References fInstance.
|
delete |
|
protected |
Definition at line 79 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 79 of file G4ReflectionFactory.cc
References fInstance, fScalePrecision, G4GeometryTolerance::GetInstance(), and G4GeometryTolerance::GetSurfaceTolerance().
Referenced by Instance().
Definition at line 778 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 778 of file G4ReflectionFactory.cc
References kdfinder::abs(), FatalException, fScale, fScalePrecision, G4endl, G4Exception(), IsReflection(), message(), and scale.
Referenced by Place().
|
private |
Definition at line 398 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 398 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(), message(), 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 238 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 238 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 280 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 280 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 321 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 321 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 680 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 680 of file G4ReflectionFactory.cc
References fReflectedLVMap, and it.
Referenced by PHG4GDMLWriteStructure::PhysvolWrite(), G4GDMLWriteStructure::PhysvolWrite(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), PHG4GDMLWriteStructure::TraverseVolumeTree(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
private |
Definition at line 803 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 803 of file G4ReflectionFactory.cc
References FatalException, G4endl, G4Exception(), G4VPVDivisionFactory::Instance(), and message().
Referenced by Divide(), and ReflectPVDivision().
G4LogicalVolume * G4ReflectionFactory::GetReflectedLV | ( | G4LogicalVolume * | lv | ) | const |
Definition at line 696 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 696 of file G4ReflectionFactory.cc
References fConstituentLVMap, and it.
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.
View newest version in sPHENIX GitHub at line 747 of file G4ReflectionFactory.cc
References fReflectedLVMap.
G4double G4ReflectionFactory::GetScalePrecision | ( | ) | const |
Definition at line 838 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 838 of file G4ReflectionFactory.cc
References fScalePrecision.
G4int G4ReflectionFactory::GetVerboseLevel | ( | ) | const |
Definition at line 852 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 852 of file G4ReflectionFactory.cc
References fVerboseLevel.
const G4String & G4ReflectionFactory::GetVolumesNameExtension | ( | ) | const |
Definition at line 866 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 866 of file G4ReflectionFactory.cc
References fNameExtension.
|
static |
Definition at line 67 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 67 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(), PHG4GDMLWriteStructure::PHG4GDMLWriteStructure(), G4GDMLReadStructure::PhysvolRead(), DetectorConstruction::PlaceWithReflections(), and G4GDMLReadStructure::ReplicaRead().
G4bool G4ReflectionFactory::IsConstituent | ( | G4LogicalVolume * | lv | ) | const |
Definition at line 711 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub 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.
View newest version in sPHENIX GitHub at line 722 of file G4ReflectionFactory.cc
References fReflectedLVMap.
Referenced by G4tgbGeometryDumper::DumpPhysVol(), G4tgbGeometryDumper::DumpPVPlacement(), G4GDMLParser::ExportRegions(), PHG4GDMLWriteStructure::PhysvolWrite(), G4GDMLWriteStructure::PhysvolWrite(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), PHG4GDMLWriteStructure::TraverseVolumeTree(), and G4GDMLWriteStructure::TraverseVolumeTree().
Definition at line 733 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 733 of file G4ReflectionFactory.cc
References scale.
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.
View newest version in sPHENIX GitHub at line 104 of file G4ReflectionFactory.cc
References CheckScale(), fScale, fVerboseLevel, G4cout, G4endl, HepGeom::Transform3D::getDecomposition(), G4LogicalVolume::GetName(), GetReflectedLV(), HepGeom::Transform3D::inverse(), IsReflection(), ReflectLV(), and scale.
Referenced by G02DetectorConstruction::ConstructDetector(), G4tgbVolume::ConstructG4PhysVol(), G3Division::CreatePVReplica(), G3toG4BuildPVTree(), G4AssemblyVolume::MakeImprint(), G4GDMLReadStructure::PhysvolRead(), and DetectorConstruction::PlaceWithReflections().
|
private |
Definition at line 763 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 763 of file G4ReflectionFactory.cc
References fConstituentLVMap, G4cout, G4endl, and it.
|
private |
Definition at line 442 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub 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.
View newest version in sPHENIX GitHub 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.
View newest version in sPHENIX GitHub at line 605 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 662 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 662 of file G4ReflectionFactory.cc
References FatalException, G4endl, G4Exception(), G4VPhysicalVolume::GetName(), and message().
Referenced by ReflectDaughters().
|
private |
Definition at line 481 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 481 of file G4ReflectionFactory.cc
References CreateReflectedLV(), fScale, fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetCopyNo(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::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.
View newest version in sPHENIX GitHub at line 542 of file G4ReflectionFactory.cc
References CreateReflectedLV(), fVerboseLevel, G4cout, G4endl, GetConstituentLV(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), GetReflectedLV(), G4VPhysicalVolume::GetReplicationData(), IsReflected(), offset, 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 199 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 199 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 755 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 755 of file G4ReflectionFactory.cc
References fConstituentLVMap, and fReflectedLVMap.
Definition at line 831 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 831 of file G4ReflectionFactory.cc
References fScalePrecision.
Referenced by G4tgbVolumeMgr::G4tgbVolumeMgr().
Definition at line 845 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 845 of file G4ReflectionFactory.cc
References fVerboseLevel.
Definition at line 859 of file G4ReflectionFactory.cc.
View newest version in sPHENIX GitHub at line 859 of file G4ReflectionFactory.cc
References fNameExtension.
|
private |
Definition at line 244 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 244 of file G4ReflectionFactory.hh
Referenced by CreateReflectedLV(), GetReflectedLV(), IsConstituent(), PrintConstituentLVMap(), and Reset().
|
staticprivate |
Definition at line 238 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 238 of file G4ReflectionFactory.hh
|
staticprivate |
Definition at line 237 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 237 of file G4ReflectionFactory.hh
Referenced by G4ReflectionFactory(), Instance(), and ~G4ReflectionFactory().
|
private |
Definition at line 243 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 243 of file G4ReflectionFactory.hh
Referenced by CreateReflectedLV(), GetVolumesNameExtension(), and SetVolumesNameExtension().
|
private |
Definition at line 245 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 245 of file G4ReflectionFactory.hh
Referenced by CreateReflectedLV(), GetConstituentLV(), GetReflectedVolumesMap(), IsReflected(), and Reset().
|
staticprivate |
Definition at line 239 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 239 of file G4ReflectionFactory.hh
Referenced by CheckScale(), CreateReflectedLV(), Place(), and ReflectPVPlacement().
|
private |
Definition at line 240 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 240 of file G4ReflectionFactory.hh
Referenced by CheckScale(), G4ReflectionFactory(), GetScalePrecision(), and SetScalePrecision().
|
private |
Definition at line 242 of file G4ReflectionFactory.hh.
View newest version in sPHENIX GitHub at line 242 of file G4ReflectionFactory.hh
Referenced by Divide(), GetVerboseLevel(), Place(), ReflectDaughters(), ReflectPVDivision(), ReflectPVPlacement(), ReflectPVReplica(), Replicate(), and SetVerboseLevel().