53 const G4int nReplicas,
61 pAxis, nReplicas, width,
offset);
71 const G4int nReplicas,
113 if (divParam ==
nullptr)
115 G4Exception(
"G4PVDivisionFactory::CreatePVDivision()",
117 "Unexpected parameterisation type!");
122 G4int nofDivisions = divParam->GetNoDiv();
123 G4double width = divParam->GetWidth();
126 return new G4PVDivision(pName, pLogical, pMotherLogical,
137 return dynamic_cast<const G4PVDivision*
>(pv) !=
nullptr;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4ThreadLocal T * G4GeomSplitter< T >::offset
G4PVDivision(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset)
G4PVDivision represents many touchable detector elements differing only in their positioning....
G4LogicalVolume represents a leaf node or unpositioned subtree in the geometry hierarchy....
G4bool IsPVDivision(const G4VPhysicalVolume *pv) const override
static G4PVDivisionFactory * GetInstance()
G4PVDivisionFactory()=default
G4VPhysicalVolume * CreatePVDivision(const G4String &pName, G4LogicalVolume *pLogical, G4LogicalVolume *pMother, const EAxis pAxis, const G4int nReplicas, const G4double width, const G4double offset) override
G4VDivisionParameterisation is the base class for parameterisations defining divisions of volumes for...
static G4ThreadLocal G4VPVDivisionFactory * fgInstance
G4VPVParameterisation ia an abstract base class for Parameterisation, able to compute the transformat...
G4VPhysicalVolume is an abstract base class for the representation of a positioned volume....
const axis_t axis_to_type< N >::axis