#include <G4ScaledSolid.hh>
|
| 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 |
|
| 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 |
|
|
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 |
|
G4double | kCarTolerance |
|
Definition at line 52 of file G4ScaledSolid.hh.
Definition at line 51 of file G4ScaledSolid.cc.
54 :
G4VSolid(pName), fPtrSolid(pSolid),
55 fRebuildPolyhedron(
false), fpPolyhedron(0)
G4VSolid(const G4String &name)
G4ScaledSolid::~G4ScaledSolid |
( |
| ) |
|
|
virtual |
Definition at line 75 of file G4ScaledSolid.cc.
77 delete fpPolyhedron; fpPolyhedron= 0;
78 delete fScale; fScale= 0;
G4ScaledSolid::G4ScaledSolid |
( |
__void__ & |
a | ) |
|
Definition at line 65 of file G4ScaledSolid.cc.
66 :
G4VSolid(a), fPtrSolid(0), fScale(0),
67 fRebuildPolyhedron(
false), fpPolyhedron(0)
G4VSolid(const G4String &name)
Definition at line 85 of file G4ScaledSolid.cc.
86 :
G4VSolid (rhs), fPtrSolid(rhs.fPtrSolid),
87 fRebuildPolyhedron(
false), fpPolyhedron(0)
G4VSolid(const G4String &name)
Implements G4VSolid.
Definition at line 159 of file G4ScaledSolid.cc.
167 fPtrSolid->
Extent(bmin,bmax);
176 return bbox.CalculateExtent(pAxis,pVoxelLimit,transform3D,pMin,pMax);
G4Scale3D GetScaleTransform() const
HepRotation inverse() const
virtual void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const
void G4ScaledSolid::CleanTransformations |
( |
| ) |
|
G4VSolid * G4ScaledSolid::Clone |
( |
| ) |
const |
|
virtual |
Reimplemented from G4VSolid.
Definition at line 337 of file G4ScaledSolid.cc.
G4ScaledSolid(const G4String &pName, G4VSolid *pSolid, const G4Scale3D &pScale)
Reimplemented from G4VSolid.
Definition at line 304 of file G4ScaledSolid.cc.
311 "Method not applicable in this context!");
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Reimplemented from G4VSolid.
Definition at line 403 of file G4ScaledSolid.cc.
G4Scale3D GetScaleTransform() const
HepPolyhedron & Transform(const G4Transform3D &t)
virtual G4Polyhedron * CreatePolyhedron() const
Implements G4VSolid.
Definition at line 213 of file G4ScaledSolid.cc.
223 newDirection = newDirection/newDirection.
mag();
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
Implements G4VSolid.
Definition at line 237 of file G4ScaledSolid.cc.
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
Implements G4VSolid.
Definition at line 253 of file G4ScaledSolid.cc.
266 newDirection = newDirection/newDirection.
mag();
271 calcNorm,validNorm,&solNorm);
276 *n = normal/normal.
mag();
static double normal(HepRandomEngine *eptr)
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
Implements G4VSolid.
Definition at line 288 of file G4ScaledSolid.cc.
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
Reimplemented from G4VSolid.
Definition at line 130 of file G4ScaledSolid.cc.
135 fPtrSolid->
Extent(bmin,bmax);
136 pMin.
set(bmin.
x()*scale.
x(),bmin.
y()*scale.
y(),bmin.
z()*scale.
z());
137 pMax.
set(bmax.
x()*scale.
x(),bmax.
y()*scale.
y(),bmax.
z()*scale.
z());
141 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
143 std::ostringstream message;
144 message <<
"Bad bounding box (min >= max) for solid: "
146 <<
"\npMin = " << pMin
147 <<
"\npMax = " << pMax;
148 G4Exception(
"G4ScaledSolid::Extent()",
"GeomMgt0001",
void set(double x, double y, double z)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const
Reimplemented from G4VSolid.
Definition at line 414 of file G4ScaledSolid.cc.
417 fRebuildPolyhedron ||
422 fRebuildPolyhedron =
false;
G4Polyhedron * CreatePolyhedron() const
static G4int GetNumberOfRotationSteps()
G4int GetNumberOfRotationStepsAtTimeOfCreation() const
G4Scale3D G4ScaledSolid::GetScaleTransform |
( |
| ) |
const |
G4VSolid * G4ScaledSolid::GetUnscaledSolid |
( |
| ) |
const |
Definition at line 96 of file G4ScaledSolid.cc.
100 if (
this == &rhs) {
return *
this; }
108 fPtrSolid = rhs.fPtrSolid;
111 fRebuildPolyhedron =
false;
112 delete fpPolyhedron; fpPolyhedron= 0;
G4VSolid & operator=(const G4VSolid &rhs)
Definition at line 357 of file G4ScaledSolid.cc.
359 if (fScale) {
delete fScale; }
361 fRebuildPolyhedron =
true;
std::ostream & G4ScaledSolid::StreamInfo |
( |
std::ostream & |
os | ) |
const |
|
virtual |
Implements G4VSolid.
Definition at line 368 of file G4ScaledSolid.cc.
370 os <<
"-----------------------------------------------------------\n"
371 <<
" *** Dump for Scaled solid - " <<
GetName() <<
" ***\n"
372 <<
" ===================================================\n"
374 <<
" Parameters of constituent solid: \n"
375 <<
"===========================================================\n";
377 os <<
"===========================================================\n"
379 <<
" Scale transformation : \n"
383 <<
"===========================================================\n";
virtual std::ostream & StreamInfo(std::ostream &os) const =0
G4GeometryType GetEntityType() const
Implements G4VSolid.
Definition at line 193 of file G4ScaledSolid.cc.
205 return normal/normal.
mag();
static double normal(HepRandomEngine *eptr)
virtual G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const =0
The documentation for this class was generated from the following files: