43 #ifndef G4UPOLYCONE_HH
44 #define G4UPOLYCONE_HH
48 #if defined(G4GEOM_USE_USOLIDS)
50 #include "UPolycone.hh"
55 class G4UPolycone :
public G4USolid
83 inline UPolycone* GetShape()
const;
87 inline G4bool IsOpen()
const;
88 inline G4int GetNumRZCorner()
const;
97 G4UPolycone(__void__&);
102 G4UPolycone(
const G4UPolycone &source );
103 G4UPolycone &operator=(
const G4UPolycone &source );
113 inline UPolycone* G4UPolycone::GetShape()
const
115 return (UPolycone*) fShape;
118 inline G4double G4UPolycone::GetStartPhi()
const
120 return GetShape()->GetStartPhi();
122 inline G4double G4UPolycone::GetEndPhi()
const
124 return GetShape()->GetEndPhi();
126 inline G4bool G4UPolycone::IsOpen()
const
128 return GetShape()->IsOpen();
130 inline G4int G4UPolycone::GetNumRZCorner()
const
132 return GetShape()->GetNumRZCorner();
136 UPolyconeSideRZ pside = GetShape()->GetCorner(index);
143 UPolyconeHistorical* pars = GetShape()->GetOriginalParameters();
147 for (
G4int i=0; i<pars->fNumZPlanes; ++i)
149 pdata->
Z_values[i] = pars->fZValues[i];
150 pdata->
Rmin[i] = pars->Rmin[i];
151 pdata->
Rmax[i] = pars->Rmax[i];
157 UPolyconeHistorical* pdata = GetShape()->GetOriginalParameters();
161 for (
G4int i=0; i<pdata->fNumZPlanes; ++i)
163 pdata->fZValues[i] = pars->
Z_values[i];
164 pdata->Rmin[i] = pars->
Rmin[i];
165 pdata->Rmax[i] = pars->
Rmax[i];
167 fRebuildPolyhedron =
true;
169 inline G4bool G4UPolycone::Reset()
175 #endif // G4GEOM_USE_USOLIDS