Geant4  10.00.p03
G4DisplacedSolid Class Reference

#include <G4DisplacedSolid.hh>

+ Inheritance diagram for G4DisplacedSolid:
+ Collaboration diagram for G4DisplacedSolid:

Public Member Functions

 G4DisplacedSolid (const G4String &pName, G4VSolid *pSolid, G4RotationMatrix *rotMatrix, const G4ThreeVector &transVector)
 
 G4DisplacedSolid (const G4String &pName, G4VSolid *pSolid, const G4Transform3D &transform)
 
 G4DisplacedSolid (const G4String &pName, G4VSolid *pSolid, const G4AffineTransform directTransform)
 
virtual ~G4DisplacedSolid ()
 
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)
 
void CleanTransformations ()
 
G4ThreeVector GetPointOnSurface () const
 
G4GeometryType GetEntityType () const
 
G4VSolid * Clone () const
 
const G4DisplacedSolid * GetDisplacedSolidPtr () const
 
G4DisplacedSolid * GetDisplacedSolidPtr ()
 
G4VSolid * GetConstituentMovedSolid () const
 
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 &)
 
std::ostream & StreamInfo (std::ostream &os) const
 
 G4DisplacedSolid (__void__ &)
 
 G4DisplacedSolid (const G4DisplacedSolid &rhs)
 
G4DisplacedSolid & operator= (const G4DisplacedSolid &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)
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolid & operator= (const G4VSolid &rhs)
 

Protected Attributes

G4VSolid * fPtrSolid
 
G4AffineTransform * fPtrTransform
 
G4AffineTransform * fDirectTransform
 
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
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Detailed Description

Definition at line 53 of file G4DisplacedSolid.hh.

Constructor & Destructor Documentation

G4DisplacedSolid::G4DisplacedSolid ( const G4String &  pName,
G4VSolid *  pSolid,
G4RotationMatrix *  rotMatrix,
const G4ThreeVector &  transVector 
)

Definition at line 54 of file G4DisplacedSolid.cc.

References fDirectTransform, fPtrSolid, fPtrTransform, and G4AffineTransform::Invert().

Referenced by Clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 70 of file G4DisplacedSolid.cc.

References fDirectTransform, fPtrSolid, fPtrTransform, and G4AffineTransform::Invert().

+ Here is the call graph for this function:

G4DisplacedSolid::G4DisplacedSolid ( const G4String &  pName,
G4VSolid *  pSolid,
const G4AffineTransform  directTransform 
)

Definition at line 89 of file G4DisplacedSolid.cc.

References fDirectTransform, fPtrSolid, fPtrTransform, and G4AffineTransform::Inverse().

+ Here is the call graph for this function:

G4DisplacedSolid::~G4DisplacedSolid ( )
virtual

Definition at line 114 of file G4DisplacedSolid.cc.

References CleanTransformations(), and fpPolyhedron.

+ Here is the call graph for this function:

G4DisplacedSolid::G4DisplacedSolid ( __void__ &  a)

Definition at line 104 of file G4DisplacedSolid.cc.

G4DisplacedSolid::G4DisplacedSolid ( const G4DisplacedSolid &  rhs)

Definition at line 124 of file G4DisplacedSolid.cc.

References fDirectTransform, and fPtrTransform.

Member Function Documentation

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

Implements G4VSolid.

Definition at line 269 of file G4DisplacedSolid.cc.

References G4VSolid::CalculateExtent(), fDirectTransform, fPtrSolid, and G4AffineTransform::Product().

+ Here is the call graph for this function:

void G4DisplacedSolid::CleanTransformations ( )

Definition at line 158 of file G4DisplacedSolid.cc.

References fDirectTransform, and fPtrTransform.

Referenced by ~G4DisplacedSolid().

+ Here is the caller graph for this function:

G4VSolid * G4DisplacedSolid::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 401 of file G4DisplacedSolid.cc.

References G4DisplacedSolid().

+ Here is the call graph for this function:

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

Reimplemented from G4VSolid.

Definition at line 366 of file G4DisplacedSolid.cc.

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

+ Here is the call graph for this function:

G4Polyhedron * G4DisplacedSolid::CreatePolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 447 of file G4DisplacedSolid.cc.

References G4VSolid::CreatePolyhedron(), fPtrSolid, GetObjectRotation(), and GetObjectTranslation().

Referenced by GetPolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4VSolid.

Definition at line 437 of file G4DisplacedSolid.cc.

References G4VGraphicsScene::AddSolid().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 307 of file G4DisplacedSolid.cc.

References G4VSolid::DistanceToIn(), fPtrSolid, fPtrTransform, G4AffineTransform::TransformAxis(), and G4AffineTransform::TransformPoint().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 321 of file G4DisplacedSolid.cc.

References G4VSolid::DistanceToIn(), fPtrSolid, fPtrTransform, and G4AffineTransform::TransformPoint().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 332 of file G4DisplacedSolid.cc.

References G4VSolid::DistanceToOut(), fDirectTransform, fPtrSolid, fPtrTransform, G4AffineTransform::TransformAxis(), and G4AffineTransform::TransformPoint().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 355 of file G4DisplacedSolid.cc.

References G4VSolid::DistanceToOut(), fPtrSolid, fPtrTransform, and G4AffineTransform::TransformPoint().

+ Here is the call graph for this function:

G4VSolid * G4DisplacedSolid::GetConstituentMovedSolid ( ) const

Definition at line 177 of file G4DisplacedSolid.cc.

References fPtrSolid.

Referenced by G4tgbGeometryDumper::DumpBooleanVolume().

+ Here is the caller graph for this function:

G4AffineTransform G4DisplacedSolid::GetDirectTransform ( ) const

Definition at line 198 of file G4DisplacedSolid.cc.

References fDirectTransform.

const G4DisplacedSolid * G4DisplacedSolid::GetDisplacedSolidPtr ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 167 of file G4DisplacedSolid.cc.

G4DisplacedSolid * G4DisplacedSolid::GetDisplacedSolidPtr ( )
virtual

Reimplemented from G4VSolid.

Definition at line 172 of file G4DisplacedSolid.cc.

G4GeometryType G4DisplacedSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 392 of file G4DisplacedSolid.cc.

Referenced by StreamInfo().

+ Here is the caller graph for this function:

G4RotationMatrix G4DisplacedSolid::GetFrameRotation ( ) const

Definition at line 212 of file G4DisplacedSolid.cc.

References fDirectTransform, and G4AffineTransform::NetRotation().

+ Here is the call graph for this function:

G4ThreeVector G4DisplacedSolid::GetFrameTranslation ( ) const

Definition at line 226 of file G4DisplacedSolid.cc.

References fPtrTransform, and G4AffineTransform::NetTranslation().

+ Here is the call graph for this function:

G4RotationMatrix G4DisplacedSolid::GetObjectRotation ( ) const

Definition at line 239 of file G4DisplacedSolid.cc.

References fPtrTransform, and G4AffineTransform::NetRotation().

Referenced by CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4DisplacedSolid::GetObjectTranslation ( ) const

Definition at line 253 of file G4DisplacedSolid.cc.

References fDirectTransform, and G4AffineTransform::NetTranslation().

Referenced by CreatePolyhedron(), and G4tgbGeometryDumper::DumpBooleanVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4DisplacedSolid::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 382 of file G4DisplacedSolid.cc.

References fDirectTransform, fPtrSolid, G4VSolid::GetPointOnSurface(), and G4AffineTransform::TransformPoint().

+ Here is the call graph for this function:

G4Polyhedron * G4DisplacedSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 459 of file G4DisplacedSolid.cc.

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

+ Here is the call graph for this function:

G4AffineTransform G4DisplacedSolid::GetTransform ( ) const

Definition at line 184 of file G4DisplacedSolid.cc.

References fPtrTransform.

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

Implements G4VSolid.

Definition at line 284 of file G4DisplacedSolid.cc.

References fPtrSolid, fPtrTransform, G4VSolid::Inside(), and G4AffineTransform::TransformPoint().

+ Here is the call graph for this function:

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

Definition at line 136 of file G4DisplacedSolid.cc.

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

+ Here is the call graph for this function:

void G4DisplacedSolid::SetDirectTransform ( G4AffineTransform &  transform)

Definition at line 204 of file G4DisplacedSolid.cc.

References fDirectTransform, and fRebuildPolyhedron.

void G4DisplacedSolid::SetFrameRotation ( const G4RotationMatrix &  matrix)

Definition at line 218 of file G4DisplacedSolid.cc.

References fDirectTransform, fRebuildPolyhedron, and G4AffineTransform::SetNetRotation().

+ Here is the call graph for this function:

void G4DisplacedSolid::SetFrameTranslation ( const G4ThreeVector &  vector)

Definition at line 231 of file G4DisplacedSolid.cc.

References fPtrTransform, fRebuildPolyhedron, and G4AffineTransform::SetNetTranslation().

+ Here is the call graph for this function:

void G4DisplacedSolid::SetObjectRotation ( const G4RotationMatrix &  matrix)

Definition at line 245 of file G4DisplacedSolid.cc.

References fPtrTransform, fRebuildPolyhedron, and G4AffineTransform::SetNetRotation().

+ Here is the call graph for this function:

void G4DisplacedSolid::SetObjectTranslation ( const G4ThreeVector &  vector)

Definition at line 258 of file G4DisplacedSolid.cc.

References fDirectTransform, fRebuildPolyhedron, and G4AffineTransform::SetNetTranslation().

+ Here is the call graph for this function:

void G4DisplacedSolid::SetTransform ( G4AffineTransform &  transform)

Definition at line 190 of file G4DisplacedSolid.cc.

References fPtrTransform, and fRebuildPolyhedron.

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

Implements G4VSolid.

Definition at line 410 of file G4DisplacedSolid.cc.

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

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 295 of file G4DisplacedSolid.cc.

References fDirectTransform, fPtrSolid, fPtrTransform, CLHEP::normal(), G4VSolid::SurfaceNormal(), G4AffineTransform::TransformAxis(), and G4AffineTransform::TransformPoint().

+ Here is the call graph for this function:

Member Data Documentation

G4Polyhedron* G4DisplacedSolid::fpPolyhedron
mutableprotected

Definition at line 165 of file G4DisplacedSolid.hh.

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

G4bool G4DisplacedSolid::fRebuildPolyhedron
mutableprotected

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