Geant4  10.03
G4ReflectedSolid Class Reference

#include <G4ReflectedSolid.hh>

+ Inheritance diagram for G4ReflectedSolid:
+ Collaboration diagram for G4ReflectedSolid:

Public Member Functions

 G4ReflectedSolid (const G4String &pName, G4VSolid *pSolid, const G4Transform3D &transform)
 
virtual ~G4ReflectedSolid ()
 
EInside Inside (const G4ThreeVector &p) const
 
void Extent (G4ThreeVector &pMin, G4ThreeVector &pMax) const
 
G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
 
G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 
G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 
G4double DistanceToIn (const G4ThreeVector &p) const
 
G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
 
G4double DistanceToOut (const G4ThreeVector &p) const
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
G4ThreeVector GetPointOnSurface () const
 
G4VSolid * Clone () const
 
virtual G4GeometryType GetEntityType () const
 
virtual const G4ReflectedSolid * GetReflectedSolidPtr () const
 
virtual G4ReflectedSolid * GetReflectedSolidPtr ()
 
G4VSolid * GetConstituentMovedSolid () const
 
G4Transform3D GetTransform3D () const
 
G4Transform3D GetDirectTransform3D () const
 
void SetDirectTransform3D (G4Transform3D &)
 
std::ostream & StreamInfo (std::ostream &os) const
 
 G4ReflectedSolid (const G4ReflectedSolid &rhs)
 
G4ReflectedSolid & operator= (const G4ReflectedSolid &rhs)
 
void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
G4Polyhedron * CreatePolyhedron () const
 
G4Polyhedron * GetPolyhedron () 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
 
virtual G4double GetCubicVolume ()
 
virtual G4double GetSurfaceArea ()
 
void DumpInfo () const
 
virtual G4VisExtent GetExtent () const
 
virtual const G4VSolid * GetConstituentSolid (G4int no) const
 
virtual G4VSolid * GetConstituentSolid (G4int no)
 
virtual const G4DisplacedSolid * GetDisplacedSolidPtr () const
 
virtual G4DisplacedSolid * GetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolid & operator= (const G4VSolid &rhs)
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Attributes

G4VSolid * fPtrSolid
 
G4Transform3D * fDirectTransform3D
 
G4bool fRebuildPolyhedron
 
G4Polyhedron * fpPolyhedron
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Additional Inherited Members

- 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
 

Detailed Description

Definition at line 48 of file G4ReflectedSolid.hh.

Constructor & Destructor Documentation

G4ReflectedSolid::G4ReflectedSolid ( const G4String &  pName,
G4VSolid *  pSolid,
const G4Transform3D &  transform 
)

Definition at line 56 of file G4ReflectedSolid.cc.

References fDirectTransform3D, and fPtrSolid.

Referenced by Clone().

+ Here is the caller graph for this function:

G4ReflectedSolid::~G4ReflectedSolid ( )
virtual

Definition at line 68 of file G4ReflectedSolid.cc.

References fDirectTransform3D, and fpPolyhedron.

G4ReflectedSolid::G4ReflectedSolid ( const G4ReflectedSolid &  rhs)

Definition at line 77 of file G4ReflectedSolid.cc.

References fDirectTransform3D.

Member Function Documentation

G4bool G4ReflectedSolid::CalculateExtent ( const EAxis  pAxis,
const G4VoxelLimits &  pVoxelLimit,
const G4AffineTransform &  pTransform,
G4double &  pMin,
G4double &  pMax 
) const
virtual

Implements G4VSolid.

Definition at line 217 of file G4ReflectedSolid.cc.

References G4VoxelLimits::AddLimit(), G4VSolid::CalculateExtent(), fPtrSolid, G4VoxelLimits::GetMaxXExtent(), G4VoxelLimits::GetMaxYExtent(), G4VoxelLimits::GetMaxZExtent(), G4VoxelLimits::GetMinXExtent(), G4VoxelLimits::GetMinYExtent(), G4VoxelLimits::GetMinZExtent(), kXAxis, kYAxis, and kZAxis.

+ Here is the call graph for this function:

G4VSolid * G4ReflectedSolid::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 371 of file G4ReflectedSolid.cc.

References G4ReflectedSolid().

+ Here is the call graph for this function:

void G4ReflectedSolid::ComputeDimensions ( G4VPVParameterisation *  p,
const G4int  n,
const G4VPhysicalVolume *  pRep 
)
virtual

Reimplemented from G4VSolid.

Definition at line 346 of file G4ReflectedSolid.cc.

References G4VSolid::DumpInfo(), FatalException, and G4Exception().

+ Here is the call graph for this function:

G4Polyhedron * G4ReflectedSolid::CreatePolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 418 of file G4ReflectedSolid.cc.

References G4VSolid::CreatePolyhedron(), fDirectTransform3D, fPtrSolid, G4endl, G4Exception(), G4VSolid::GetName(), and JustWarning.

Referenced by GetPolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ReflectedSolid::DescribeYourselfTo ( G4VGraphicsScene &  scene) const
virtual

Implements G4VSolid.

Definition at line 408 of file G4ReflectedSolid.cc.

References G4VGraphicsScene::AddSolid().

+ Here is the call graph for this function:

