36 #if defined(G4GEOM_USE_USOLIDS)
45 G4UTrap::G4UTrap(
const G4String& pName,
52 : G4USolid(pName, new UTrap(pName, pdz, pTheta, pPhi,
53 pdy1, pdx1, pdx2, pAlp1, pdy2, pdx3, pdx4, pAlp2))
57 G4UTrap::G4UTrap(
const G4String& pName,
59 : G4USolid(pName, new UTrap(pName))
64 G4UTrap::G4UTrap(
const G4String& pName,
68 : G4USolid(pName, new UTrap(pName, pZ, pY, pX, pLTX))
72 G4UTrap::G4UTrap(
const G4String& pName,
76 : G4USolid(pName, new UTrap(pName, pdx1, pdx2, pdy1, pdy2, pdz))
80 G4UTrap::G4UTrap(
const G4String& pName,
83 : G4USolid(pName, new UTrap(pName, pdx, pdy, pdz, pAlpha, pTheta, pPhi))
87 G4UTrap::G4UTrap(
const G4String& pName )
88 : G4USolid(pName, new UTrap(pName))
97 G4UTrap::G4UTrap( __void__&
a )
114 G4UTrap::G4UTrap(
const G4UTrap& rhs)
123 G4UTrap& G4UTrap::operator = (
const G4UTrap& rhs)
127 if (
this == &rhs) {
return *
this; }
131 G4USolid::operator=(rhs);
154 return new G4UTrap(*
this);
163 G4double fTthetaSphi = GetShape()->GetThetaSphi();
164 G4double fTthetaCphi = GetShape()->GetThetaCphi();
165 G4double phi = std::atan2(fTthetaSphi, fTthetaCphi);
166 G4double alpha1 = std::atan(GetTanAlpha1());
167 G4double alpha2 = std::atan(GetTanAlpha2());
168 G4double theta = std::atan(std::sqrt(fTthetaCphi*fTthetaCphi+fTthetaSphi*fTthetaSphi));
172 GetXHalfLength1(), GetXHalfLength2(), alpha1,
174 GetXHalfLength3(), GetXHalfLength4(), alpha2);
177 #endif // G4GEOM_USE_USOLIDS
CLHEP::Hep3Vector G4ThreeVector
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const