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)
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
virtual void CheckParametersValidity()
static const G4int verbose
G4double GetYHalfLength1() const
G4ParameterisationTrdX(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
CLHEP::Hep3Vector G4ThreeVector
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
G4ParameterisationTrdY(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
void SetType(const G4String &type)
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
G4double CalculateWidth(G4double motherDim, G4int nDiv, G4double offset) const
virtual ~G4VParameterisationTrd()
virtual G4GeometryType GetEntityType() const =0
G4double GetZHalfLength() const
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const
G4double GetXHalfLength2() 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)
G4double GetYHalfLength2() const
void CheckParametersValidity()
G4VParameterisationTrd(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
G4double GetMaxParameter() const
G4double GetMaxParameter() const
G4int CalculateNDiv(G4double motherDim, G4double width, G4double offset) const
void CheckParametersValidity()
~G4ParameterisationTrdX()
G4double GetXHalfLength1() const
~G4ParameterisationTrdY()
G4ParameterisationTrdZ(EAxis axis, G4int nCopies, G4double width, G4double offset, G4VSolid *motherSolid, DivisionType divType)
void ComputeDimensions(G4Trd &trd, const G4int copyNo, const G4VPhysicalVolume *pv) const