61 msol = (
G4Trd*)(mConstituentSolid);
106 G4cout <<
" G4ParameterisationTrdX - ## divisions " <<
fnDiv <<
" = " 160 std::ostringstream message;
161 message <<
"Only axes along X are allowed ! Axis: " <<
faxis;
162 G4Exception(
"G4ParameterisationTrdX::ComputeTransformation()",
169 G4cout << std::setprecision(8)
170 <<
" G4ParameterisationTrdX::ComputeTransformation() " 172 <<
" Position: " << origin <<
" - Axis: " <<
faxis <<
G4endl;
197 G4cout <<
" G4ParameterisationTrdX::ComputeDimensions():" 231 + (copyNo+0.5)*pDx1*2;
233 + (copyNo+0.5)*pDx2*2;
234 G4double alp = std::atan( (cxy2-cxy1)/pDz );
245 pDx2 -
fhgap * pDx2/pDx1,
251 G4cout <<
" G4ParameterisationTrdX::ComputeDimensions():" 314 G4cout <<
" G4ParameterisationTrdY no divisions " <<
fnDiv 315 <<
" = " << nDiv <<
G4endl 352 std::ostringstream message;
353 message <<
"Only axes along Y are allowed ! Axis: " <<
faxis;
354 G4Exception(
"G4ParameterisationTrdY::ComputeTransformation()",
361 G4cout << std::setprecision(8)
362 <<
" G4ParameterisationTrdY::ComputeTransformation " << copyNo
363 <<
" pos " << origin <<
" rot mat " <<
" axis " <<
faxis <<
G4endl;
390 G4cout <<
" G4ParameterisationTrdY::ComputeDimensions():" <<
G4endl;
408 std::ostringstream message;
409 message <<
"Invalid solid specification. NOT supported." <<
G4endl 410 <<
"Making a division of a TRD along axis Y while" <<
G4endl 411 <<
"the Y half lengths are not equal is not (yet)" <<
G4endl 412 <<
"supported. It will result in non-equal" <<
G4endl 413 <<
"division solids.";
414 G4Exception(
"G4ParameterisationTrdY::CheckParametersValidity()",
444 G4cout <<
" G4ParameterisationTrdZ no divisions " <<
fnDiv 445 <<
" = " << nDiv <<
G4endl 481 std::ostringstream message;
482 message <<
"Only axes along Z are allowed ! Axis: " <<
faxis;
483 G4Exception(
"G4ParameterisationTrdZ::ComputeTransformation()",
490 G4cout << std::setprecision(8) <<
" G4ParameterisationTrdZ: " 492 <<
" Position: " << origin <<
" - Offset: " <<
foffset 493 <<
" - Width: " << fwidth <<
" Axis " <<
faxis <<
G4endl;
526 G4cout <<
" G4ParameterisationTrdZ::ComputeDimensions()" 527 <<
" - Mother TRD " <<
G4endl;
529 G4cout <<
" - Parameterised TRD: " void SetAllParameters(G4double pdx1, G4double pdx2, G4double pdy1, G4double pdy2, G4double pdz)
G4int CalculateNDiv(G4double motherDim, G4double width, G4double offset) const
G4double GetXHalfLength1() const
virtual void CheckParametersValidity()
static const G4int verbose
G4ParameterisationTrdX(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
G4ParameterisationTrdY(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
void SetType(const G4String &type)
G4double GetYHalfLength1() const
G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
virtual ~G4VParameterisationTrd()
virtual G4GeometryType GetEntityType() const =0
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
G4double GetMaxParameter() const
~G4ParameterisationTrdZ()
G4GLOB_DLL std::ostream G4cout
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
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 SetTranslation(const G4ThreeVector &v)
void CheckParametersValidity()
G4double GetXHalfLength2() const
G4VParameterisationTrd(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double CalculateWidth(G4double motherDim, G4int nDiv, G4double offset) const
G4double GetMaxParameter() const
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void CheckParametersValidity()
~G4ParameterisationTrdX()
G4double GetMaxParameter() const
~G4ParameterisationTrdY()
G4double GetYHalfLength2() const
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
G4ParameterisationTrdZ(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
G4double GetZHalfLength() const