57 msol = (
G4Trd*)(mConstituentSolid);
102 G4cout <<
" G4ParameterisationTrdX - ## divisions " <<
fnDiv <<
" = "
156 std::ostringstream message;
157 message <<
"Only axes along X are allowed ! Axis: " <<
faxis;
158 G4Exception(
"G4ParameterisationTrdX::ComputeTransformation()",
165 G4cout << std::setprecision(8)
166 <<
" G4ParameterisationTrdX::ComputeTransformation() "
168 <<
" Position: " << origin <<
" - Axis: " <<
faxis <<
G4endl;
193 G4cout <<
" G4ParameterisationTrdX::ComputeDimensions():"
227 + (copyNo+0.5)*pDx1*2;
229 + (copyNo+0.5)*pDx2*2;
230 G4double alp = std::atan( (cxy2-cxy1)/pDz );
241 pDx2 -
fhgap * pDx2/pDx1,
247 G4cout <<
" G4ParameterisationTrdX::ComputeDimensions():"
280void G4ParameterisationTrdX::
310 G4cout <<
" G4ParameterisationTrdY no divisions " <<
fnDiv
311 <<
" = " << nDiv <<
G4endl
348 std::ostringstream message;
349 message <<
"Only axes along Y are allowed ! Axis: " <<
faxis;
350 G4Exception(
"G4ParameterisationTrdY::ComputeTransformation()",
357 G4cout << std::setprecision(8)
358 <<
" G4ParameterisationTrdY::ComputeTransformation " << copyNo
359 <<
" pos " << origin <<
" rot mat " <<
" axis " <<
faxis <<
G4endl;
386 G4cout <<
" G4ParameterisationTrdY::ComputeDimensions():" <<
G4endl;
404 std::ostringstream message;
405 message <<
"Invalid solid specification. NOT supported." <<
G4endl
406 <<
"Making a division of a TRD along axis Y while" <<
G4endl
407 <<
"the Y half lengths are not equal is not (yet)" <<
G4endl
408 <<
"supported. It will result in non-equal" <<
G4endl
409 <<
"division solids.";
410 G4Exception(
"G4ParameterisationTrdY::CheckParametersValidity()",
440 G4cout <<
" G4ParameterisationTrdZ no divisions " <<
fnDiv
441 <<
" = " << nDiv <<
G4endl
477 std::ostringstream message;
478 message <<
"Only axes along Z are allowed ! Axis: " <<
faxis;
479 G4Exception(
"G4ParameterisationTrdZ::ComputeTransformation()",
486 G4cout << std::setprecision(8) <<
" G4ParameterisationTrdZ: "
488 <<
" Position: " << origin <<
" - Offset: " <<
foffset
522 G4cout <<
" G4ParameterisationTrdZ::ComputeDimensions()"
523 <<
" - Mother TRD " <<
G4endl;
525 G4cout <<
" - Parameterised TRD: "
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4GLOB_DLL 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
static const G4int verbose
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