61 msol = (
G4Trd*)(mConstituentSolid);
106 G4cout <<
" G4ParameterisationTrdX - ## divisions " <<
fnDiv <<
" = "
160 G4Exception(
"G4ParameterisationTrdX::ComputeTransformation()",
162 "Only axes along X are allowed, and axis is: "+
faxis);
168 G4cout << std::setprecision(8)
169 <<
" G4ParameterisationTrdX::ComputeTransformation() "
171 <<
" Position: " << origin <<
" - Axis: " <<
faxis <<
G4endl;
196 G4cout <<
" G4ParameterisationTrdX::ComputeDimensions():"
230 + (copyNo+0.5)*pDx1*2;
232 + (copyNo+0.5)*pDx2*2;
233 G4double alp = std::atan( (cxy2-cxy1)/pDz );
244 pDx2 -
fhgap * pDx2/pDx1,
250 G4cout <<
" G4ParameterisationTrdX::ComputeDimensions():"
283void G4ParameterisationTrdX::
313 G4cout <<
" G4ParameterisationTrdY no divisions " <<
fnDiv
314 <<
" = " << nDiv <<
G4endl
351 G4Exception(
"G4ParameterisationTrdY::ComputeTransformation()",
353 "Only axes along Y are allowed !");
359 G4cout << std::setprecision(8)
360 <<
" G4ParameterisationTrdY::ComputeTransformation " << copyNo
361 <<
" pos " << origin <<
" rot mat " <<
" axis " <<
faxis <<
G4endl;
388 G4cout <<
" G4ParameterisationTrdY::ComputeDimensions():" <<
G4endl;
406 std::ostringstream message;
407 message <<
"Invalid solid specification. NOT supported." <<
G4endl
408 <<
"Making a division of a TRD along axis Y while" <<
G4endl
409 <<
"the Y half lengths are not equal is not (yet)" <<
G4endl
410 <<
"supported. It will result in non-equal" <<
G4endl
411 <<
"division solids.";
412 G4Exception(
"G4ParameterisationTrdY::CheckParametersValidity()",
442 G4cout <<
" G4ParameterisationTrdZ no divisions " <<
fnDiv
443 <<
" = " << nDiv <<
G4endl
479 G4Exception(
"G4ParameterisationTrdZ::ComputeTransformation()",
481 "Only axes along Z are allowed !");
487 G4cout << std::setprecision(8) <<
" G4ParameterisationTrdZ: "
489 <<
" Position: " << origin <<
" - Offset: " <<
foffset
523 G4cout <<
" G4ParameterisationTrdZ::ComputeDimensions()"
524 <<
" - Mother TRD " <<
G4endl;
526 G4cout <<
" - Parameterised TRD: "
G4DLLIMPORT std::ostream G4cout
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void CheckParametersValidity()
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
G4ParameterisationTrdX(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
~G4ParameterisationTrdX()
G4double GetMaxParameter() const
G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
G4ParameterisationTrdY(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
~G4ParameterisationTrdY()
void CheckParametersValidity()
G4double GetMaxParameter() const
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
~G4ParameterisationTrdZ()
G4double GetMaxParameter() const
G4ParameterisationTrdZ(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
void SetAllParameters(G4double pDz, G4double pTheta, G4double pPhi, G4double pDy1, G4double pDx1, G4double pDx2, G4double pAlp1, G4double pDy2, G4double pDx3, G4double pDx4, G4double pAlp2)
void SetAllParameters(G4double pdx1, G4double pdx2, G4double pdy1, G4double pdy2, G4double pdz)
G4double GetXHalfLength2() const
G4double GetYHalfLength2() const
G4double GetXHalfLength1() const
G4double GetYHalfLength1() const
G4double GetZHalfLength() const
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
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
G4VParameterisationTrd(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
virtual ~G4VParameterisationTrd()
void SetTranslation(const G4ThreeVector &v)
virtual G4GeometryType GetEntityType() const =0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)