#include <G4ReflectionFactory.hh>
|
virtual | ~G4ReflectionFactory () |
|
G4PhysicalVolumesPair | Place (const G4Transform3D &transform3D, const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, G4bool isMany, G4int copyNo, G4bool surfCheck=false) |
|
G4PhysicalVolumesPair | Replicate (const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, EAxis axis, G4int nofReplicas, G4double width, G4double offset=0) |
|
G4PhysicalVolumesPair | Divide (const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, EAxis axis, G4int nofDivisions, G4double width, G4double offset) |
|
G4PhysicalVolumesPair | Divide (const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, EAxis axis, G4int nofDivisions, G4double offset) |
|
G4PhysicalVolumesPair | Divide (const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, EAxis axis, G4double width, G4double offset) |
|
void | SetVerboseLevel (G4int verboseLevel) |
|
G4int | GetVerboseLevel () const |
|
void | SetVolumesNameExtension (const G4String &nameExtension) |
|
const G4String & | GetVolumesNameExtension () const |
|
void | SetScalePrecision (G4double scaleValue) |
|
G4double | GetScalePrecision () const |
|
G4LogicalVolume * | GetConstituentLV (G4LogicalVolume *reflLV) const |
|
G4LogicalVolume * | GetReflectedLV (G4LogicalVolume *lv) const |
|
G4bool | IsConstituent (G4LogicalVolume *lv) const |
|
G4bool | IsReflected (G4LogicalVolume *lv) const |
|
const G4ReflectedVolumesMap & | GetReflectedVolumesMap () const |
|
void | Reset () |
|
Definition at line 84 of file G4ReflectionFactory.hh.
◆ LogicalVolumesMapIterator
◆ ~G4ReflectionFactory()
G4ReflectionFactory::~G4ReflectionFactory |
( |
| ) |
|
|
virtual |
◆ G4ReflectionFactory() [1/2]
G4ReflectionFactory::G4ReflectionFactory |
( |
| ) |
|
|
protected |
Definition at line 83 of file G4ReflectionFactory.cc.
G4double GetSurfaceTolerance() const
static const G4String fDefaultNameExtension
static G4ThreadLocal G4ReflectionFactory * fInstance
static G4GeometryTolerance * GetInstance()
◆ G4ReflectionFactory() [2/2]
◆ CheckScale()
void G4ReflectionFactory::CheckScale |
( |
const G4Scale3D & |
scale | ) |
const |
|
private |
Definition at line 783 of file G4ReflectionFactory.cc.
792 for (
G4int i=0; i<4; i++)
793 for (
G4int j=0; j<4; j++)
798 std::ostringstream message;
799 message <<
"Unexpected scale in input !" <<
G4endl 800 <<
" Difference: " << diff;
static const G4Scale3D fScale
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4bool IsReflection(const G4Scale3D &scale) const
◆ CreateReflectedLV()
Definition at line 403 of file G4ReflectionFactory.cc.
413 std::ostringstream message;
414 message <<
"Invalid reflection for volume: " 416 <<
"Cannot be applied to a volume already reflected !";
417 G4Exception(
"G4ReflectionFactory::CreateReflectedLV()",
G4double GetBiasWeight() const
G4ReflectedVolumesMap fReflectedLVMap
G4UserLimits * GetUserLimits() const
G4Material * GetMaterial() const
G4ReflectedVolumesMap fConstituentLVMap
const G4String & GetName() const
const G4VisAttributes * GetVisAttributes() const
G4FieldManager * GetFieldManager() const
static const G4Scale3D fScale
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4Region * GetRegion() const
G4VSensitiveDetector * GetSensitiveDetector() const
G4VSolid * GetSolid() const
void SetVisAttributes(const G4VisAttributes *pVA)
◆ Divide() [1/3]
Definition at line 243 of file G4ReflectionFactory.cc.
259 G4cout <<
"Divide " << name <<
" lv " << LV <<
" " 275 axis, nofDivisions,
width, offset);
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
G4VPVDivisionFactory * GetPVDivisionFactory() const
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
virtual G4VPhysicalVolume * CreatePVDivision(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset)=0
G4LogicalVolume * ReflectLV(G4LogicalVolume *LV, G4bool surfCheck=false)
std::pair< G4VPhysicalVolume *, G4VPhysicalVolume * > G4PhysicalVolumesPair
◆ Divide() [2/3]
Definition at line 285 of file G4ReflectionFactory.cc.
300 G4cout <<
"Divide " << name <<
" lv " << LV <<
" " 316 axis, nofDivisions, offset);
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
G4VPVDivisionFactory * GetPVDivisionFactory() const
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
virtual G4VPhysicalVolume * CreatePVDivision(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset)=0
G4LogicalVolume * ReflectLV(G4LogicalVolume *LV, G4bool surfCheck=false)
std::pair< G4VPhysicalVolume *, G4VPhysicalVolume * > G4PhysicalVolumesPair
◆ Divide() [3/3]
Definition at line 326 of file G4ReflectionFactory.cc.
341 G4cout <<
"Divide " << name <<
" lv " << LV <<
" " 348 -> CreatePVDivision(name, LV, motherLV, axis,
width, offset);
357 axis,
width, offset);
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
G4VPVDivisionFactory * GetPVDivisionFactory() const
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
virtual G4VPhysicalVolume * CreatePVDivision(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset)=0
G4LogicalVolume * ReflectLV(G4LogicalVolume *LV, G4bool surfCheck=false)
std::pair< G4VPhysicalVolume *, G4VPhysicalVolume * > G4PhysicalVolumesPair
◆ GetConstituentLV()
Definition at line 685 of file G4ReflectionFactory.cc.
G4ReflectedVolumesMap fReflectedLVMap
G4ReflectedVolumesMap::const_iterator LogicalVolumesMapIterator
◆ GetPVDivisionFactory()
Definition at line 808 of file G4ReflectionFactory.cc.
815 if (!divisionFactory)
817 std::ostringstream message;
818 message <<
"A concrete G4PVDivisionFactory instantiated is required !" 820 <<
" It has been requested to reflect divided volumes." 822 <<
" In this case, it is required to instantiate a concrete" 824 <<
" factory G4PVDivisionFactory in your program -before-" 826 <<
" executing the reflection !";
827 G4Exception(
"G4ReflectionFactory::GetPVDivisionFactory()",
831 return divisionFactory;
static G4VPVDivisionFactory * Instance()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ GetReflectedLV()
Definition at line 701 of file G4ReflectionFactory.cc.
G4ReflectedVolumesMap fConstituentLVMap
G4ReflectedVolumesMap::const_iterator LogicalVolumesMapIterator
◆ GetReflectedVolumesMap()
◆ GetScalePrecision()
G4double G4ReflectionFactory::GetScalePrecision |
( |
| ) |
const |
◆ GetVerboseLevel()
G4int G4ReflectionFactory::GetVerboseLevel |
( |
| ) |
const |
◆ GetVolumesNameExtension()
const G4String & G4ReflectionFactory::GetVolumesNameExtension |
( |
| ) |
const |
◆ Instance()
◆ IsConstituent()
◆ IsReflected()
◆ IsReflection()
◆ operator=()
◆ Place()
Definition at line 109 of file G4ReflectionFactory.cc.
129 G4cout <<
"Place " << name <<
" lv " << LV <<
" " 159 motherLV, isMany, copyNo, surfCheck);
169 isMany, copyNo, surfCheck);
184 motherLV, isMany, copyNo, surfCheck);
194 LV, name, reflMotherLV, isMany, copyNo, surfCheck);
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
static const G4Scale3D fScale
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
G4bool IsReflection(const G4Scale3D &scale) const
G4LogicalVolume * ReflectLV(G4LogicalVolume *LV, G4bool surfCheck=false)
std::pair< G4VPhysicalVolume *, G4VPhysicalVolume * > G4PhysicalVolumesPair
void CheckScale(const G4Scale3D &scale) const
◆ PrintConstituentLVMap()
void G4ReflectionFactory::PrintConstituentLVMap |
( |
| ) |
|
|
private |
Definition at line 768 of file G4ReflectionFactory.cc.
776 G4cout <<
"lv: " << (*it).first <<
" lv_refl: " << (*it).second <<
G4endl;
G4GLOB_DLL std::ostream G4cout
G4ReflectedVolumesMap fConstituentLVMap
G4ReflectedVolumesMap::const_iterator LogicalVolumesMapIterator
◆ ReflectDaughters()
Definition at line 447 of file G4ReflectionFactory.cc.
456 G4cout <<
"G4ReflectionFactory::ReflectDaughters(): " void ReflectPVParameterised(G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfCheck=false)
G4int GetNoDaughters() const
virtual G4bool IsReplicated() const =0
static G4VPVDivisionFactory * Instance()
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
virtual G4VPVParameterisation * GetParameterisation() const =0
G4VPhysicalVolume * GetDaughter(const G4int i) const
void ReflectPVPlacement(G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfCheck=false)
void ReflectPVDivision(G4VPhysicalVolume *PV, G4LogicalVolume *refLV)
void ReflectPVReplica(G4VPhysicalVolume *PV, G4LogicalVolume *refLV)
◆ ReflectLV()
Definition at line 370 of file G4ReflectionFactory.cc.
void AddRootLogicalVolume(G4LogicalVolume *lv)
G4bool IsRootRegion() const
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
G4Region * GetRegion() const
void ReflectDaughters(G4LogicalVolume *LV, G4LogicalVolume *refLV, G4bool surfCheck=false)
G4LogicalVolume * CreateReflectedLV(G4LogicalVolume *LV)
◆ ReflectPVDivision()
Definition at line 610 of file G4ReflectionFactory.cc.
G4bool IsReflected(G4LogicalVolume *lv) const
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
G4VPVDivisionFactory * GetPVDivisionFactory() const
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
G4LogicalVolume * GetConstituentLV(G4LogicalVolume *reflLV) const
virtual G4VPhysicalVolume * CreatePVDivision(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset)=0
void ReflectDaughters(G4LogicalVolume *LV, G4LogicalVolume *refLV, G4bool surfCheck=false)
G4LogicalVolume * CreateReflectedLV(G4LogicalVolume *LV)
◆ ReflectPVParameterised()
Definition at line 667 of file G4ReflectionFactory.cc.
675 std::ostringstream message;
676 message <<
"Not yet implemented. Volume: " << dPV->GetName() <<
G4endl 677 <<
"Reflection of parameterised volumes is not yet implemented.";
678 G4Exception(
"G4ReflectionFactory::ReflectPVParameterised()",
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ ReflectPVPlacement()
Definition at line 486 of file G4ReflectionFactory.cc.
498 G4Transform3D dt(dPV->GetObjectRotationValue(), dPV->GetObjectTranslation());
530 dPV->IsMany(), dPV->GetCopyNo(), surfCheck);
541 dPV->IsMany(), dPV->GetCopyNo(), surfCheck);
G4bool IsReflected(G4LogicalVolume *lv) const
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
static const G4Scale3D fScale
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
G4LogicalVolume * GetConstituentLV(G4LogicalVolume *reflLV) const
void ReflectDaughters(G4LogicalVolume *LV, G4LogicalVolume *refLV, G4bool surfCheck=false)
G4LogicalVolume * CreateReflectedLV(G4LogicalVolume *LV)
◆ ReflectPVReplica()
Definition at line 547 of file G4ReflectionFactory.cc.
564 dPV->GetReplicationData(axis, nofReplicas, width, offset, consuming);
594 axis, nofReplicas,
width, offset);
604 axis, nofReplicas,
width, offset);
G4bool IsReflected(G4LogicalVolume *lv) const
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
G4LogicalVolume * GetConstituentLV(G4LogicalVolume *reflLV) const
void ReflectDaughters(G4LogicalVolume *LV, G4LogicalVolume *refLV, G4bool surfCheck=false)
G4LogicalVolume * CreateReflectedLV(G4LogicalVolume *LV)
◆ Replicate()
Definition at line 204 of file G4ReflectionFactory.cc.
220 G4cout <<
"Replicate " << name <<
" lv " << LV <<
" " 234 axis, nofReplicas,
width, offset);
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
G4LogicalVolume * ReflectLV(G4LogicalVolume *LV, G4bool surfCheck=false)
std::pair< G4VPhysicalVolume *, G4VPhysicalVolume * > G4PhysicalVolumesPair
◆ Reset()
void G4ReflectionFactory::Reset |
( |
| ) |
|
Definition at line 760 of file G4ReflectionFactory.cc.
G4ReflectedVolumesMap fReflectedLVMap
G4ReflectedVolumesMap fConstituentLVMap
◆ SetScalePrecision()
void G4ReflectionFactory::SetScalePrecision |
( |
G4double |
scaleValue | ) |
|
◆ SetVerboseLevel()
void G4ReflectionFactory::SetVerboseLevel |
( |
G4int |
verboseLevel | ) |
|
◆ SetVolumesNameExtension()
void G4ReflectionFactory::SetVolumesNameExtension |
( |
const G4String & |
nameExtension | ) |
|
◆ fConstituentLVMap
◆ fDefaultNameExtension
const G4String G4ReflectionFactory::fDefaultNameExtension = "_refl" |
|
staticprivate |
◆ fInstance
◆ fNameExtension
G4String G4ReflectionFactory::fNameExtension |
|
private |
◆ fReflectedLVMap
◆ fScale
◆ fScalePrecision
G4double G4ReflectionFactory::fScalePrecision |
|
private |
◆ fVerboseLevel
G4int G4ReflectionFactory::fVerboseLevel |
|
private |
The documentation for this class was generated from the following files: