50 auto msol = (
G4Box*)(msolid);
54 G4VSolid* mConstituentSolid
55 = ((G4ReflectedSolid*)msolid)->GetConstituentMovedSolid();
56 msol = (G4Box*)(mConstituentSolid);
58 fReflectedSolid = true;
87 G4cout <<
" G4ParameterisationBoxX - no divisions "
102 return 2*msol->GetXHalfLength();
111 G4double mdx = msol->GetXHalfLength( );
123 std::ostringstream message;
124 message <<
"Only axes along X are allowed ! Axis: " <<
faxis;
125 G4Exception(
"G4ParameterisationBoxX::ComputeTransformation()",
131 G4cout << std::setprecision(8) <<
" G4ParameterisationBoxX: "
133 <<
" Position " << origin <<
" Axis " <<
faxis <<
G4endl;
149 G4double pDy = msol->GetYHalfLength();
150 G4double pDz = msol->GetZHalfLength();
159 G4cout <<
" G4ParameterisationBoxX::ComputeDimensions()" <<
G4endl
160 <<
" pDx: " << pDz <<
G4endl;
189 G4cout <<
" G4ParameterisationBoxY - no divisions " <<
fnDiv <<
" = "
203 return 2*msol->GetYHalfLength();
212 G4double mdy = msol->GetYHalfLength();
223 std::ostringstream message;
224 message <<
"Only axes along Y are allowed ! Axis: " <<
faxis;
225 G4Exception(
"G4ParameterisationBoxY::ComputeTransformation()",
231 G4cout << std::setprecision(8) <<
" G4ParameterisationBoxY: "
233 <<
" Position " << origin <<
" Axis " <<
faxis <<
G4endl;
248 G4double pDx = msol->GetXHalfLength();
250 G4double pDz = msol->GetZHalfLength();
259 G4cout <<
" G4ParameterisationBoxY::ComputeDimensions()" <<
G4endl
260 <<
" pDx: " << pDz <<
G4endl;
288 G4cout <<
" G4ParameterisationBoxZ - no divisions " <<
fnDiv <<
" = "
302 return 2*msol->GetZHalfLength();
311 G4double mdz = msol->GetZHalfLength();
323 std::ostringstream message;
324 message <<
"Only axes along Z are allowed ! Axis: " <<
faxis;
325 G4Exception(
"G4ParameterisationBoxZ::ComputeTransformation()",
331 G4cout << std::setprecision(8) <<
" G4ParameterisationBoxZ: "
333 <<
" Position " << origin <<
" Axis " <<
faxis <<
G4endl;
348 G4double pDx = msol->GetXHalfLength();
349 G4double pDy = msol->GetYHalfLength();
359 G4cout <<
" G4ParameterisationBoxZ::ComputeDimensions()" <<
G4endl
360 <<
" pDx: " << pDz <<
G4endl;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4ThreadLocal T * G4GeomSplitter< T >::offset
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
void SetZHalfLength(G4double dz)
void SetYHalfLength(G4double dy)
void SetXHalfLength(G4double dx)
G4ParameterisationBoxX(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const override
~G4ParameterisationBoxX() override
void ComputeDimensions(G4Box &box, const G4int copyNo, const G4VPhysicalVolume *physVol) const override
G4double GetMaxParameter() const override
G4double GetMaxParameter() const override
G4ParameterisationBoxY(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
~G4ParameterisationBoxY() override
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const override
void ComputeDimensions(G4Box &box, const G4int copyNo, const G4VPhysicalVolume *physVol) const override
G4ParameterisationBoxZ(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
G4double GetMaxParameter() const override
~G4ParameterisationBoxZ() override
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const override
void ComputeDimensions(G4Box &box, const G4int copyNo, const G4VPhysicalVolume *physVol) const override
virtual void CheckParametersValidity()
void SetType(const G4String &type)
G4double CalculateWidth(G4double motherDim, G4int nDiv, G4double offset) const
G4int CalculateNDiv(G4double motherDim, G4double width, G4double offset) const
static const G4int verbose
G4VDivisionParameterisation(EAxis axis, G4int nDiv, G4double width, G4double offset, DivisionType divType, G4VSolid *motherSolid=nullptr)
G4VParameterisationBox(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
~G4VParameterisationBox() override
void SetTranslation(const G4ThreeVector &v)
virtual G4GeometryType GetEntityType() const =0