G4double G4ReflectedSolid::DistanceToIn ( const G4ThreeVector &  p,
const G4ThreeVector &  v 
) const
virtual

Implements G4VSolid.

Definition at line 285 of file G4ReflectedSolid.cc.

References G4VSolid::DistanceToIn(), and fPtrSolid.

+ Here is the call graph for this function:

G4double G4ReflectedSolid::DistanceToIn ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 299 of file G4ReflectedSolid.cc.

References G4VSolid::DistanceToIn(), and fPtrSolid.

+ Here is the call graph for this function:

G4double G4ReflectedSolid::DistanceToOut ( const G4ThreeVector &  p,
const G4ThreeVector &  v,
const G4bool  calcNorm = false,
G4bool *  validNorm = 0,
G4ThreeVector *  n = 0 
) const
virtual

Implements G4VSolid.

Definition at line 310 of file G4ReflectedSolid.cc.

References G4VSolid::DistanceToOut(), and fPtrSolid.

+ Here is the call graph for this function:

G4double G4ReflectedSolid::DistanceToOut ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 335 of file G4ReflectedSolid.cc.

References G4VSolid::DistanceToOut(), and fPtrSolid.

+ Here is the call graph for this function:

void G4ReflectedSolid::Extent ( G4ThreeVector &  pMin,
G4ThreeVector &  pMax 
) const
virtual

Reimplemented from G4VSolid.

Definition at line 155 of file G4ReflectedSolid.cc.

References G4VSolid::CalculateExtent(), G4VSolid::DumpInfo(), G4VSolid::Extent(), fDirectTransform3D, fPtrSolid, G4Exception(), G4VSolid::GetName(), JustWarning, kXAxis, kYAxis, and kZAxis.

+ Here is the call graph for this function:

G4VSolid * G4ReflectedSolid::GetConstituentMovedSolid ( ) const

Definition at line 126 of file G4ReflectedSolid.cc.

References fPtrSolid.

Referenced by G4tgbGeometryDumper::DumpSolid().

+ Here is the caller graph for this function:

G4Transform3D G4ReflectedSolid::GetDirectTransform3D ( ) const

Definition at line 139 of file G4ReflectedSolid.cc.

References fDirectTransform3D.

G4GeometryType G4ReflectedSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 111 of file G4ReflectedSolid.cc.

Referenced by StreamInfo().

+ Here is the caller graph for this function:

G4ThreeVector G4ReflectedSolid::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 361 of file G4ReflectedSolid.cc.

References fDirectTransform3D, fPtrSolid, and G4VSolid::GetPointOnSurface().

+ Here is the call graph for this function:

G4Polyhedron * G4ReflectedSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 443 of file G4ReflectedSolid.cc.

References CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, and G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation().

+ Here is the call graph for this function:

const G4ReflectedSolid * G4ReflectedSolid::GetReflectedSolidPtr ( ) const
virtual

Definition at line 116 of file G4ReflectedSolid.cc.

G4ReflectedSolid * G4ReflectedSolid::GetReflectedSolidPtr ( )
virtual

Definition at line 121 of file G4ReflectedSolid.cc.

G4Transform3D G4ReflectedSolid::GetTransform3D ( ) const

Definition at line 134 of file G4ReflectedSolid.cc.

References fDirectTransform3D.

EInside G4ReflectedSolid::Inside ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 262 of file G4ReflectedSolid.cc.

References fPtrSolid, and G4VSolid::Inside().

+ Here is the call graph for this function:

G4ReflectedSolid & G4ReflectedSolid::operator= ( const G4ReflectedSolid &  rhs)

Definition at line 87 of file G4ReflectedSolid.cc.

References fDirectTransform3D, fpPolyhedron, fPtrSolid, fRebuildPolyhedron, and G4VSolid::operator=().

+ Here is the call graph for this function:

void G4ReflectedSolid::SetDirectTransform3D ( G4Transform3D &  transform)

Definition at line 145 of file G4ReflectedSolid.cc.

References fDirectTransform3D, and fRebuildPolyhedron.

std::ostream & G4ReflectedSolid::StreamInfo ( std::ostream &  os) const
virtual

Implements G4VSolid.

Definition at line 381 of file G4ReflectedSolid.cc.

References fDirectTransform3D, fPtrSolid, GetEntityType(), G4VSolid::GetName(), and G4VSolid::StreamInfo().

+ Here is the call graph for this function:

G4ThreeVector G4ReflectedSolid::SurfaceNormal ( const G4ThreeVector &  p) const
virtual

Implements G4VSolid.

Definition at line 273 of file G4ReflectedSolid.cc.

References fDirectTransform3D, fPtrSolid, CLHEP::normal(), and G4VSolid::SurfaceNormal().

+ Here is the call graph for this function:

Member Data Documentation

G4Polyhedron* G4ReflectedSolid::fpPolyhedron
mutableprotected

Definition at line 131 of file G4ReflectedSolid.hh.

Referenced by GetPolyhedron(), operator=(), and ~G4ReflectedSolid().

G4bool G4ReflectedSolid::fRebuildPolyhedron
mutableprotected

Definition at line 130 of file G4ReflectedSolid.hh.

Referenced by GetPolyhedron(), operator=(), and SetDirectTransform3D().


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