ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ScaledSolid Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/Boolean/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 BoundingLimits (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=nullptr, G4ThreeVector *n=nullptr) const
 
G4double DistanceToOut (const G4ThreeVector &p) const
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
G4double GetCubicVolume ()
 
G4double GetSurfaceArea ()
 
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
 
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 = nullptr
 
G4ScaleTransformfScale = nullptr
 
G4double fCubicVolume = -1.0
 
G4double fSurfaceArea = -1.0
 
G4bool fRebuildPolyhedron = false
 
G4PolyhedronfpPolyhedron = nullptr
 

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 45 of file G4ScaledSolid.hh.

View newest version in sPHENIX GitHub at line 45 of file G4ScaledSolid.hh

Constructor & Destructor Documentation

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

Definition at line 45 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 45 of file G4ScaledSolid.cc

References fScale.

Referenced by Clone().

+ Here is the caller graph for this function:

G4ScaledSolid::~G4ScaledSolid ( )
virtual

Definition at line 67 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 67 of file G4ScaledSolid.cc

References fpPolyhedron, and fScale.

G4ScaledSolid::G4ScaledSolid ( __void__ &  a)

Definition at line 58 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 58 of file G4ScaledSolid.cc

G4ScaledSolid::G4ScaledSolid ( const G4ScaledSolid rhs)

Definition at line 77 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 77 of file G4ScaledSolid.cc

References fScale.

Member Function Documentation

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

Reimplemented from G4VSolid.

Definition at line 124 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 124 of file G4ScaledSolid.cc

References G4VSolid::BoundingLimits(), G4VSolid::DumpInfo(), fPtrSolid, fScale, G4Exception(), G4VSolid::GetName(), G4ScaleTransform::GetScale(), JustWarning, message(), pMax, scale, CLHEP::Hep3Vector::set(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 154 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 154 of file G4ScaledSolid.cc

References G4VSolid::BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), fPtrSolid, GetScaleTransform(), CLHEP::HepRotation::inverse(), 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 332 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 332 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 299 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 299 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 427 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 427 of file G4ScaledSolid.cc

References G4VSolid::CreatePolyhedron(), G4VSolid::DumpInfo(), fPtrSolid, G4Exception(), GetScaleTransform(), JustWarning, and HepPolyhedron::Transform().

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 417 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 417 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 208 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 208 of file G4ScaledSolid.cc

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

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 232 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 232 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 = nullptr,
G4ThreeVector n = nullptr 
) const
virtual

Implements G4VSolid.

Definition at line 248 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 248 of file G4ScaledSolid.cc

References G4VSolid::DistanceToOut(), fPtrSolid, fScale, G4ScaleTransform::InverseTransformDistance(), CLHEP::Hep3Vector::mag(), 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 283 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 283 of file G4ScaledSolid.cc

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

+ Here is the call graph for this function:

G4double G4ScaledSolid::GetCubicVolume ( )
virtual

Reimplemented from G4VSolid.

Definition at line 363 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 363 of file G4ScaledSolid.cc

References fCubicVolume, fPtrSolid, fScale, G4VSolid::GetCubicVolume(), G4ScaleTransform::GetScale(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

G4GeometryType G4ScaledSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 323 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 323 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 314 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 314 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 448 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 448 of file G4ScaledSolid.cc

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

+ Here is the call graph for this function:

G4Scale3D G4ScaledSolid::GetScaleTransform ( ) const

Definition at line 341 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 341 of file G4ScaledSolid.cc

References fScale, G4ScaleTransform::GetScale(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ScaledSolid::GetSurfaceArea ( )
virtual

Reimplemented from G4VSolid.

Definition at line 379 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 379 of file G4ScaledSolid.cc

References fSurfaceArea, and G4VSolid::GetSurfaceArea().

+ Here is the call graph for this function:

G4VSolid * G4ScaledSolid::GetUnscaledSolid ( ) const

Definition at line 115 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 115 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 178 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 178 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 88 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 88 of file G4ScaledSolid.cc

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

+ Here is the call graph for this function:

void G4ScaledSolid::SetScaleTransform ( const G4Scale3D scale)

Definition at line 352 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 352 of file G4ScaledSolid.cc

References fRebuildPolyhedron, and fScale.

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

Implements G4VSolid.

Definition at line 392 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 392 of file G4ScaledSolid.cc

References fPtrSolid, fScale, GetEntityType(), G4VSolid::GetName(), G4ScaleTransform::GetScale(), G4VSolid::StreamInfo(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 188 of file G4ScaledSolid.cc.

View newest version in sPHENIX GitHub at line 188 of file G4ScaledSolid.cc

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

+ Here is the call graph for this function:

Member Data Documentation

G4double G4ScaledSolid::fCubicVolume = -1.0
private

Definition at line 120 of file G4ScaledSolid.hh.

View newest version in sPHENIX GitHub at line 120 of file G4ScaledSolid.hh

Referenced by GetCubicVolume(), and operator=().

G4Polyhedron* G4ScaledSolid::fpPolyhedron = nullptr
mutableprivate

Definition at line 123 of file G4ScaledSolid.hh.

View newest version in sPHENIX GitHub at line 123 of file G4ScaledSolid.hh

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

G4VSolid* G4ScaledSolid::fPtrSolid = nullptr
private
G4bool G4ScaledSolid::fRebuildPolyhedron = false
mutableprivate

Definition at line 122 of file G4ScaledSolid.hh.

View newest version in sPHENIX GitHub at line 122 of file G4ScaledSolid.hh

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

G4ScaleTransform* G4ScaledSolid::fScale = nullptr
private
G4double G4ScaledSolid::fSurfaceArea = -1.0
private

Definition at line 121 of file G4ScaledSolid.hh.

View newest version in sPHENIX GitHub at line 121 of file G4ScaledSolid.hh

Referenced by GetSurfaceArea(), and operator=().


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