49 : faxis(axis), fnDiv( nDiv), fwidth(step), foffset(offset),
50 fDivisionType(divType), fmotherSolid( motherSolid )
55 G4cout <<
" G4VDivisionParameterisation no divisions " <<
fnDiv
103 G4cout <<
" G4VDivisionParameterisation::CalculateNDiv: "
104 << ( motherDim - offset ) / width
105 <<
" Motherdim: " << motherDim <<
", Offset: " << offset
106 <<
", Width: " << width <<
G4endl;
109 return G4int( ( motherDim - offset ) / width );
118 G4cout <<
" G4VDivisionParameterisation::CalculateWidth: "
119 << ( motherDim - offset ) / nDiv
120 <<
", Motherdim: " << motherDim <<
", Offset: " << offset
121 <<
", Number of divisions: " << nDiv <<
G4endl;
124 return ( motherDim - offset ) / nDiv;
140 std::ostringstream message;
141 message <<
"Configuration not supported." <<
G4endl
143 <<
" has too big offset = " <<
G4endl
144 <<
" " <<
foffset <<
" > " << maxPar <<
" !";
145 G4Exception(
"G4VDivisionParameterisation::CheckOffset()",
156 std::ostringstream message;
157 message <<
"Configuration not supported." <<
G4endl
159 <<
" has too big offset + width*nDiv = " <<
G4endl
164 G4Exception(
"G4VDivisionParameterisation::CheckNDivAndWidth()",
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::HepRotation G4RotationMatrix
G4GLOB_DLL std::ostream G4cout
HepRotation & rotateZ(double delta)
G4double GetSurfaceTolerance() const
static G4GeometryTolerance * GetInstance()
virtual void CheckParametersValidity()
virtual ~G4VDivisionParameterisation()
virtual G4double GetMaxParameter() const =0
G4double CalculateWidth(G4double motherDim, G4int nDiv, G4double offset) const
G4int CalculateNDiv(G4double motherDim, G4double width, G4double offset) const
void CheckNDivAndWidth(G4double maxPar)
static const G4int verbose
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
DivisionType fDivisionType
static G4ThreadLocal G4RotationMatrix * fRot
G4VDivisionParameterisation(EAxis axis, G4int nDiv, G4double width, G4double offset, DivisionType divType, G4VSolid *motherSolid=nullptr)
void ChangeRotMatrix(G4VPhysicalVolume *physVol, G4double rotZ=0.0) const
void CheckOffset(G4double maxPar)
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
void SetRotation(G4RotationMatrix *)
virtual G4GeometryType GetEntityType() const =0