G4Root Version 6.6
|
GEANT4 solid implemented by a ROOT shape. More...
#include <TG4RootSolid.h>
Public Member Functions | |
TG4RootSolid () | |
Default ctor. | |
TG4RootSolid (TGeoShape *shape) | |
virtual | ~TG4RootSolid () |
Destructor. | |
virtual G4bool | CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const |
virtual EInside | Inside (const G4ThreeVector &p) const |
virtual G4ThreeVector | SurfaceNormal (const G4ThreeVector &p) const |
virtual G4double | DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const |
virtual G4double | DistanceToIn (const G4ThreeVector &p) const |
virtual G4double | DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const |
virtual G4double | DistanceToOut (const G4ThreeVector &p) const |
virtual void | ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) |
virtual G4double | GetCubicVolume () |
virtual G4GeometryType | GetEntityType () const |
virtual G4ThreeVector | GetPointOnSurface () const |
virtual std::ostream & | StreamInfo (std::ostream &os) const |
virtual void | DescribeYourselfTo (G4VGraphicsScene &scene) const |
virtual G4VisExtent | GetExtent () const |
virtual G4Polyhedron * | CreatePolyhedron () const |
virtual G4NURBS * | CreateNURBS () const |
virtual G4Polyhedron * | GetPolyhedron () const |
virtual const G4VSolid * | GetConstituentSolid (G4int no) const |
virtual G4VSolid * | GetConstituentSolid (G4int no) |
virtual const G4DisplacedSolid * | GetDisplacedSolidPtr () const |
virtual G4DisplacedSolid * | GetDisplacedSolidPtr () |
Protected Attributes | |
TGeoShape * | fShape |
TGeo associated shape. | |
GEANT4 solid implemented by a ROOT shape.
Visualization methods not implemented.
Definition at line 31 of file TG4RootSolid.h.
|
inline |
Default ctor.
Definition at line 38 of file TG4RootSolid.h.
TG4RootSolid::TG4RootSolid | ( | TGeoShape * | shape | ) |
Constructor.
Definition at line 46 of file TG4RootSolid.cxx.
|
inlinevirtual |
Destructor.
Definition at line 40 of file TG4RootSolid.h.
|
virtual |
Calculate the minimum and maximum extent of the solid, when under the specified transform, and within the specified limits. If the solid is not intersected by the region, return false, else return true.
Definition at line 53 of file TG4RootSolid.cxx.
|
virtual |
Returns kOutside if the point at offset p is outside the shapes boundaries plus Tolerance/2, kSurface if the point is <= Tolerance/2 from a surface, otherwise kInside.
Definition at line 66 of file TG4RootSolid.cxx.
|
virtual |
Returns the outwards pointing unit normal of the shape for the surface closest to the point at offset p.
Definition at line 85 of file TG4RootSolid.cxx.
|
virtual |
Return the distance along the normalised vector v to the shape, from the point at offset p. If there is no intersection, return kInfinity. The first intersection resulting from ‘leaving’ a surface/volume is discarded. Hence, it is tolerant of points on the surface of the shape.
Definition at line 109 of file TG4RootSolid.cxx.
|
virtual |
Calculate the distance to the nearest surface of a shape from an outside point. The distance can be an underestimate.
Definition at line 130 of file TG4RootSolid.cxx.
|
virtual |
Return the distance along the normalised vector v to the shape, from a point at an offset p inside or on the surface of the shape. Intersections with surfaces, when the point is < Tolerance/2 from a surface must be ignored. If calcNorm==true: validNorm set true if the solid lies entirely behind or on the exiting surface. n set to exiting outwards normal vector (undefined Magnitude). validNorm set to false if the solid does not lie entirely behind or on the exiting surface If calcNorm==false: validNorm and n are unused.
Must be called as solid.DistanceToOut(p,v) or by specifying all the parameters.
Definition at line 143 of file TG4RootSolid.cxx.
|
virtual |
Calculate the distance to the nearest surface of a shape from an inside point. The distance can be an underestimate.
Definition at line 186 of file TG4RootSolid.cxx.
|
virtual |
Throw exception if ComputeDimensions called frrom an illegal derived class. It should not be called with this interface.
Definition at line 199 of file TG4RootSolid.cxx.
|
virtual |
Returns an estimation of the solid volume in internal units. This method may be overloaded by derived classes to compute the exact geometrical quantity for solids where this is possible, or anyway to cache the computed value. Note: the computed value is NOT cached.
Definition at line 209 of file TG4RootSolid.cxx.
|
virtual |
Provide identification of the class of an object. (required for persistency and STEP interface)
Definition at line 221 of file TG4RootSolid.cxx.
|
virtual |
Returns a random point located on the surface of the solid.
Definition at line 229 of file TG4RootSolid.cxx.
|
virtual |
Dumps contents of the solid to a stream.
Definition at line 238 of file TG4RootSolid.cxx.
|
virtual |
A "double dispatch" function which identifies the solid to the graphics scene.
Definition at line 260 of file TG4RootSolid.cxx.
|
virtual |
Provide extent (bounding box) as possible hint to the graphics view.
Definition at line 268 of file TG4RootSolid.cxx.
|
virtual |
Create polyhedron for the bounding box
Definition at line 282 of file TG4RootSolid.cxx.
Referenced by GetPolyhedron().
|
virtual |
Create a G4Polyhedron/G4NURBS/... (It is the caller's responsibility to delete it). A null pointer means "not created".
Definition at line 293 of file TG4RootSolid.cxx.
|
virtual |
Smart access function - creates on request and stores for future access. A null pointer means "not available".
Definition at line 302 of file TG4RootSolid.cxx.
|
virtual |
Dummy implementation
Definition at line 310 of file TG4RootSolid.cxx.
|
virtual |
If the solid is made up from a Boolean operation of two solids, return the "no" solid. If the solid is not a "Boolean", return 0.
Definition at line 317 of file TG4RootSolid.cxx.
|
virtual |
Dummy implementation
Definition at line 325 of file TG4RootSolid.cxx.
|
virtual |
Dummy implementation
Definition at line 332 of file TG4RootSolid.cxx.
|
protected |
TGeo associated shape.
Definition at line 35 of file TG4RootSolid.h.
Referenced by CreatePolyhedron(), DistanceToIn(), DistanceToIn(), DistanceToOut(), DistanceToOut(), GetCubicVolume(), GetEntityType(), GetExtent(), Inside(), StreamInfo(), and TG4RootSolid().