53 if (pMotherLogical ==
nullptr)
56 message <<
"Invalid setup." <<
G4endl
57 <<
"NULL pointer specified as mother for volume: " << pName;
58 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
62 if (pLogical == pMotherLogical)
65 message <<
"Invalid setup." <<
G4endl
66 <<
"Cannot place a volume inside itself! Volume: " << pName;
67 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
87 if (pMotherLogical ==
nullptr)
90 message <<
"Invalid setup." <<
G4endl
91 <<
"NULL pointer specified as mother! Volume: " << pName;
92 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
96 if (pLogical == pMotherLogical)
99 message <<
"Invalid setup." <<
G4endl
100 <<
"Cannot place a volume inside itself! Volume: " << pName;
101 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
119 if (pMotherLogical ==
nullptr)
122 message <<
"Invalid setup." <<
G4endl
123 <<
"NULL pointer specified as mother! Volume: " + pName;
124 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
128 if (pLogical == pMotherLogical)
131 message <<
"Invalid setup." <<
G4endl
132 <<
"Cannot place a volume inside itself! Volume: "+ pName;
133 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
152 if (pMotherPhysical ==
nullptr)
155 message <<
"Invalid setup." <<
G4endl
156 <<
"NULL pointer specified as mother for volume: " << pName;
157 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
162 if (pLogical == pMotherLogical)
165 message <<
"Invalid setup." <<
G4endl
166 <<
"Cannot place a volume inside itself! Volume: " << pName;
167 G4Exception(
"G4PVDivision::G4PVDivision()",
"GeomDiv0002",
197 G4Exception(
"G4PVDivision::CheckAndSetParameters()",
"GeomDiv0002",
211 G4Exception(
"G4PVDivision::CheckAndSetParameters()",
"GeomDiv0002",
246 G4Exception(
"G4PVDivision::CheckAndSetParameters()",
"GeomDiv0002",
258 if( msolType != dsolType && ( msolType !=
"G4Trd" || dsolType !=
"G4Trap" ) )
261 message <<
"Incorrect solid type for division of volume "
263 <<
"It is: " << msolType
264 <<
", while it should be: " << dsolType <<
"!";
265 G4Exception(
"G4PVDivision::CheckAndSetParameters()",
364 if (mSolidType ==
"G4ReflectedSolid")
372 if( mSolidType ==
"G4Box" )
378 offset, mSolid, divType );
382 offset, mSolid, divType );
386 offset, mSolid, divType );
393 else if( mSolidType ==
"G4Tubs" )
399 offset, mSolid, divType );
403 offset, mSolid, divType );
407 offset, mSolid, divType );
414 else if( mSolidType ==
"G4Cons" )
420 offset, mSolid, divType );
424 offset, mSolid, divType );
428 offset, mSolid, divType );
435 else if( mSolidType ==
"G4Trd" )
441 offset, mSolid, divType );
445 offset, mSolid, divType );
449 offset, mSolid, divType );
456 else if( mSolidType ==
"G4Para" )
462 offset, mSolid, divType );
466 offset, mSolid, divType );
470 offset, mSolid, divType );
480 else if( mSolidType ==
"G4Polycone" )
486 offset, mSolid, divType );
490 offset, mSolid, divType );
494 offset, mSolid, divType );
501 else if( mSolidType ==
"G4Polyhedra" )
507 offset, mSolid, divType );
511 offset, mSolid, divType );
515 offset, mSolid, divType );
525 message <<
"Solid type " << mSolidType <<
" not supported!" <<
G4endl
526 <<
"Divisions for " << mSolidType <<
" are not implemented.";
527 G4Exception(
"G4PVDivision::SetParameterisation()",
"GeomDiv0001",
552 error +=
"Radial3D.";
560 G4Exception(
"G4PVDivision::ErrorInAxis()",
"GeomDiv0002",