Import Geant4 10.3.0 source tree
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Ellipsoid.hh 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4Ellipsoid.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -86,6 +86,7 @@ class G4Ellipsoid : public G4VSolid
|
||||
const G4int n,
|
||||
const G4VPhysicalVolume* pRep);
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
@@ -130,9 +131,6 @@ class G4Ellipsoid : public G4VSolid
|
||||
|
||||
protected: // without description
|
||||
|
||||
G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pT,
|
||||
G4int& noPV) const;
|
||||
|
||||
mutable G4bool fRebuildPolyhedron;
|
||||
mutable G4Polyhedron* fpPolyhedron;
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EllipticalCone.hh 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4EllipticalCone.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -109,10 +109,12 @@ class G4EllipticalCone : public G4VSolid
|
||||
|
||||
// Solid standard methods
|
||||
//
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pmin, G4double& pmax) const;
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
EInside Inside(const G4ThreeVector& p) const;
|
||||
|
||||
@@ -159,9 +161,6 @@ class G4EllipticalCone : public G4VSolid
|
||||
|
||||
protected: // without description
|
||||
|
||||
G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pT,
|
||||
G4int& noPV) const;
|
||||
|
||||
mutable G4bool fRebuildPolyhedron;
|
||||
mutable G4Polyhedron* fpPolyhedron;
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EllipticalTube.hh 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4EllipticalTube.hh 99781 2016-10-05 10:18:54Z gcosmo $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -66,6 +66,8 @@ class G4EllipticalTube : public G4VSolid
|
||||
|
||||
// Standard solid methods
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent( const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ExtrudedSolid.hh 95945 2016-03-03 09:54:38Z gcosmo $
|
||||
// $Id: G4ExtrudedSolid.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -130,6 +130,11 @@ class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
const G4bool calcNorm=false,
|
||||
G4bool *validNorm=0, G4ThreeVector *n=0) const;
|
||||
G4double DistanceToOut (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;
|
||||
G4GeometryType GetEntityType () const;
|
||||
G4VSolid* Clone() const;
|
||||
|
||||
@@ -148,7 +153,6 @@ class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
|
||||
private:
|
||||
|
||||
void CheckPolygon(G4String& removedVertices);
|
||||
void ComputeProjectionParameters();
|
||||
|
||||
G4ThreeVector GetVertex(G4int iz, G4int ind) const;
|
||||
@@ -177,7 +181,6 @@ class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
|
||||
G4bool AddGeneralPolygonFacets();
|
||||
G4bool MakeFacets();
|
||||
G4bool IsConvex() const;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -87,6 +87,12 @@ class G4GenericPolycone : public G4VCSGfaceted
|
||||
G4double DistanceToIn( const G4ThreeVector &p, const G4ThreeVector &v ) const;
|
||||
G4double DistanceToIn( 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 GetPointOnSurface() const;
|
||||
|
||||
G4GeometryType GetEntityType() const;
|
||||
@@ -101,10 +107,14 @@ class G4GenericPolycone : public G4VCSGfaceted
|
||||
|
||||
// Accessors
|
||||
|
||||
inline G4double GetStartPhi() const;
|
||||
inline G4double GetEndPhi() const;
|
||||
inline G4bool IsOpen() const;
|
||||
inline G4int GetNumRZCorner() const;
|
||||
inline G4double GetStartPhi() const;
|
||||
inline G4double GetEndPhi() const;
|
||||
inline G4double GetSinStartPhi() const;
|
||||
inline G4double GetCosStartPhi() const;
|
||||
inline G4double GetSinEndPhi() const;
|
||||
inline G4double GetCosEndPhi() const;
|
||||
inline G4bool IsOpen() const;
|
||||
inline G4int GetNumRZCorner() const;
|
||||
inline G4PolyconeSideRZ GetCorner(G4int index) const;
|
||||
|
||||
public: // without description
|
||||
@@ -139,7 +149,7 @@ class G4GenericPolycone : public G4VCSGfaceted
|
||||
G4double startPhi; // Starting phi value (0 < phiStart < 2pi)
|
||||
G4double endPhi; // end phi value (0 < endPhi-phiStart < 2pi)
|
||||
G4bool phiIsOpen; // true if there is a phi segment
|
||||
G4int numCorner; // number RZ points
|
||||
G4int numCorner; // number RZ points
|
||||
G4PolyconeSideRZ *corners; // corner r,z points
|
||||
|
||||
// Our quick test
|
||||
|
||||
@@ -46,6 +46,30 @@ G4double G4GenericPolycone::GetEndPhi() const
|
||||
return endPhi;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4GenericPolycone::GetSinStartPhi() const
|
||||
{
|
||||
return IsOpen() ? std::sin(startPhi) : 0;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4GenericPolycone::GetCosStartPhi() const
|
||||
{
|
||||
return IsOpen() ? std::cos(startPhi) : 1;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4GenericPolycone::GetSinEndPhi() const
|
||||
{
|
||||
return IsOpen() ? std::sin(endPhi) : 0;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4GenericPolycone::GetCosEndPhi() const
|
||||
{
|
||||
return IsOpen() ? std::cos(endPhi) : 1;
|
||||
}
|
||||
|
||||
inline
|
||||
G4bool G4GenericPolycone::IsOpen() const
|
||||
{
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GenericTrap.hh 95592 2016-02-16 10:48:01Z gcosmo $
|
||||
// $Id: G4GenericTrap.hh 99781 2016-10-05 10:18:54Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -120,6 +120,7 @@ class G4GenericTrap : public G4VSolid
|
||||
G4bool *validNorm = 0,
|
||||
G4ThreeVector *n = 0) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
@@ -165,8 +166,6 @@ class G4GenericTrap : public G4VSolid
|
||||
const G4TwoVector& c, const G4TwoVector& d) const;
|
||||
G4bool IsSegCrossingZ(const G4TwoVector& a, const G4TwoVector& b,
|
||||
const G4TwoVector& c, const G4TwoVector& d) const;
|
||||
G4ThreeVectorList* CreateRotatedVertices(const
|
||||
G4AffineTransform& pTransform) const;
|
||||
void ReorderVertices(std::vector<G4ThreeVector>& vertices) const;
|
||||
void ComputeBBox();
|
||||
inline G4ThreeVector GetMinimumBBox() const;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Hype.hh 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4Hype.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
// $Original: G4Hype.hh,v 1.0 1998/06/09 16:57:50 safai Exp $
|
||||
//
|
||||
//
|
||||
@@ -81,10 +81,12 @@ class G4Hype : public G4VSolid
|
||||
const G4int n,
|
||||
const G4VPhysicalVolume* pRep);
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pmin, G4double& pmax) const;
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
inline G4double GetInnerRadius () const;
|
||||
inline G4double GetOuterRadius () const;
|
||||
@@ -155,14 +157,6 @@ class G4Hype : public G4VSolid
|
||||
G4double r2, G4double tan2Phi, G4double s[2] );
|
||||
// intersection with hyperbolic surface
|
||||
|
||||
static void AddPolyToExtent( const G4ThreeVector &v0,
|
||||
const G4ThreeVector &v1,
|
||||
const G4ThreeVector &w1,
|
||||
const G4ThreeVector &w0,
|
||||
const G4VoxelLimits &voxelLimit,
|
||||
const EAxis axis,
|
||||
G4SolidExtentList &extentList );
|
||||
|
||||
protected:
|
||||
|
||||
G4double innerRadius;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Paraboloid.hh 92392 2015-08-31 14:07:02Z gcosmo $
|
||||
// $Id: G4Paraboloid.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -104,6 +104,7 @@ class G4Paraboloid : public G4VSolid
|
||||
//void ComputeDimensions( G4VPVParamerisation p,
|
||||
// const G4Int n,
|
||||
// const G4VPhysicalVolume* pRep );
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
@@ -152,9 +153,6 @@ class G4Paraboloid : public G4VSolid
|
||||
|
||||
private:
|
||||
|
||||
G4ThreeVectorList*
|
||||
CreateRotatedVertices(const G4AffineTransform& pTransform,
|
||||
G4int& noPolygonVertices) const;
|
||||
// Making this mutable to allow GetPointOnSurface to have access to
|
||||
// area function.
|
||||
mutable G4double fSurfaceArea;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PolyPhiFace.hh 66356 2012-12-18 09:02:32Z gcosmo $
|
||||
// $Id: G4PolyPhiFace.hh 101041 2016-11-04 09:39:24Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Polycone.hh 80048 2014-03-31 12:47:09Z gcosmo $
|
||||
// $Id: G4Polycone.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -107,6 +107,12 @@ class G4Polycone : public G4VCSGfaceted
|
||||
G4double DistanceToIn( const G4ThreeVector &p, const G4ThreeVector &v ) const;
|
||||
G4double DistanceToIn( 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 GetPointOnSurface() const;
|
||||
|
||||
void ComputeDimensions( G4VPVParameterisation* p,
|
||||
@@ -125,10 +131,14 @@ class G4Polycone : public G4VCSGfaceted
|
||||
|
||||
// Accessors
|
||||
|
||||
inline G4double GetStartPhi() const;
|
||||
inline G4double GetEndPhi() const;
|
||||
inline G4bool IsOpen() const;
|
||||
inline G4int GetNumRZCorner() const;
|
||||
inline G4double GetStartPhi() const;
|
||||
inline G4double GetEndPhi() const;
|
||||
inline G4double GetSinStartPhi() const;
|
||||
inline G4double GetCosStartPhi() const;
|
||||
inline G4double GetSinEndPhi() const;
|
||||
inline G4double GetCosEndPhi() const;
|
||||
inline G4bool IsOpen() const;
|
||||
inline G4int GetNumRZCorner() const;
|
||||
inline G4PolyconeSideRZ GetCorner(G4int index) const;
|
||||
inline G4PolyconeHistorical* GetOriginalParameters() const;
|
||||
inline void SetOriginalParameters(G4PolyconeHistorical* pars);
|
||||
@@ -183,7 +193,7 @@ class G4Polycone : public G4VCSGfaceted
|
||||
G4double startPhi; // Starting phi value (0 < phiStart < 2pi)
|
||||
G4double endPhi; // end phi value (0 < endPhi-phiStart < 2pi)
|
||||
G4bool phiIsOpen; // true if there is a phi segment
|
||||
G4int numCorner; // number RZ points
|
||||
G4int numCorner; // number RZ points
|
||||
G4PolyconeSideRZ *corners; // corner r,z points
|
||||
G4PolyconeHistorical *original_parameters; // original input parameters
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Polycone.icc 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4Polycone.icc 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
@@ -46,6 +46,30 @@ G4double G4Polycone::GetEndPhi() const
|
||||
return endPhi;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polycone::GetSinStartPhi() const
|
||||
{
|
||||
return IsOpen() ? std::sin(startPhi) : 0;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polycone::GetCosStartPhi() const
|
||||
{
|
||||
return IsOpen() ? std::cos(startPhi) : 1;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polycone::GetSinEndPhi() const
|
||||
{
|
||||
return IsOpen() ? std::sin(endPhi) : 0;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polycone::GetCosEndPhi() const
|
||||
{
|
||||
return IsOpen() ? std::cos(endPhi) : 1;
|
||||
}
|
||||
|
||||
inline
|
||||
G4bool G4Polycone::IsOpen() const
|
||||
{
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PolyconeSide.hh 88061 2015-01-26 16:57:09Z gcosmo $
|
||||
// $Id: G4PolyconeSide.hh 99392 2016-09-20 13:33:55Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -92,10 +92,6 @@ class G4PlSideData
|
||||
//
|
||||
typedef G4GeomSplitter<G4PlSideData> G4PlSideManager;
|
||||
|
||||
// This macro changes the references to fields that are now encapsulated
|
||||
// in the class G4PlSideData.
|
||||
//
|
||||
#define G4MT_pcphi ((subInstanceManager.offset[instanceID]).fPhi)
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Polyhedra.hh 80048 2014-03-31 12:47:09Z gcosmo $
|
||||
// $Id: G4Polyhedra.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -108,6 +108,12 @@ class G4Polyhedra : public G4VCSGfaceted
|
||||
const G4ThreeVector &v ) const;
|
||||
G4double DistanceToIn( 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;
|
||||
|
||||
void ComputeDimensions( G4VPVParameterisation* p,
|
||||
const G4int n,
|
||||
const G4VPhysicalVolume* pRep);
|
||||
@@ -126,12 +132,16 @@ class G4Polyhedra : public G4VCSGfaceted
|
||||
|
||||
// Accessors
|
||||
|
||||
inline G4int GetNumSide() const;
|
||||
inline G4double GetStartPhi() const;
|
||||
inline G4double GetEndPhi() const;
|
||||
inline G4bool IsOpen() const;
|
||||
inline G4bool IsGeneric() const;
|
||||
inline G4int GetNumRZCorner() const;
|
||||
inline G4int GetNumSide() const;
|
||||
inline G4double GetStartPhi() const;
|
||||
inline G4double GetEndPhi() const;
|
||||
inline G4double GetSinStartPhi() const;
|
||||
inline G4double GetCosStartPhi() const;
|
||||
inline G4double GetSinEndPhi() const;
|
||||
inline G4double GetCosEndPhi() const;
|
||||
inline G4bool IsOpen() const;
|
||||
inline G4bool IsGeneric() const;
|
||||
inline G4int GetNumRZCorner() const;
|
||||
inline G4PolyhedraSideRZ GetCorner( const G4int index ) const;
|
||||
|
||||
inline G4PolyhedraHistorical* GetOriginalParameters() const;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Polyhedra.icc 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4Polyhedra.icc 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
@@ -52,6 +52,30 @@ G4double G4Polyhedra::GetEndPhi() const
|
||||
return endPhi;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polyhedra::GetSinStartPhi() const
|
||||
{
|
||||
return std::sin(startPhi);
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polyhedra::GetCosStartPhi() const
|
||||
{
|
||||
return std::cos(startPhi);
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polyhedra::GetSinEndPhi() const
|
||||
{
|
||||
return std::sin(endPhi);
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Polyhedra::GetCosEndPhi() const
|
||||
{
|
||||
return std::cos(endPhi);
|
||||
}
|
||||
|
||||
inline
|
||||
G4bool G4Polyhedra::IsOpen() const
|
||||
{
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PolyhedraSide.hh 93505 2015-10-23 12:30:04Z gcosmo $
|
||||
// $Id: G4PolyhedraSide.hh 99392 2016-09-20 13:33:55Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -92,10 +92,6 @@ class G4PhSideData
|
||||
//
|
||||
typedef G4GeomSplitter<G4PhSideData> G4PhSideManager;
|
||||
|
||||
// This macro changes the references to fields that are now encapsulated
|
||||
// in the class G4PhSideData.
|
||||
//
|
||||
#define G4MT_phphi ((subInstanceManager.offset[instanceID]).fPhi)
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -73,13 +73,14 @@ class G4SolidsWorkspace
|
||||
protected: // Implementation methods
|
||||
void InitialiseSolids();
|
||||
|
||||
private: // Helper pointers - can be per instance or shared
|
||||
private:
|
||||
// Helper pointers - can be per instance or shared
|
||||
G4PlSideManager *fpPolyconeSideSIM;
|
||||
G4PhSideManager *fpPolyhedraSideSIM;
|
||||
|
||||
// Per Instance variables
|
||||
// NOTE: the ownership of the Data Arrays is IN this object
|
||||
private:
|
||||
// Per Instance variables
|
||||
// NOTE: the ownership of the Data Arrays is IN this object
|
||||
|
||||
// Store SubInstanceManager object pointers (SIM pointers)
|
||||
G4PlSideData *fPolyconeSideOffset;
|
||||
G4PhSideData *fPolyhedraSideOffset;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4TessellatedSolid.hh 95801 2016-02-25 10:59:41Z gcosmo $
|
||||
// $Id: G4TessellatedSolid.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
@@ -187,6 +187,8 @@ class G4TessellatedSolid : public G4VSolid
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4double GetMinXExtent () const;
|
||||
G4double GetMaxXExtent () const;
|
||||
G4double GetMinYExtent () const;
|
||||
@@ -194,10 +196,6 @@ class G4TessellatedSolid : public G4VSolid
|
||||
G4double GetMinZExtent () const;
|
||||
G4double GetMaxZExtent () const;
|
||||
|
||||
G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pT) const;
|
||||
// Create the List of transformed vertices in the format required
|
||||
// for G4VSolid:: ClipCrossSection and ClipBetweenSections.
|
||||
|
||||
virtual G4Polyhedron* CreatePolyhedron () const;
|
||||
virtual G4Polyhedron* GetPolyhedron () const;
|
||||
virtual void DescribeYourselfTo (G4VGraphicsScene& scene) const;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Tet.hh 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4Tet.hh 99781 2016-10-05 10:18:54Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -47,6 +47,7 @@
|
||||
// 10.02.2005 - D.Anninos (CERN) - Added GetPointOnSurface() method.
|
||||
// 12.11.2006 - M.H.Mendenhall - Added GetSurfaceArea() concrete implementation.
|
||||
// 20.09.2010 - G.Cosmo (CERN) - Added copy-ctor and operator=().
|
||||
// 24.09.2016 - E.Tcherniaev - Added Extent(), removed CreateRotatedVertices().
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4TET_HH
|
||||
#define G4TET_HH
|
||||
@@ -80,6 +81,8 @@ class G4Tet : public G4VSolid
|
||||
const G4int n,
|
||||
const G4VPhysicalVolume* pRep);
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
@@ -130,7 +133,7 @@ class G4Tet : public G4VSolid
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
const char* CVSHeaderVers()
|
||||
{ return "$Id: G4Tet.hh 83572 2014-09-01 15:23:27Z gcosmo $"; }
|
||||
{ return "$Id: G4Tet.hh 99781 2016-10-05 10:18:54Z gcosmo $"; }
|
||||
const char* CVSFileVers()
|
||||
{ return CVSVers; }
|
||||
void PrintWarnings(G4bool flag)
|
||||
@@ -142,13 +145,6 @@ class G4Tet : public G4VSolid
|
||||
std::vector<G4ThreeVector> GetVertices() const;
|
||||
// Return the four vertices of the shape.
|
||||
|
||||
protected: // with description
|
||||
|
||||
G4ThreeVectorList*
|
||||
CreateRotatedVertices(const G4AffineTransform& pTransform) const;
|
||||
// Create the List of transformed vertices in the format required
|
||||
// for G4VSolid:: ClipCrossSection and ClipBetweenSections.
|
||||
|
||||
private:
|
||||
|
||||
G4double fCubicVolume, fSurfaceArea;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4TwistedTubs.hh 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4TwistedTubs.hh 100819 2016-11-02 15:17:36Z gcosmo $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
@@ -103,12 +103,14 @@ class G4TwistedTubs : public G4VSolid
|
||||
void ComputeDimensions(G4VPVParameterisation * /* p */ ,
|
||||
const G4int /* n */ ,
|
||||
const G4VPhysicalVolume * /* prep */ );
|
||||
|
||||
G4bool CalculateExtent(const EAxis paxis,
|
||||
const G4VoxelLimits &pvoxellimit,
|
||||
const G4AffineTransform &ptransform,
|
||||
G4double &pmin,
|
||||
G4double &pmax ) const;
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits &pVoxelLimit,
|
||||
const G4AffineTransform &pTransform,
|
||||
G4double &pMin,
|
||||
G4double &pMax ) const;
|
||||
|
||||
G4double DistanceToIn (const G4ThreeVector &p,
|
||||
const G4ThreeVector &v ) const;
|
||||
@@ -198,13 +200,6 @@ class G4TwistedTubs : public G4VSolid
|
||||
|
||||
void CreateSurfaces();
|
||||
|
||||
static void AddPolyToExtent( const G4ThreeVector &v0,
|
||||
const G4ThreeVector &v1,
|
||||
const G4ThreeVector &w1,
|
||||
const G4ThreeVector &w0,
|
||||
const G4VoxelLimits &voxellimit,
|
||||
const EAxis axis,
|
||||
G4SolidExtentList &extentlist );
|
||||
private:
|
||||
|
||||
G4double fPhiTwist; // Twist angle from -fZHalfLength to fZHalfLength
|
||||
|
||||
@@ -92,7 +92,7 @@ class G4UExtrudedSolid : public G4USolid
|
||||
G4int GetNofZSections() const;
|
||||
ZSection GetZSection(G4int index) const;
|
||||
std::vector<ZSection> GetZSections() const;
|
||||
|
||||
|
||||
inline G4GeometryType GetEntityType() const;
|
||||
|
||||
public: // without description
|
||||
@@ -105,6 +105,13 @@ class G4UExtrudedSolid : public G4USolid
|
||||
G4UExtrudedSolid( const G4UExtrudedSolid& source );
|
||||
G4UExtrudedSolid &operator=(const G4UExtrudedSolid& source);
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
};
|
||||
|
||||
|
||||
@@ -65,10 +65,14 @@ class G4UGenericPolycone : public G4USolid
|
||||
|
||||
inline UGenericPolycone* GetShape() const;
|
||||
|
||||
G4double GetStartPhi() const;
|
||||
G4double GetEndPhi() const;
|
||||
G4bool IsOpen() const;
|
||||
G4int GetNumRZCorner() const;
|
||||
G4double GetStartPhi() const;
|
||||
G4double GetEndPhi() const;
|
||||
G4double GetSinStartPhi() const;
|
||||
G4double GetCosStartPhi() const;
|
||||
G4double GetSinEndPhi() const;
|
||||
G4double GetCosEndPhi() const;
|
||||
G4bool IsOpen() const;
|
||||
G4int GetNumRZCorner() const;
|
||||
G4PolyconeSideRZ GetCorner(G4int index) const;
|
||||
|
||||
inline G4GeometryType GetEntityType() const;
|
||||
@@ -83,6 +87,14 @@ class G4UGenericPolycone : public G4USolid
|
||||
G4UGenericPolycone( const G4UGenericPolycone& source );
|
||||
G4UGenericPolycone &operator=(const G4UGenericPolycone& source);
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
};
|
||||
|
||||
|
||||
@@ -86,6 +86,13 @@ class G4UGenericTrap : public G4USolid
|
||||
G4UGenericTrap &operator=(const G4UGenericTrap& source);
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
};
|
||||
|
||||
|
||||
@@ -81,6 +81,12 @@ class G4UParaboloid : public G4USolid
|
||||
G4UParaboloid( const G4UParaboloid &source );
|
||||
G4UParaboloid &operator=( const G4UParaboloid &source );
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pmin, G4double& pmax) const;
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
};
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
|
||||
|
||||
#include "UPolycone.hh"
|
||||
#include "G4TwoVector.hh"
|
||||
#include "G4PolyconeSide.hh"
|
||||
#include "G4PolyconeHistorical.hh"
|
||||
#include "G4Polyhedron.hh"
|
||||
@@ -82,10 +83,14 @@ class G4UPolycone : public G4USolid
|
||||
|
||||
inline UPolycone* GetShape() const;
|
||||
|
||||
G4double GetStartPhi() const;
|
||||
G4double GetEndPhi() const;
|
||||
G4bool IsOpen() const;
|
||||
G4int GetNumRZCorner() const;
|
||||
G4double GetStartPhi() const;
|
||||
G4double GetEndPhi() const;
|
||||
G4double GetSinStartPhi() const;
|
||||
G4double GetCosStartPhi() const;
|
||||
G4double GetSinEndPhi() const;
|
||||
G4double GetCosEndPhi() const;
|
||||
G4bool IsOpen() const;
|
||||
G4int GetNumRZCorner() const;
|
||||
G4PolyconeSideRZ GetCorner(G4int index) const;
|
||||
G4PolyconeHistorical* GetOriginalParameters() const;
|
||||
void SetOriginalParameters(G4PolyconeHistorical* pars);
|
||||
@@ -104,8 +109,21 @@ class G4UPolycone : public G4USolid
|
||||
G4UPolycone( const G4UPolycone &source );
|
||||
G4UPolycone &operator=( const G4UPolycone &source );
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4double wrStart;
|
||||
G4double wrDelta;
|
||||
std::vector<G4TwoVector> rzcorners;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
|
||||
|
||||
#include "UPolyhedra.hh"
|
||||
#include "G4TwoVector.hh"
|
||||
#include "G4PolyhedraSide.hh"
|
||||
#include "G4PolyhedraHistorical.hh"
|
||||
#include "G4Polyhedron.hh"
|
||||
@@ -86,12 +87,16 @@ class G4UPolyhedra : public G4USolid
|
||||
|
||||
inline UPolyhedra* GetShape() const;
|
||||
|
||||
G4int GetNumSide() const;
|
||||
G4double GetStartPhi() const;
|
||||
G4double GetEndPhi() const;
|
||||
G4bool IsOpen() const;
|
||||
G4bool IsGeneric() const;
|
||||
G4int GetNumRZCorner() const;
|
||||
G4int GetNumSide() const;
|
||||
G4double GetStartPhi() const;
|
||||
G4double GetEndPhi() const;
|
||||
G4double GetSinStartPhi() const;
|
||||
G4double GetCosStartPhi() const;
|
||||
G4double GetSinEndPhi() const;
|
||||
G4double GetCosEndPhi() const;
|
||||
G4bool IsOpen() const;
|
||||
G4bool IsGeneric() const;
|
||||
G4int GetNumRZCorner() const;
|
||||
G4PolyhedraSideRZ GetCorner( const G4int index ) const;
|
||||
G4PolyhedraHistorical* GetOriginalParameters() const;
|
||||
void SetOriginalParameters(G4PolyhedraHistorical* pars);
|
||||
@@ -110,7 +115,22 @@ class G4UPolyhedra : public G4USolid
|
||||
G4UPolyhedra( const G4UPolyhedra &source );
|
||||
G4UPolyhedra &operator=( const G4UPolyhedra &source );
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
|
||||
private:
|
||||
|
||||
G4double wrStart;
|
||||
G4double wrDelta;
|
||||
G4int wrNumSide;
|
||||
std::vector<G4TwoVector> rzcorners;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -83,6 +83,13 @@ class G4UTet : public G4USolid
|
||||
G4UTet& operator=(const G4UTet& rhs);
|
||||
// Copy constructor and assignment operator.
|
||||
|
||||
void Extent(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
G4double& pMin, G4double& pMax) const;
|
||||
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
|
||||
std::vector<G4ThreeVector> GetVertices() const;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VTwistedFaceted.hh 83572 2014-09-01 15:23:27Z gcosmo $
|
||||
// $Id: G4VTwistedFaceted.hh 99781 2016-10-05 10:18:54Z gcosmo $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -79,6 +79,8 @@ class G4VTwistedFaceted: public G4VSolid
|
||||
const G4int,
|
||||
const G4VPhysicalVolume* );
|
||||
|
||||
virtual void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const;
|
||||
|
||||
virtual G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits &pVoxelLimit,
|
||||
const G4AffineTransform &pTransform,
|
||||
@@ -152,11 +154,6 @@ class G4VTwistedFaceted: public G4VSolid
|
||||
|
||||
protected: // with description
|
||||
|
||||
G4ThreeVectorList*
|
||||
CreateRotatedVertices(const G4AffineTransform& pTransform) const;
|
||||
// Create the List of transformed vertices in the format required
|
||||
// for G4VSolid:: ClipCrossSection and ClipBetweenSections.
|
||||
|
||||
mutable G4bool fRebuildPolyhedron;
|
||||
mutable G4Polyhedron* fpPolyhedron; // pointer to polyhedron for vis
|
||||
|
||||
|
||||
Reference in New Issue
Block a user