Geant4  10.01
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
 
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
 
void SetTransform3D (G4Transform3D &)
 
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)
 

Protected Member Functions

G4AffineTransform GetTransform () const
 
void SetTransform (G4AffineTransform &)
 
G4AffineTransform GetDirectTransform () const
 
void SetDirectTransform (G4AffineTransform &)
 
G4RotationMatrix GetFrameRotation () const
 
void SetFrameRotation (const G4RotationMatrix &)
 
G4ThreeVector GetFrameTranslation () const
 
void SetFrameTranslation (const G4ThreeVector &)
 
G4RotationMatrix GetObjectRotation () const
 
void SetObjectRotation (const G4RotationMatrix &)
 
G4ThreeVector GetObjectTranslation () const
 
void SetObjectTranslation (const G4ThreeVector &)
 
- 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

G4VSolid * fPtrSolid
 
G4AffineTransform * fPtrTransform
 
G4AffineTransform * fDirectTransform
 
G4Transform3D * fPtrTransform3D
 
G4Transform3D * fDirectTransform3D
 
G4Polyhedron * fpPolyhedron
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Detailed Description

Definition at line 51 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 fDirectTransform, fDirectTransform3D, fPtrSolid, fPtrTransform, fPtrTransform3D, and G4AffineTransform::Invert().

Referenced by Clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ReflectedSolid::~G4ReflectedSolid ( )
virtual
G4ReflectedSolid::G4ReflectedSolid ( const G4ReflectedSolid &  rhs)

Member Function Documentation

G4VSolid * G4ReflectedSolid::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 559 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 532 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 606 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 596 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 460 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 477 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 489 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 520 of file G4ReflectedSolid.cc.

References G4VSolid::DistanceToOut(), and fPtrSolid.

+ Here is the call graph for this function:

G4VSolid * G4ReflectedSolid::GetConstituentMovedSolid ( ) const

Definition at line 150 of file G4ReflectedSolid.cc.

References fPtrSolid.

Referenced by G4tgbGeometryDumper::DumpSolid().

+ Here is the caller graph for this function:

G4AffineTransform G4ReflectedSolid::GetDirectTransform ( ) const
protected

Definition at line 171 of file G4ReflectedSolid.cc.

References fDirectTransform.

G4Transform3D G4ReflectedSolid::GetDirectTransform3D ( ) const

Definition at line 199 of file G4ReflectedSolid.cc.

References fDirectTransform3D.

G4GeometryType G4ReflectedSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 135 of file G4ReflectedSolid.cc.

Referenced by StreamInfo().

+ Here is the caller graph for this function:

G4RotationMatrix G4ReflectedSolid::GetFrameRotation ( ) const
protected

Definition at line 213 of file G4ReflectedSolid.cc.

References fDirectTransform, and G4AffineTransform::NetRotation().

+ Here is the call graph for this function:

G4ThreeVector G4ReflectedSolid::GetFrameTranslation ( ) const
protected

Definition at line 226 of file G4ReflectedSolid.cc.

References fPtrTransform, and G4AffineTransform::NetTranslation().

+ Here is the call graph for this function:

G4RotationMatrix G4ReflectedSolid::GetObjectRotation ( ) const
protected

Definition at line 238 of file G4ReflectedSolid.cc.

References fPtrTransform, and G4AffineTransform::NetRotation().

+ Here is the call graph for this function:

G4ThreeVector G4ReflectedSolid::GetObjectTranslation ( ) const
protected

Definition at line 251 of file G4ReflectedSolid.cc.

References fDirectTransform, and G4AffineTransform::NetTranslation().

+ Here is the call graph for this function:

G4ThreeVector G4ReflectedSolid::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 547 of file G4ReflectedSolid.cc.

References fPtrSolid, and G4VSolid::GetPointOnSurface().

+ Here is the call graph for this function:

G4Polyhedron * G4ReflectedSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 631 of file G4ReflectedSolid.cc.

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

+ Here is the call graph for this function:

const G4ReflectedSolid * G4ReflectedSolid::GetReflectedSolidPtr ( ) const
virtual

Definition at line 140 of file G4ReflectedSolid.cc.

G4ReflectedSolid * G4ReflectedSolid::GetReflectedSolidPtr ( )
virtual

Definition at line 145 of file G4ReflectedSolid.cc.

G4AffineTransform G4ReflectedSolid::GetTransform ( ) const
protected

Definition at line 157 of file G4ReflectedSolid.cc.

References fPtrTransform.

G4Transform3D G4ReflectedSolid::GetTransform3D ( ) const

Definition at line 185 of file G4ReflectedSolid.cc.

References fPtrTransform3D.

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

Implements G4VSolid.

Definition at line 426 of file G4ReflectedSolid.cc.

References fPtrSolid, and G4VSolid::Inside().

Referenced by CalculateExtent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 107 of file G4ReflectedSolid.cc.

References fDirectTransform, fDirectTransform3D, fpPolyhedron, fPtrSolid, fPtrTransform, fPtrTransform3D, and G4VSolid::operator=().

+ Here is the call graph for this function:

void G4ReflectedSolid::SetDirectTransform ( G4AffineTransform &  transform)
protected

Definition at line 177 of file G4ReflectedSolid.cc.

References fDirectTransform, and fpPolyhedron.

void G4ReflectedSolid::SetDirectTransform3D ( G4Transform3D &  transform)

Definition at line 205 of file G4ReflectedSolid.cc.

References fDirectTransform3D, and fpPolyhedron.

void G4ReflectedSolid::SetFrameRotation ( const G4RotationMatrix &  matrix)
protected

Definition at line 219 of file G4ReflectedSolid.cc.

References fDirectTransform, and G4AffineTransform::SetNetRotation().

+ Here is the call graph for this function:

void G4ReflectedSolid::SetFrameTranslation ( const G4ThreeVector &  vector)
protected

Definition at line 231 of file G4ReflectedSolid.cc.

References fPtrTransform, and G4AffineTransform::SetNetTranslation().

+ Here is the call graph for this function:

void G4ReflectedSolid::SetObjectRotation ( const G4RotationMatrix &  matrix)
protected

Definition at line 244 of file G4ReflectedSolid.cc.

References fPtrTransform, and G4AffineTransform::SetNetRotation().

+ Here is the call graph for this function:

void G4ReflectedSolid::SetObjectTranslation ( const G4ThreeVector &  vector)
protected

Definition at line 256 of file G4ReflectedSolid.cc.

References fDirectTransform, and G4AffineTransform::SetNetTranslation().

+ Here is the call graph for this function:

void G4ReflectedSolid::SetTransform ( G4AffineTransform &  transform)
protected

Definition at line 163 of file G4ReflectedSolid.cc.

References fpPolyhedron, and fPtrTransform.

void G4ReflectedSolid::SetTransform3D ( G4Transform3D &  transform)

Definition at line 191 of file G4ReflectedSolid.cc.

References fpPolyhedron, and fPtrTransform3D.

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

Implements G4VSolid.

Definition at line 569 of file G4ReflectedSolid.cc.

References fDirectTransform, fPtrSolid, GetEntityType(), G4VSolid::GetName(), G4AffineTransform::NetRotation(), G4AffineTransform::NetTranslation(), and G4VSolid::StreamInfo().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 442 of file G4ReflectedSolid.cc.

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

+ Here is the call graph for this function:

Member Data Documentation

G4Transform3D* G4ReflectedSolid::fDirectTransform3D
protected
G4Polyhedron* G4ReflectedSolid::fpPolyhedron
mutableprotected
G4Transform3D* G4ReflectedSolid::fPtrTransform3D
protected

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