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)
 
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
 
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 = nullptr
 
G4ScaleTransform * fScale = nullptr
 
G4double fCubicVolume = -1.0
 
G4double fSurfaceArea = -1.0
 
G4bool fRebuildPolyhedron = false
 
G4Polyhedron * fpPolyhedron = 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: