Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
@@ -24,26 +24,18 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
// Class G4VFacet
// G4VFacet
//
// Class description:
//
// Base class defining the facets which are components of a
// G4TessellatedSolid shape.
// CHANGE HISTORY
// --------------
//
// 31 October 2004, P R Truscott, QinetiQ Ltd, UK - Created.
// 12 October 2012, M Gayer, CERN, - Reviewed optimized implementation.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef G4VFacet_hh
#define G4VFacet_hh
// 12 October 2012, M Gayer, CERN, - Reviewed optimised implementation.
// --------------------------------------------------------------------
#ifndef G4VFACET_HH
#define G4VFACET_HH
#include <iostream>
#include <vector>
@@ -52,53 +44,52 @@
#include "G4ThreeVector.hh"
#include "G4VSolid.hh"
enum G4FacetVertexType {ABSOLUTE, RELATIVE};
class G4TessellatedSolid;
enum G4FacetVertexType { ABSOLUTE, RELATIVE };
class G4VFacet
{
public:
G4VFacet();
virtual ~G4VFacet ();
G4bool operator== (const G4VFacet &right) const;
G4bool operator== (const G4VFacet& right) const;
virtual G4int GetNumberOfVertices () const = 0;
virtual G4ThreeVector GetVertex (G4int i) const = 0;
virtual void SetVertex (G4int i, const G4ThreeVector &val) = 0;
virtual void SetVertex (G4int i, const G4ThreeVector& val) = 0;
virtual G4GeometryType GetEntityType () const = 0;
virtual G4ThreeVector GetSurfaceNormal () const = 0;
virtual G4bool IsDefined () const = 0;
virtual G4ThreeVector GetCircumcentre () const = 0;
virtual G4double GetRadius () const = 0;
virtual G4VFacet *GetClone () = 0;
virtual G4VFacet* GetClone () = 0;
virtual G4double Distance (const G4ThreeVector&, G4double) = 0;
virtual G4double Distance (const G4ThreeVector&, G4double,
const G4bool) = 0;
virtual G4double Extent (const G4ThreeVector) = 0;
virtual G4bool Intersect (const G4ThreeVector&, const G4ThreeVector &,
const G4bool , G4double &, G4double &,
G4ThreeVector &) = 0;
virtual G4bool Intersect (const G4ThreeVector&, const G4ThreeVector&,
const G4bool, G4double&, G4double&,
G4ThreeVector&) = 0;
virtual G4double GetArea() const = 0;
virtual G4ThreeVector GetPointOnFace() const = 0;
void ApplyTranslation (const G4ThreeVector v);
std::ostream &StreamInfo(std::ostream &os) const;
std::ostream& StreamInfo(std::ostream& os) const;
G4bool IsInside(const G4ThreeVector &p) const;
G4bool IsInside(const G4ThreeVector& p) const;
virtual G4int AllocatedMemory() = 0;
virtual void SetVertexIndex (G4int i, G4int j) = 0;
virtual G4int GetVertexIndex (G4int i) const = 0;
virtual void SetVertices(std::vector<G4ThreeVector> *vertices) = 0;
virtual void SetVertices(std::vector<G4ThreeVector>* vertices) = 0;
protected:
static const G4double dirTolerance;
static const G4double kCarTolerance;
G4double kCarTolerance;
};
#endif