#include <G4VCSGfaceted.hh>
|
| G4VCSGfaceted (const G4String &name) |
|
virtual | ~G4VCSGfaceted () |
|
| G4VCSGfaceted (const G4VCSGfaceted &source) |
|
G4VCSGfaceted & | operator= (const G4VCSGfaceted &source) |
|
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 G4GeometryType | GetEntityType () const |
|
virtual std::ostream & | StreamInfo (std::ostream &os) const |
|
virtual G4Polyhedron * | CreatePolyhedron () const =0 |
|
virtual void | DescribeYourselfTo (G4VGraphicsScene &scene) const |
|
virtual G4VisExtent | GetExtent () const |
|
virtual G4Polyhedron * | GetPolyhedron () const |
|
G4int | GetCubVolStatistics () const |
|
G4double | GetCubVolEpsilon () const |
|
void | SetCubVolStatistics (G4int st) |
|
void | SetCubVolEpsilon (G4double ep) |
|
G4int | GetAreaStatistics () const |
|
G4double | GetAreaAccuracy () const |
|
void | SetAreaStatistics (G4int st) |
|
void | SetAreaAccuracy (G4double ep) |
|
virtual G4double | GetCubicVolume () |
|
virtual G4double | GetSurfaceArea () |
|
| G4VCSGfaceted (__void__ &) |
|
| G4VSolid (const G4String &name) |
|
virtual | ~G4VSolid () |
|
G4bool | operator== (const G4VSolid &s) const |
|
G4String | GetName () const |
|
void | SetName (const G4String &name) |
|
G4double | GetTolerance () const |
|
virtual void | Extent (G4ThreeVector &pMin, G4ThreeVector &pMax) const |
|
virtual void | ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) |
|
virtual G4ThreeVector | GetPointOnSurface () const |
|
virtual G4VSolid * | Clone () const |
|
void | DumpInfo () 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 |
|
|
virtual G4double | DistanceTo (const G4ThreeVector &p, const G4bool outgoing) const |
|
G4ThreeVector | GetPointOnSurfaceGeneric () const |
|
void | CopyStuff (const G4VCSGfaceted &source) |
|
void | DeleteStuff () |
|
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 |
|
Definition at line 53 of file G4VCSGfaceted.hh.
G4VCSGfaceted::G4VCSGfaceted |
( |
const G4String & |
name | ) |
|
Definition at line 69 of file G4VCSGfaceted.cc.
73 fStatistics(1000000), fCubVolEpsilon(0.001), fAreaAccuracy(-1.)
G4bool fRebuildPolyhedron
G4Polyhedron * fpPolyhedron
G4VSolid(const G4String &name)
G4VCSGfaceted::~G4VCSGfaceted |
( |
| ) |
|
|
virtual |
Definition at line 103 of file G4VCSGfaceted.cc.
106 fStatistics = source.fStatistics;
107 fCubVolEpsilon = source.fCubVolEpsilon;
108 fAreaAccuracy = source.fAreaAccuracy;
void CopyStuff(const G4VCSGfaceted &source)
G4VSolid(const G4String &name)
G4VCSGfaceted::G4VCSGfaceted |
( |
__void__ & |
a | ) |
|
Definition at line 82 of file G4VCSGfaceted.cc.
86 fStatistics(1000000), fCubVolEpsilon(0.001), fAreaAccuracy(-1.)
G4bool fRebuildPolyhedron
G4Polyhedron * fpPolyhedron
std::vector< ExP01TrackerHit * > a
G4VSolid(const G4String &name)
Implements G4VSolid.
Reimplemented in G4Polyhedra, G4Polycone, and G4GenericPolycone.
Definition at line 187 of file G4VCSGfaceted.cc.
207 return extentList.GetExtent(
min,
max );
T max(const T t1, const T t2)
brief Return the largest of the two arguments
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
virtual void CalculateExtent(const EAxis axis, const G4VoxelLimits &voxelLimit, const G4AffineTransform &tranform, G4SolidExtentList &extentList)=0
Definition at line 143 of file G4VCSGfaceted.cc.
151 **sourceFace = source.
faces;
154 *face = (*sourceFace)->
Clone();
G4bool fRebuildPolyhedron
G4Polyhedron * fpPolyhedron
virtual G4VCSGface * Clone()=0
virtual G4Polyhedron* G4VCSGfaceted::CreatePolyhedron |
( |
| ) |
const |
|
pure virtual |
void G4VCSGfaceted::DeleteStuff |
( |
| ) |
|
|
protected |
Definition at line 396 of file G4VCSGfaceted.cc.
403 G4double distance = (*face)->Distance( p, outgoing );
404 if (distance < best) { best = distance; }
static const G4double kInfinity
Implements G4VSolid.
Reimplemented in G4Polycone, G4Polyhedra, and G4GenericPolycone.
Definition at line 266 of file G4VCSGfaceted.cc.
280 faceDistance, faceDistFromSurface,
281 faceNormal, faceAllBehind ) )
286 if (faceDistance < distance)
288 distance = faceDistance;
289 distFromSurface = faceDistFromSurface;
291 if (distFromSurface <= 0) {
return 0; }
static const G4double kInfinity
virtual G4double Distance(const G4ThreeVector &p, G4bool outgoing)=0
Implements G4VSolid.
Definition at line 317 of file G4VCSGfaceted.cc.
337 faceDistance, faceDistFromSurface,
338 faceNormal, faceAllBehind ) )
343 if ( (distance <
kInfinity) || (!faceAllBehind) ) { allBehind =
false; }
344 if (faceDistance < distance)
346 distance = faceDistance;
347 distFromSurface = faceDistFromSurface;
350 if (distFromSurface <= 0) {
break; }
357 if (distFromSurface <= 0)
368 *validNorm = allBehind;
375 if (calcNorm) { *validNorm =
false; }
static const G4double kInfinity
static double normal(HepRandomEngine *eptr)
virtual EInside Inside(const G4ThreeVector &p) const
virtual G4double Distance(const G4ThreeVector &p, G4bool outgoing)=0
Implements G4VSolid.
Definition at line 385 of file G4VCSGfaceted.cc.
virtual G4double DistanceTo(const G4ThreeVector &p, const G4bool outgoing) const
G4double G4VCSGfaceted::GetAreaAccuracy |
( |
| ) |
const |
G4int G4VCSGfaceted::GetAreaStatistics |
( |
| ) |
const |
G4double G4VCSGfaceted::GetCubicVolume |
( |
| ) |
|
|
virtual |
Reimplemented from G4VSolid.
Definition at line 561 of file G4VCSGfaceted.cc.
G4double EstimateCubicVolume(G4int nStat, G4double epsilon) const
G4double G4VCSGfaceted::GetCubVolEpsilon |
( |
| ) |
const |
G4int G4VCSGfaceted::GetCubVolStatistics |
( |
| ) |
const |
Reimplemented from G4VSolid.
Definition at line 425 of file G4VCSGfaceted.cc.
428 yMax(0,1,0), yMin(0,-1,0),
429 zMax(0,0,1), zMin(0,0,-1);
431 { &xMin, &xMax, &yMin, &yMax, &zMin, &zMax };
443 G4double testFace = (*face)->Extent( **axis );
444 if (testFace > *answer) { *answer = testFace; }
446 while( --axis, --answer >= answers );
451 -answers[2], answers[3],
452 -answers[4], answers[5] );
static const G4double kInfinity
Definition at line 604 of file G4VCSGfaceted.cc.
612 std::vector<G4double> areas;
619 areas.push_back(result);
628 Achose1=0; Achose2=0.;
634 if(chose>=Achose1 && chose<Achose2)
637 point= (*face1)->GetPointOnFace();
G4double G4ParticleHPJENDLHEData::G4double result
CLHEP::Hep3Vector G4ThreeVector
Reimplemented from G4VSolid.
Definition at line 583 of file G4VCSGfaceted.cc.
G4bool fRebuildPolyhedron
G4Polyhedron * fpPolyhedron
virtual G4Polyhedron * CreatePolyhedron() const =0
static G4int GetNumberOfRotationSteps()
G4int GetNumberOfRotationStepsAtTimeOfCreation() const
G4double G4VCSGfaceted::GetSurfaceArea |
( |
| ) |
|
|
virtual |
Reimplemented from G4VSolid.
Definition at line 572 of file G4VCSGfaceted.cc.
G4double EstimateSurfaceArea(G4int nStat, G4double ell) const
Definition at line 117 of file G4VCSGfaceted.cc.
119 if (&source ==
this) {
return *
this; }
127 fStatistics = source.fStatistics;
128 fCubVolEpsilon = source.fCubVolEpsilon;
129 fAreaAccuracy = source.fAreaAccuracy;
void CopyStuff(const G4VCSGfaceted &source)
G4VSolid & operator=(const G4VSolid &rhs)
void G4VCSGfaceted::SetAreaStatistics |
( |
G4int |
st | ) |
|
void G4VCSGfaceted::SetCubVolStatistics |
( |
G4int |
st | ) |
|
std::ostream & G4VCSGfaceted::StreamInfo |
( |
std::ostream & |
os | ) |
const |
|
virtual |
Implements G4VSolid.
Reimplemented in G4Polyhedra, G4Polycone, and G4GenericPolycone.
Definition at line 468 of file G4VCSGfaceted.cc.
470 os <<
"-----------------------------------------------------------\n"
471 <<
" *** Dump for solid - " <<
GetName() <<
" ***\n"
472 <<
" ===================================================\n"
473 <<
" Solid type: G4VCSGfaceted\n"
475 <<
" number of faces: " <<
numFace <<
"\n"
476 <<
"-----------------------------------------------------------\n";
Implements G4VSolid.
Definition at line 243 of file G4VCSGfaceted.cc.
static const G4double kInfinity
static double normal(HepRandomEngine *eptr)
G4bool G4VCSGfaceted::fRebuildPolyhedron |
|
mutableprotected |
G4int G4VCSGfaceted::numFace |
|
protected |
The documentation for this class was generated from the following files: