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

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/Boolean/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
 
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=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)
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Attributes

G4VSolid * fPtrSolid = nullptr
 
G4AffineTransform * fPtrTransform = nullptr
 
G4AffineTransform * fDirectTransform = nullptr
 
G4bool fRebuildPolyhedron = false
 
G4Polyhedron * fpPolyhedron = nullptr
 
- 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
 

Detailed Description

Definition at line 45 of file G4DisplacedSolid.hh.

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

Constructor & Destructor Documentation

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

Definition at line 47 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 47 of file G4DisplacedSolid.cc

References fDirectTransform, fPtrSolid, fPtrTransform, G4VSolid::GetEntityType(), G4AffineTransform::Inverse(), t1, and t2.

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 72 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 72 of file G4DisplacedSolid.cc

References fDirectTransform, fPtrSolid, fPtrTransform, G4VSolid::GetEntityType(), HepGeom::Transform3D::getRotation(), HepGeom::Transform3D::getTranslation(), G4AffineTransform::Inverse(), CLHEP::HepRotation::inverse(), t1, and t2.

+ Here is the call graph for this function:

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

Definition at line 99 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 99 of file G4DisplacedSolid.cc

References fDirectTransform, fPtrSolid, fPtrTransform, G4VSolid::GetEntityType(), G4AffineTransform::Inverse(), t1, and t2.

+ Here is the call graph for this function:

G4DisplacedSolid::~G4DisplacedSolid ( )
virtual

Definition at line 133 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 133 of file G4DisplacedSolid.cc

References CleanTransformations(), and fpPolyhedron.

+ Here is the call graph for this function:

G4DisplacedSolid::G4DisplacedSolid ( __void__ &  a)

Definition at line 124 of file G4DisplacedSolid.cc.

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

G4DisplacedSolid::G4DisplacedSolid ( const G4DisplacedSolid &  rhs)

Definition at line 143 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 143 of file G4DisplacedSolid.cc

References fDirectTransform, and fPtrTransform.

Member Function Documentation

void G4DisplacedSolid::BoundingLimits ( G4ThreeVector &  pMin,
G4ThreeVector &  pMax 
) const
virtual

Reimplemented from G4VSolid.

Definition at line 286 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 286 of file G4DisplacedSolid.cc

References G4VSolid::BoundingLimits(), G4VSolid::CalculateExtent(), G4VSolid::DumpInfo(), fDirectTransform, fPtrSolid, G4Exception(), G4VSolid::GetName(), G4AffineTransform::IsRotated(), JustWarning, kXAxis, kYAxis, kZAxis, message(), G4AffineTransform::NetTranslation(), offset, pMax, CLHEP::Hep3Vector::set(), CLHEP::Hep3Vector::x(), xmax, xmin, CLHEP::Hep3Vector::y(), ymax, ymin, and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 331 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 331 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 176 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 176 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 463 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 463 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 428 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 428 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 509 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 509 of file G4DisplacedSolid.cc

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

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 499 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 499 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 369 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 369 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 383 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 383 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 394 of file G4DisplacedSolid.cc.

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

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

View newest version in sPHENIX GitHub at line 195 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 216 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 216 of file G4DisplacedSolid.cc

References Acts::aTransform, and fDirectTransform.

const G4DisplacedSolid * G4DisplacedSolid::GetDisplacedSolidPtr ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 185 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 185 of file G4DisplacedSolid.cc

G4DisplacedSolid * G4DisplacedSolid::GetDisplacedSolidPtr ( )
virtual

Reimplemented from G4VSolid.

Definition at line 190 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 190 of file G4DisplacedSolid.cc

G4GeometryType G4DisplacedSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Definition at line 454 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 454 of file G4DisplacedSolid.cc

Referenced by StreamInfo().

+ Here is the caller graph for this function:

G4RotationMatrix G4DisplacedSolid::GetFrameRotation ( ) const

Definition at line 230 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 230 of file G4DisplacedSolid.cc

References fDirectTransform, and G4AffineTransform::NetRotation().

+ Here is the call graph for this function:

G4ThreeVector G4DisplacedSolid::GetFrameTranslation ( ) const

Definition at line 244 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 244 of file G4DisplacedSolid.cc

References fPtrTransform, and G4AffineTransform::NetTranslation().

+ Here is the call graph for this function:

G4RotationMatrix G4DisplacedSolid::GetObjectRotation ( ) const

Definition at line 257 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 257 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 271 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 271 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 444 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 444 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 531 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 531 of file G4DisplacedSolid.cc

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

Referenced by G4MultiUnion::CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4AffineTransform G4DisplacedSolid::GetTransform ( ) const

Definition at line 202 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 202 of file G4DisplacedSolid.cc

References Acts::aTransform, and fPtrTransform.

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

Implements G4VSolid.

Definition at line 346 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 346 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 154 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 154 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 222 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 222 of file G4DisplacedSolid.cc

References fDirectTransform, fRebuildPolyhedron, and Acts::Test::transform.

void G4DisplacedSolid::SetFrameRotation ( const G4RotationMatrix &  matrix)

Definition at line 236 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 236 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 249 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 249 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 263 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 263 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 276 of file G4DisplacedSolid.cc.

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

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

References fPtrTransform, fRebuildPolyhedron, and Acts::Test::transform.

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

Implements G4VSolid.

Definition at line 472 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 472 of file G4DisplacedSolid.cc

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

+ Here is the call graph for this function:

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

Implements G4VSolid.

Definition at line 357 of file G4DisplacedSolid.cc.

View newest version in sPHENIX GitHub at line 357 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 = nullptr
mutableprotected

Definition at line 159 of file G4DisplacedSolid.hh.

View newest version in sPHENIX GitHub at line 159 of file G4DisplacedSolid.hh

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

G4VSolid* G4DisplacedSolid::fPtrSolid = nullptr
protected
G4AffineTransform* G4DisplacedSolid::fPtrTransform = nullptr
protected
G4bool G4DisplacedSolid::fRebuildPolyhedron = false
mutableprotected

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