Geant4  10.03
G4ScaledSolid Class Reference

#include <G4ScaledSolid.hh>

+ Inheritance diagram for G4ScaledSolid:
+ Collaboration diagram for G4ScaledSolid:

Public Member Functions

 G4ScaledSolid (const G4String &pName, G4VSolid *pSolid, const G4Scale3D &pScale)
 
virtual ~G4ScaledSolid ()
 
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)
 
void CleanTransformations ()
 
G4ThreeVector GetPointOnSurface () const
 
G4Scale3D GetScaleTransform () const
 
void SetScaleTransform (const G4Scale3D &scale)
 
G4VSolidGetUnscaledSolid () const
 
G4GeometryType GetEntityType () const
 
G4VSolidClone () const
 
std::ostream & StreamInfo (std::ostream &os) const
 
 G4ScaledSolid (__void__ &)
 
 G4ScaledSolid (const G4ScaledSolid &rhs)
 
G4ScaledSolidoperator= (const G4ScaledSolid &rhs)
 
void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
G4PolyhedronCreatePolyhedron () const
 
G4PolyhedronGetPolyhedron () 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 G4VSolidGetConstituentSolid (G4int no) const
 
virtual G4VSolidGetConstituentSolid (G4int no)
 
virtual const G4DisplacedSolidGetDisplacedSolidPtr () const
 
virtual G4DisplacedSolidGetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolidoperator= (const G4VSolid &rhs)
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Private Attributes

G4VSolidfPtrSolid
 
G4ScaleTransformfScale
 
G4bool fRebuildPolyhedron
 
G4PolyhedronfpPolyhedron
 

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
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Detailed Description

Definition at line 52 of file G4ScaledSolid.hh.

Constructor & Destructor Documentation

G4ScaledSolid::G4ScaledSolid ( const G4String pName,
G4VSolid pSolid,
const G4Scale3D pScale 
)

Definition at line 51 of file G4ScaledSolid.cc.

References fScale.

Referenced by Clone().

+ Here is the caller graph for this function:

G4ScaledSolid::~G4ScaledSolid ( )
virtual

Definition at line 75 of file G4ScaledSolid.cc.

References fpPolyhedron, and fScale.

G4ScaledSolid::G4ScaledSolid ( __void__ &  a)

Definition at line 65 of file G4ScaledSolid.cc.

G4ScaledSolid::G4ScaledSolid ( const G4ScaledSolid rhs)

Definition at line 85 of file G4ScaledSolid.cc.

References fScale.

Member Function Documentation

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

Implements G4VSolid.

Definition at line 159 of file G4ScaledSolid.cc.

References G4BoundingEnvelope::CalculateExtent(), G4VSolid::Extent(), fPtrSolid, GetScaleTransform(), G4AffineTransform::NetRotation(), and G4AffineTransform::NetTranslation().

+ Here is the call graph for this function:

void G4ScaledSolid::CleanTransformations ( )
G4VSolid * G4ScaledSolid::Clone ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 337 of file G4ScaledSolid.cc.

References G4ScaledSolid().

+ Here is the call graph for this function:

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

Reimplemented from G4VSolid.

Definition at line 304 of file G4ScaledSolid.cc.

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

+ Here is the call graph for this function:

G4Polyhedron * G4ScaledSolid::CreatePolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 403 of file G4ScaledSolid.cc.

References G4VSolid::CreatePolyhedron(), fPtrSolid, and GetScaleTransform().

Referenced by GetPolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ScaledSolid::DescribeYourselfTo ( G4VGraphicsScene scene) const
virtual

Implements G4VSolid.

Definition at line 393 of file G4ScaledSolid.cc.

References G4VGraphicsScene::AddSolid().

+ Here is the call graph for this function:

G4double G4ScaledSolid::DistanceToIn ( const G4ThreeVector p,
const G4ThreeVector v 
) const
virtual

Implements G4VSolid.

Definition at line 213 of file G4ScaledSolid.cc.

References G4VSolid::DistanceToIn(), fPtrSolid, fScale, G4ScaleTransform::InverseTransformDistance(), and G4ScaleTransform::Transform().

