36 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
45 G4UTubs::G4UTubs(
const G4String& pName,
49 : G4USolid(pName, new UTubs(pName, pRMin, pRMax, pDz, pSPhi, pDPhi))
58 G4UTubs::G4UTubs( __void__&
a )
75 G4UTubs::G4UTubs(
const G4UTubs& rhs)
84 G4UTubs& G4UTubs::operator = (
const G4UTubs& rhs)
88 if (
this == &rhs) {
return *
this; }
92 G4USolid::operator=(rhs);
101 G4double G4UTubs::GetInnerRadius()
const
103 return GetShape()->GetInnerRadius();
105 G4double G4UTubs::GetOuterRadius()
const
107 return GetShape()->GetOuterRadius();
109 G4double G4UTubs::GetZHalfLength()
const
111 return GetShape()->GetZHalfLength();
113 G4double G4UTubs::GetStartPhiAngle()
const
115 return GetShape()->GetStartPhiAngle();
117 G4double G4UTubs::GetDeltaPhiAngle()
const
119 return GetShape()->GetDeltaPhiAngle();
122 void G4UTubs::SetInnerRadius(
G4double newRMin)
124 GetShape()->SetInnerRadius(newRMin);
125 fRebuildPolyhedron =
true;
127 void G4UTubs::SetOuterRadius(
G4double newRMax)
129 GetShape()->SetOuterRadius(newRMax);
130 fRebuildPolyhedron =
true;
132 void G4UTubs::SetZHalfLength(
G4double newDz)
134 GetShape()->SetZHalfLength(newDz);
135 fRebuildPolyhedron =
true;
139 GetShape()->SetStartPhiAngle(newSPhi, trig);
140 fRebuildPolyhedron =
true;
142 void G4UTubs::SetDeltaPhiAngle(
G4double newDPhi)
144 GetShape()->SetDeltaPhiAngle(newDPhi);
145 fRebuildPolyhedron =
true;
166 return new G4UTubs(*
this);
182 #endif // G4GEOM_USE_USOLIDS
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const