50 auto msol = (
G4Tubs*)(msolid);
54 G4VSolid* mConstituentSolid
55 = ((G4ReflectedSolid*)msolid)->GetConstituentMovedSolid();
56 msol = (G4Tubs*)(mConstituentSolid);
58 fReflectedSolid = true;
90 G4cout <<
" G4ParameterisationTubsRho - no divisions " <<
fnDiv <<
" = "
94 <<
" DivType " << divType <<
G4endl;
106 return msol->GetOuterRadius() - msol->GetInnerRadius();
126 <<
" Offset: " <<
foffset/CLHEP::deg
136 G4cout << std::setprecision(8) <<
" G4ParameterisationTubsRho " <<
G4endl
137 <<
" Position: " << origin <<
" - Width: " <<
fwidth
153 G4double pDz = msol->GetZHalfLength();
155 G4double pSPhi = msol->GetStartPhiAngle();
156 G4double pDPhi = msol->GetDeltaPhiAngle();;
167 G4cout <<
" G4ParameterisationTubsRho::ComputeDimensions()" <<
G4endl
168 <<
" pRMin: " << pRMin <<
" - pRMax: " << pRMax <<
G4endl;
197 G4cout <<
" G4ParameterisationTubsPhi no divisions " <<
fnDiv <<
" = "
212 return msol->GetDeltaPhiAngle();
231 G4cout <<
" G4ParameterisationTubsPhi - position: " << posi/CLHEP::deg <<
G4endl
232 <<
" copyNo: " << copyNo <<
" - foffset: " <<
foffset/CLHEP::deg
242 G4cout << std::setprecision(8) <<
" G4ParameterisationTubsPhi " << copyNo
244 <<
" Position: " << origin <<
" - Width: " <<
fwidth
258 G4double pRMin = msol->GetInnerRadius();
259 G4double pRMax = msol->GetOuterRadius();
260 G4double pDz = msol->GetZHalfLength();
274 G4cout <<
" G4ParameterisationTubsPhi::ComputeDimensions" <<
G4endl
275 <<
" pSPhi: " << pSPhi <<
" - pDPhi: " << pDPhi <<
G4endl;
304 G4cout <<
" G4ParameterisationTubsZ: # divisions " <<
fnDiv <<
" = "
319 return 2*msol->GetZHalfLength();
339 G4cout <<
" G4ParameterisationTubsZ::ComputeTransformation()" <<
G4endl
340 <<
" Position: " << posi <<
" - copyNo: " << copyNo <<
G4endl
341 <<
" foffset " <<
foffset/CLHEP::deg <<
" - fwidth " <<
fwidth/CLHEP::deg
351 G4cout << std::setprecision(8) <<
" G4ParameterisationTubsZ " << copyNo
353 <<
" Position: " << origin <<
" - Width: " <<
fwidth
367 G4double pRMin = msol->GetInnerRadius();
368 G4double pRMax = msol->GetOuterRadius();
371 G4double pSPhi = msol->GetStartPhiAngle();
372 G4double pDPhi = msol->GetDeltaPhiAngle();
383 G4cout <<
" G4ParameterisationTubsZ::ComputeDimensions()" <<
G4endl
384 <<
" pDz: " << pDz <<
G4endl;
G4ThreadLocal T * G4GeomSplitter< T >::offset
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
G4ParameterisationTubsPhi(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *motherSolid, DivisionType divType)
~G4ParameterisationTubsPhi() override
G4double GetMaxParameter() const override
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const override
void ComputeDimensions(G4Tubs &tubs, const G4int copyNo, const G4VPhysicalVolume *physVol) const override
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const override
void ComputeDimensions(G4Tubs &tubs, const G4int copyNo, const G4VPhysicalVolume *physVol) const override
~G4ParameterisationTubsRho() override
G4ParameterisationTubsRho(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *motherSolid, DivisionType divType)
G4double GetMaxParameter() const override
void ComputeDimensions(G4Tubs &tubs, const G4int copyNo, const G4VPhysicalVolume *physVol) const override
~G4ParameterisationTubsZ() override
G4ParameterisationTubsZ(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *motherSolid, DivisionType divType)
G4double GetMaxParameter() const override
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const override
void SetDeltaPhiAngle(G4double newDPhi)
void SetStartPhiAngle(G4double newSPhi, G4bool trig=true)
void SetInnerRadius(G4double newRMin)
void SetOuterRadius(G4double newRMax)
void SetZHalfLength(G4double newDz)
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)
void ChangeRotMatrix(G4VPhysicalVolume *physVol, G4double rotZ=0.0) const
G4VParameterisationTubs(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
~G4VParameterisationTubs() override
void SetTranslation(const G4ThreeVector &v)
virtual G4GeometryType GetEntityType() const =0