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)
 
G4VSolid * GetUnscaledSolid () const
 
G4GeometryType GetEntityType () const
 
G4VSolid * Clone () const
 
std::ostream & StreamInfo (std::ostream &os) const
 
 G4ScaledSolid (__void__ &)
 
 G4ScaledSolid (const G4ScaledSolid &rhs)
 
G4ScaledSolid & operator= (const G4ScaledSolid &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
 

Private Attributes

G4VSolid * fPtrSolid
 
G4ScaleTransform * fScale
 
G4bool fRebuildPolyhedron
 
G4Polyhedron * fpPolyhedron
 

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: