Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4UPolycone Class Reference

#include <G4UPolycone.hh>

Inheritance diagram for G4UPolycone:
G4USolid G4VSolid

Public Member Functions

 G4UPolycone (const G4String &name, G4double phiStart, G4double phiTotal, G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[])
 
 G4UPolycone (const G4String &name, G4double phiStart, G4double phiTotal, G4int numRZ, const G4double r[], const G4double z[])
 
 ~G4UPolycone ()
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
G4VSolidClone () const
 
UPolyconeGetShape () const
 
G4double GetStartPhi () const
 
G4double GetEndPhi () const
 
G4bool IsOpen () const
 
G4int GetNumRZCorner () const
 
G4PolyconeSideRZ GetCorner (G4int index) const
 
G4PolyconeHistoricalGetOriginalParameters () const
 
void SetOriginalParameters (G4PolyconeHistorical *pars)
 
G4bool Reset ()
 
 G4UPolycone (__void__ &)
 
 G4UPolycone (const G4UPolycone &source)
 
G4UPolyconeoperator= (const G4UPolycone &source)
 
G4PolyhedronCreatePolyhedron () const
 
- Public Member Functions inherited from G4USolid
 G4USolid (const G4String &pName, VUSolid *shape)
 
virtual ~G4USolid ()
 
G4bool operator== (const G4USolid &s) const
 
virtual G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
 
virtual EInside Inside (const G4ThreeVector &p) const
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 
virtual G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 
virtual G4double DistanceToIn (const G4ThreeVector &p) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
 
virtual G4double DistanceToOut (const G4ThreeVector &p) const
 
virtual G4double GetCubicVolume ()
 
virtual G4double GetSurfaceArea ()
 
virtual G4GeometryType GetEntityType () const
 
virtual G4ThreeVector GetPointOnSurface () const
 
virtual std::ostream & StreamInfo (std::ostream &os) const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
virtual G4VisExtent GetExtent () const
 
G4PolyhedronCreatePolyhedron () const
 
virtual G4PolyhedronGetPolyhedron () const
 
 G4USolid (__void__ &)
 
 G4USolid (const G4USolid &rhs)
 
G4USolidoperator= (const G4USolid &rhs)
 
VUSolidGetSolid () const
 
- Public Member Functions inherited from G4VSolid
 G4VSolid (const G4String &name)
 
virtual ~G4VSolid ()
 
G4bool operator== (const G4VSolid &s) const
 
G4String GetName () const
 
void SetName (const G4String &name)
 
G4double GetTolerance () const
 
void DumpInfo () const
 
virtual const G4VSolidGetConstituentSolid (G4int no) const
 
virtual G4VSolidGetConstituentSolid (G4int no)
 
virtual const G4DisplacedSolidGetDisplacedSolidPtr () const
 
virtual G4DisplacedSolidGetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolidoperator= (const G4VSolid &rhs)
 

Additional Inherited Members

- Protected Member Functions inherited from G4USolid
G4ThreeVectorListCreateRotatedVertices (const G4AffineTransform &pT) const
 