+ Here is the call graph for this function:

G4double G4ScaledSolid::DistanceToIn ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 237 of file G4ScaledSolid.cc.

References G4VSolid::DistanceToIn(), fPtrSolid, fScale, G4ScaleTransform::InverseTransformDistance(), and G4ScaleTransform::Transform().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 253 of file G4ScaledSolid.cc.

References G4VSolid::DistanceToOut(), fPtrSolid, fScale, G4ScaleTransform::InverseTransformDistance(), CLHEP::normal(), G4ScaleTransform::Transform(), and G4ScaleTransform::TransformNormal().

+ Here is the call graph for this function:

G4double G4ScaledSolid::DistanceToOut ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 288 of file G4ScaledSolid.cc.

References G4VSolid::DistanceToOut(), fPtrSolid, fScale, G4ScaleTransform::InverseTransformDistance(), and G4ScaleTransform::Transform().

+ Here is the call graph for this function:

void G4ScaledSolid::Extent ( G4ThreeVector pMin,
G4ThreeVector pMax 
) const
virtual

Reimplemented from G4VSolid.

Definition at line 130 of file G4ScaledSolid.cc.

References G4VSolid::DumpInfo(), G4VSolid::Extent(), fPtrSolid, fScale, G4Exception(), G4VSolid::GetName(), G4ScaleTransform::GetScale(), and JustWarning.

+ Here is the call graph for this function:

G4GeometryType G4ScaledSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 328 of file G4ScaledSolid.cc.

Referenced by StreamInfo().

+ Here is the caller graph for this function:

G4ThreeVector G4ScaledSolid::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 319 of file G4ScaledSolid.cc.

References fPtrSolid, fScale, G4VSolid::GetPointOnSurface(), and G4ScaleTransform::InverseTransform().

+ Here is the call graph for this function:

G4Polyhedron * G4ScaledSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 414 of file G4ScaledSolid.cc.

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

+ Here is the call graph for this function:

G4Scale3D G4ScaledSolid::GetScaleTransform ( ) const

Definition at line 346 of file G4ScaledSolid.cc.

References fScale, and G4ScaleTransform::GetScale().

Referenced by CalculateExtent(), CreatePolyhedron(), and G4GDMLWriteSolids::ScaledWrite().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VSolid * G4ScaledSolid::GetUnscaledSolid ( ) const

Definition at line 121 of file G4ScaledSolid.cc.

References fPtrSolid.

Referenced by G4GDMLWriteSolids::ScaledWrite().

+ Here is the caller graph for this function:

EInside G4ScaledSolid::Inside ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 183 of file G4ScaledSolid.cc.

References fPtrSolid, fScale, G4VSolid::Inside(), and G4ScaleTransform::Transform().

+ Here is the call graph for this function:

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

Definition at line 96 of file G4ScaledSolid.cc.

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

+ Here is the call graph for this function:

void G4ScaledSolid::SetScaleTransform ( const G4Scale3D scale)

Definition at line 357 of file G4ScaledSolid.cc.

References fRebuildPolyhedron, and fScale.

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

Implements G4VSolid.

Definition at line 368 of file G4ScaledSolid.cc.

References fPtrSolid, fScale, GetEntityType(), G4VSolid::GetName(), G4ScaleTransform::GetScale(), and G4VSolid::StreamInfo().

+ Here is the call graph for this function:

G4ThreeVector G4ScaledSolid::SurfaceNormal ( const G4ThreeVector p) const
virtual

Implements G4VSolid.

Definition at line 193 of file G4ScaledSolid.cc.

References fPtrSolid, fScale, G4ScaleTransform::InverseTransformNormal(), CLHEP::normal(), G4VSolid::SurfaceNormal(), and G4ScaleTransform::Transform().

+ Here is the call graph for this function:

Member Data Documentation

G4Polyhedron* G4ScaledSolid::fpPolyhedron
mutableprivate

Definition at line 125 of file G4ScaledSolid.hh.

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

G4bool G4ScaledSolid::fRebuildPolyhedron
mutableprivate

Definition at line 124 of file G4ScaledSolid.hh.

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


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