35 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
50 : G4USolid(name, new UPolycone(name, phiStart, phiTotal,
51 numZPlanes, zPlane, rInner, rOuter))
66 : G4USolid(name, new UPolycone(name, phiStart, phiTotal, numRZ, r, z))
76 G4UPolycone::G4UPolycone( __void__&
a )
86 G4UPolycone::~G4UPolycone()
95 G4UPolycone::G4UPolycone(
const G4UPolycone &source )
105 G4UPolycone &G4UPolycone::operator=(
const G4UPolycone &source )
107 if (
this == &source)
return *
this;
109 G4USolid::operator=( source );
119 G4double G4UPolycone::GetStartPhi()
const
121 return GetShape()->GetStartPhi();
123 G4double G4UPolycone::GetEndPhi()
const
125 return GetShape()->GetEndPhi();
127 G4bool G4UPolycone::IsOpen()
const
129 return GetShape()->IsOpen();
131 G4int G4UPolycone::GetNumRZCorner()
const
133 return GetShape()->GetNumRZCorner();
137 UPolyconeSideRZ pside = GetShape()->GetCorner(index);
144 UPolyconeHistorical* pars = GetShape()->GetOriginalParameters();
148 for (
G4int i=0; i<pars->fNumZPlanes; ++i)
150 pdata->
Z_values[i] = pars->fZValues[i];
151 pdata->
Rmin[i] = pars->Rmin[i];
152 pdata->
Rmax[i] = pars->Rmax[i];
158 UPolyconeHistorical* pdata = GetShape()->GetOriginalParameters();
162 for (
G4int i=0; i<pdata->fNumZPlanes; ++i)
164 pdata->fZValues[i] = pars->
Z_values[i];
165 pdata->Rmin[i] = pars->
Rmin[i];
166 pdata->Rmax[i] = pars->
Rmax[i];
168 fRebuildPolyhedron =
true;
170 G4bool G4UPolycone::Reset()
193 G4VSolid* G4UPolycone::Clone()
const
195 return new G4UPolycone(*
this);
211 original_parameters->
Rmin,
212 original_parameters->
Rmax );
214 delete original_parameters;
219 #endif // G4GEOM_USE_USOLIDS
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const