65 #ifndef G4_REFLECTION_FACTORY_HH
66 #define G4_REFLECTION_FACTORY_HH
static const G4Scale3D fScale
G4LogicalVolume * GetReflectedLV(G4LogicalVolume *lv) const
std::pair< G4VPhysicalVolume *, G4VPhysicalVolume * > G4PhysicalVolumesPair
G4double GetScalePrecision() const
void SetVerboseLevel(G4int verboseLevel)
const G4ReflectedVolumesMap & GetReflectedVolumesMap() const
G4ReflectedVolumesMap::const_iterator LogicalVolumesMapIterator
G4VPVDivisionFactory * GetPVDivisionFactory() const
G4bool IsConstituent(G4LogicalVolume *lv) const
G4LogicalVolume * ReflectLV(G4LogicalVolume *LV, G4bool surfCheck=false)
void SetScalePrecision(G4double scaleValue)
G4int GetVerboseLevel() const
void ReflectPVParameterised(G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfCheck=false)
G4bool IsReflection(const G4Scale3D &scale) const
void SetVolumesNameExtension(const G4String &nameExtension)
virtual ~G4ReflectionFactory()
void ReflectPVPlacement(G4VPhysicalVolume *PV, G4LogicalVolume *refLV, G4bool surfCheck=false)
void ReflectPVDivision(G4VPhysicalVolume *PV, G4LogicalVolume *refLV)
G4LogicalVolume * CreateReflectedLV(G4LogicalVolume *LV)
void ReflectPVReplica(G4VPhysicalVolume *PV, G4LogicalVolume *refLV)
G4ReflectedVolumesMap fReflectedLVMap
static G4ThreadLocal G4ReflectionFactory * fInstance
std::map< G4LogicalVolume *, G4LogicalVolume *, std::less< G4LogicalVolume * > > G4ReflectedVolumesMap
void ReflectDaughters(G4LogicalVolume *LV, G4LogicalVolume *refLV, G4bool surfCheck=false)
G4PhysicalVolumesPair Replicate(const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, EAxis axis, G4int nofReplicas, G4double width, G4double offset=0)
const G4String & GetVolumesNameExtension() const
void PrintConstituentLVMap()
G4bool IsReflected(G4LogicalVolume *lv) const
void CheckScale(const G4Scale3D &scale) const
G4ReflectionFactory & operator=(const G4ReflectionFactory &)
G4ReflectedVolumesMap fConstituentLVMap
G4PhysicalVolumesPair Divide(const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, EAxis axis, G4int nofDivisions, G4double width, G4double offset)
G4PhysicalVolumesPair Place(const G4Transform3D &transform3D, const G4String &name, G4LogicalVolume *LV, G4LogicalVolume *motherLV, G4bool isMany, G4int copyNo, G4bool surfCheck=false)
static const G4String fDefaultNameExtension
G4LogicalVolume * GetConstituentLV(G4LogicalVolume *reflLV) const
static G4ReflectionFactory * Instance()