Import Geant4 10.6.0 source tree
This commit is contained in:
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4ExtrudedSolid
|
||||
//
|
||||
// Class description:
|
||||
@@ -54,13 +47,10 @@
|
||||
// G4TwoVector off2 - offset of the side in +halfZ
|
||||
// G4double scale2 - scale of the side in -halfZ
|
||||
|
||||
// Author:
|
||||
// Ivana Hrivnacova, IPN Orsay
|
||||
//
|
||||
// Author: Ivana Hrivnacova, IPN Orsay
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4ExtrudedSolid_HH
|
||||
#define G4ExtrudedSolid_HH
|
||||
#ifndef G4EXTRUDEDSOLID_HH
|
||||
#define G4EXTRUDEDSOLID_HH
|
||||
|
||||
#include "G4GeomTypes.hh"
|
||||
|
||||
@@ -76,11 +66,8 @@
|
||||
#include <vector>
|
||||
|
||||
#include "G4TwoVector.hh"
|
||||
|
||||
#include "G4TessellatedSolid.hh"
|
||||
|
||||
class G4VFacet;
|
||||
|
||||
class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
{
|
||||
|
||||
@@ -98,20 +85,20 @@ class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
|
||||
public: // with description
|
||||
|
||||
G4ExtrudedSolid( const G4String& pName,
|
||||
const std::vector<G4TwoVector>& polygon,
|
||||
const std::vector<ZSection>& zsections);
|
||||
// General constructor
|
||||
G4ExtrudedSolid( const G4String& pName,
|
||||
const std::vector<G4TwoVector>& polygon,
|
||||
const std::vector<ZSection>& zsections);
|
||||
// General constructor
|
||||
|
||||
G4ExtrudedSolid( const G4String& pName,
|
||||
const std::vector<G4TwoVector>& polygon,
|
||||
G4double halfZ,
|
||||
const G4TwoVector& off1, G4double scale1,
|
||||
const G4TwoVector& off2, G4double scale2 );
|
||||
// Special constructor for solid with 2 z-sections
|
||||
G4ExtrudedSolid( const G4String& pName,
|
||||
const std::vector<G4TwoVector>& polygon,
|
||||
G4double halfZ,
|
||||
const G4TwoVector& off1, G4double scale1,
|
||||
const G4TwoVector& off2, G4double scale2 );
|
||||
// Special constructor for solid with 2 z-sections
|
||||
|
||||
virtual ~G4ExtrudedSolid();
|
||||
// Destructor
|
||||
virtual ~G4ExtrudedSolid();
|
||||
// Destructor
|
||||
|
||||
// Accessors
|
||||
|
||||
@@ -125,15 +112,16 @@ class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
|
||||
// Solid methods
|
||||
|
||||
EInside Inside(const G4ThreeVector &p) const;
|
||||
EInside Inside(const G4ThreeVector& p) 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;
|
||||
G4double DistanceToOut(const G4ThreeVector& p,
|
||||
const G4ThreeVector& v,
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
void BoundingLimits(G4ThreeVector& pMin, G4ThreeVector& pMax) const;
|
||||
G4bool CalculateExtent(const EAxis pAxis,
|
||||
@@ -143,7 +131,7 @@ class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
G4GeometryType GetEntityType () const;
|
||||
G4VSolid* Clone() const;
|
||||
|
||||
std::ostream& StreamInfo(std::ostream &os) const;
|
||||
std::ostream& StreamInfo(std::ostream& os) const;
|
||||
|
||||
public: // without description
|
||||
|
||||
@@ -198,10 +186,10 @@ class G4ExtrudedSolid : public G4TessellatedSolid
|
||||
std::vector<G4TwoVector> fPolygon;
|
||||
std::vector<ZSection> fZSections;
|
||||
std::vector< std::vector<G4int> > fTriangles;
|
||||
G4bool fIsConvex;
|
||||
G4GeometryType fGeometryType;
|
||||
G4bool fIsConvex = false;
|
||||
G4GeometryType fGeometryType;
|
||||
|
||||
G4int fSolidType;
|
||||
G4int fSolidType = 0;
|
||||
struct plane { G4double a,b,c,d; }; // a*x + b*y + c*z + d = 0
|
||||
std::vector<plane> fPlanes;
|
||||
struct line { G4double k,m; }; // x = k*y + m;
|
||||
|
||||
Reference in New Issue
Block a user