61 msol = (
G4Trd*)(mConstituentSolid);
106 G4cout <<
" G4ParameterisationTrdX - ## divisions " <<
fnDiv <<
" = "
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
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;
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
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 CheckParametersValidity()
static const G4int verbose
G4double GetMaxParameter() const
void SetAllParameters(G4double pDz, G4double pTheta, G4double pPhi, G4double pDy1, G4double pDx1, G4double pDx2, G4double pAlp1, G4double pDy2, G4double pDx3, G4double pDx4, G4double pAlp2)
virtual ~G4VParameterisationTrd()
G4ParameterisationTrdY(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
void message(RunManager *runmanager)
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
void SetTranslation(const G4ThreeVector &v)
G4double GetYHalfLength2() const
G4double GetZHalfLength() const
G4VParameterisationTrd(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
G4double GetXHalfLength1() const
G4double GetMaxParameter() const
G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
~G4ParameterisationTrdX()
~G4ParameterisationTrdY()
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
G4double GetYHalfLength1() const
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
~G4ParameterisationTrdZ()
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
void CheckParametersValidity()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4ParameterisationTrdZ(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
G4ParameterisationTrdX(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
G4double GetXHalfLength2() const
virtual void CheckParametersValidity()
G4GLOB_DLL std::ostream G4cout
G4double CalculateWidth(G4double motherDim, G4int nDiv, G4double offset) const
virtual G4GeometryType GetEntityType() const =0
void SetType(const G4String &type)
G4double GetMaxParameter() const
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void SetAllParameters(G4double pdx1, G4double pdx2, G4double pdy1, G4double pdy2, G4double pdz)
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
G4int CalculateNDiv(G4double motherDim, G4double width, G4double offset) const