- Protected Member Functions inherited from G4VSolid
void CalculateClippedPolygonExtent (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipCrossSection (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipBetweenSections (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipPolygon (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis) const
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 
- Protected Attributes inherited from G4USolid
VUSolidfShape
 
G4PolyhedronfPolyhedron
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Detailed Description

Definition at line 51 of file G4UPolycone.hh.

Constructor & Destructor Documentation

G4UPolycone::G4UPolycone ( const G4String name,
G4double  phiStart,
G4double  phiTotal,
G4int  numZPlanes,
const G4double  zPlane[],
const G4double  rInner[],
const G4double  rOuter[] 
)

Definition at line 41 of file G4UPolycone.cc.

Referenced by Clone().

48  : G4USolid(name, new UPolycone(name, phiStart, phiTotal,
49  numZPlanes, zPlane, rInner, rOuter))
50 {
51 }
G4USolid(const G4String &pName, VUSolid *shape)
Definition: G4USolid.cc:44
G4UPolycone::G4UPolycone ( const G4String name,
G4double  phiStart,
G4double  phiTotal,
G4int  numRZ,
const G4double  r[],
const G4double  z[] 
)

Definition at line 58 of file G4UPolycone.cc.

64  : G4USolid(name, new UPolycone(name, phiStart, phiTotal, numRZ, r, z))
65 {
66 }
G4double z
Definition: TRTMaterials.hh:39
G4USolid(const G4String &pName, VUSolid *shape)
Definition: G4USolid.cc:44
G4UPolycone::~G4UPolycone ( )

Definition at line 84 of file G4UPolycone.cc.

85 {
86 }
G4UPolycone::G4UPolycone ( __void__ &  a)

Definition at line 74 of file G4UPolycone.cc.

75  : G4USolid(a)
76 {
77 }
G4USolid(const G4String &pName, VUSolid *shape)
Definition: G4USolid.cc:44
G4UPolycone::G4UPolycone ( const G4UPolycone source)

Definition at line 93 of file G4UPolycone.cc.

94  : G4USolid( source )
95 {
96 }
G4USolid(const G4String &pName, VUSolid *shape)
Definition: G4USolid.cc:44

Member Function Documentation

G4VSolid * G4UPolycone::Clone ( ) const
virtual

Reimplemented from G4USolid.

Definition at line 130 of file G4UPolycone.cc.

References G4UPolycone().

131 {
132  return new G4UPolycone(*this);
133 }
G4UPolycone(const G4String &name, G4double phiStart, G4double phiTotal, G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[])
Definition: G4UPolycone.cc:41
void G4UPolycone::ComputeDimensions ( G4VPVParameterisation p,
const G4int  n,
const G4VPhysicalVolume pRep 
)
virtual

Reimplemented from G4USolid.

Definition at line 118 of file G4UPolycone.cc.

References G4VPVParameterisation::ComputeDimensions().

121 {
122  p->ComputeDimensions(*(G4Polycone*)this,n,pRep);
123 }
const G4int n
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const
G4Polyhedron * G4UPolycone::CreatePolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 140 of file G4UPolycone.cc.

References GetOriginalParameters(), G4PolyconeHistorical::Num_z_planes, G4PolyconeHistorical::Opening_angle, G4PolyconeHistorical::Rmax, G4PolyconeHistorical::Rmin, G4PolyconeHistorical::Start_angle, and G4PolyconeHistorical::Z_values.

141 {
142  G4PolyconeHistorical* original_parameters = GetOriginalParameters();
144  polyhedron = new G4PolyhedronPcon( original_parameters->Start_angle,
145  original_parameters->Opening_angle,
146  original_parameters->Num_z_planes,
147  original_parameters->Z_values,
148  original_parameters->Rmin,
149  original_parameters->Rmax );
150 
151  delete original_parameters; // delete local copy
152 
153  return polyhedron;
154 }
G4PolyconeHistorical * GetOriginalParameters() const
Definition: G4UPolycone.hh:137
G4PolyconeSideRZ G4UPolycone::GetCorner ( G4int  index) const
inline

Definition at line 130 of file G4UPolycone.hh.

References UPolycone::GetCorner(), GetShape(), UPolyconeSideRZ::r, and UPolyconeSideRZ::z.

131 {
132  UPolyconeSideRZ pside = GetShape()->GetCorner(index);
133  G4PolyconeSideRZ psiderz = { pside.r, pside.z };
134 
135  return psiderz;
136 }
UPolyconeSideRZ GetCorner(int index) const
Definition: UPolycone.hh:192
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109
G4double G4UPolycone::GetEndPhi ( ) const
inline

Definition at line 118 of file G4UPolycone.hh.

References UPolycone::GetEndPhi(), and GetShape().

119 {
120  return GetShape()->GetEndPhi();
121 }
double GetEndPhi() const
Definition: UPolycone.hh:172
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109
G4int G4UPolycone::GetNumRZCorner ( ) const
inline

Definition at line 126 of file G4UPolycone.hh.

References UPolycone::GetNumRZCorner(), and GetShape().

127 {
128  return GetShape()->GetNumRZCorner();
129 }
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109
int GetNumRZCorner() const
Definition: UPolycone.hh:187
G4PolyconeHistorical * G4UPolycone::GetOriginalParameters ( ) const
inline

Definition at line 137 of file G4UPolycone.hh.

References UPolyconeHistorical::fNumZPlanes, UPolyconeHistorical::fOpeningAngle, UPolyconeHistorical::fStartAngle, UPolyconeHistorical::fZValues, UPolycone::GetOriginalParameters(), GetShape(), G4PolyconeHistorical::Opening_angle, G4PolyconeHistorical::Rmax, UPolyconeHistorical::Rmax, G4PolyconeHistorical::Rmin, UPolyconeHistorical::Rmin, G4PolyconeHistorical::Start_angle, and G4PolyconeHistorical::Z_values.

Referenced by CreatePolyhedron().

138 {
141  pdata->Start_angle = pars->fStartAngle;
142  pdata->Opening_angle = pars->fOpeningAngle;
143  for (G4int i=0; i<pars->fNumZPlanes; ++i)
144  {
145  pdata->Z_values[i] = pars->fZValues[i];
146  pdata->Rmin[i] = pars->Rmin[i];
147  pdata->Rmax[i] = pars->Rmax[i];
148  }
149  return pdata;
150 }
std::vector< double > Rmin
Definition: UPolycone.hh:65
std::vector< double > fZValues
Definition: UPolycone.hh:64
UPolyconeHistorical * GetOriginalParameters() const
Definition: UPolycone.hh:197
int G4int
Definition: G4Types.hh:78
std::vector< double > Rmax
Definition: UPolycone.hh:66
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109
UPolycone * G4UPolycone::GetShape ( ) const
inline

Definition at line 109 of file G4UPolycone.hh.

References G4USolid::fShape.

Referenced by GetCorner(), GetEndPhi(), GetNumRZCorner(), GetOriginalParameters(), GetStartPhi(), IsOpen(), Reset(), and SetOriginalParameters().

110 {
111  return (UPolycone*) fShape;
112 }
VUSolid * fShape
Definition: G4USolid.hh:182
G4double G4UPolycone::GetStartPhi ( ) const
inline

Definition at line 114 of file G4UPolycone.hh.

References GetShape(), and UPolycone::GetStartPhi().

115 {
116  return GetShape()->GetStartPhi();
117 }
double GetStartPhi() const
Definition: UPolycone.hh:167
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109
G4bool G4UPolycone::IsOpen ( ) const
inline

Definition at line 122 of file G4UPolycone.hh.

References GetShape(), and UPolycone::IsOpen().

123 {
124  return GetShape()->IsOpen();
125 }
bool IsOpen() const
Definition: UPolycone.hh:177
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109
G4UPolycone & G4UPolycone::operator= ( const G4UPolycone source)

Definition at line 103 of file G4UPolycone.cc.

References G4USolid::operator=().

104 {
105  if (this == &source) return *this;
106 
107  G4USolid::operator=( source );
108 
109  return *this;
110 }
G4USolid & operator=(const G4USolid &rhs)
Definition: G4USolid.cc:370
G4bool G4UPolycone::Reset ( )
inline

Definition at line 165 of file G4UPolycone.hh.

References GetShape(), and UPolycone::Reset().

166 {
167  GetShape()->Reset();
168  return 0;
169 }
void Reset()
Definition: UPolycone.cc:1505
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109
void G4UPolycone::SetOriginalParameters ( G4PolyconeHistorical pars)
inline

Definition at line 151 of file G4UPolycone.hh.

References UPolyconeHistorical::fNumZPlanes, UPolyconeHistorical::fOpeningAngle, G4USolid::fPolyhedron, UPolyconeHistorical::fStartAngle, UPolyconeHistorical::fZValues, UPolycone::GetOriginalParameters(), GetShape(), G4PolyconeHistorical::Num_z_planes, G4PolyconeHistorical::Opening_angle, G4PolyconeHistorical::Rmax, UPolyconeHistorical::Rmax, G4PolyconeHistorical::Rmin, UPolyconeHistorical::Rmin, G4PolyconeHistorical::Start_angle, and G4PolyconeHistorical::Z_values.

152 {
154  pdata->fStartAngle = pars->Start_angle;
155  pdata->fOpeningAngle = pars->Opening_angle;
156  pdata->fNumZPlanes = pars->Num_z_planes;
157  for (G4int i=0; i<pdata->fNumZPlanes; ++i)
158  {
159  pdata->fZValues[i] = pars->Z_values[i];
160  pdata->Rmin[i] = pars->Rmin[i];
161  pdata->Rmax[i] = pars->Rmax[i];
162  }
163  fPolyhedron = 0;
164 }
std::vector< double > Rmin
Definition: UPolycone.hh:65
std::vector< double > fZValues
Definition: UPolycone.hh:64
UPolyconeHistorical * GetOriginalParameters() const
Definition: UPolycone.hh:197
int G4int
Definition: G4Types.hh:78
std::vector< double > Rmax
Definition: UPolycone.hh:66
G4Polyhedron * fPolyhedron
Definition: G4USolid.hh:183
UPolycone * GetShape() const
Definition: G4UPolycone.hh:109

The documentation for this class was generated from the following files: