Import Geant4 7.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 11:11:55 +02:00
parent e083ffb441
commit 516dbf1a58
5914 changed files with 202605 additions and 71141 deletions
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BooleanSolid.hh,v 1.8 2003/11/03 17:48:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: G4BooleanSolid.hh,v 1.11 2004/10/10 10:50:46 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// class G4BooleanSolid
@@ -54,35 +54,42 @@ class G4BooleanSolid : public G4VSolid
G4BooleanSolid( const G4String& pName,
G4VSolid* pSolidA ,
G4VSolid* pSolidB ) ;
G4VSolid* pSolidB );
G4BooleanSolid( const G4String& pName,
G4VSolid* pSolidA ,
G4VSolid* pSolidB,
G4RotationMatrix* rotMatrix,
const G4ThreeVector& transVector ) ;
const G4ThreeVector& transVector );
G4BooleanSolid( const G4String& pName,
G4VSolid* pSolidA ,
G4VSolid* pSolidB ,
const G4Transform3D& transform ) ;
const G4Transform3D& transform );
virtual ~G4BooleanSolid() ;
virtual ~G4BooleanSolid();
virtual const G4VSolid* GetConstituentSolid(G4int no) const;
virtual G4VSolid* GetConstituentSolid(G4int no);
// If Solid is made up from a Boolean operation of two solids,
// return the corresponding solid (for no=0 and 1)
// return the corresponding solid (for no=0 and 1).
// If the solid is not a "Boolean", return 0.
virtual G4GeometryType GetEntityType() const;
inline G4double GetCubicVolume();
virtual G4Polyhedron* GetPolyhedron () const;
std::ostream& StreamInfo(std::ostream& os) const;
inline G4int GetCubVolStatistics() const;
inline G4double GetCubVolEpsilon() const;
inline void SetCubVolStatistics(G4int st);
inline void SetCubVolEpsilon(G4double ep);
protected:
G4VSolid* fPtrSolidA ;
G4VSolid* fPtrSolidB ;
G4VSolid* fPtrSolidA;
G4VSolid* fPtrSolidB;
private:
@@ -92,8 +99,16 @@ class G4BooleanSolid : public G4VSolid
private:
G4int fCubVolStatistics;
G4double fCubVolEpsilon;
G4double fCubicVolume;
mutable G4Polyhedron* fpPolyhedron;
G4bool createdDisplacedSolid;
// If & only if this object created it, it must delete it
} ;
#include "G4BooleanSolid.icc"
#endif
@@ -0,0 +1,67 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4BooleanSolid.icc,v 1.1 2004/09/22 09:27:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
//
// G4BooleanSolid.icc
//
// Implementation of inline methods of G4BooleanSolid
// --------------------------------------------------------------------
inline
G4int G4BooleanSolid::GetCubVolStatistics() const
{
return fCubVolStatistics;
}
inline
G4double G4BooleanSolid::GetCubVolEpsilon() const
{
return fCubVolEpsilon;
}
inline
void G4BooleanSolid::SetCubVolStatistics(G4int st)
{
fCubVolStatistics=st;
}
inline
void G4BooleanSolid::SetCubVolEpsilon(G4double ep)
{
fCubVolEpsilon=ep;
}
///////////////////////////////////////////////////
inline
G4double G4BooleanSolid::GetCubicVolume()
{
if(fCubicVolume != 0.) ;
else fCubicVolume = EstimateCubicVolume(fCubVolStatistics,fCubVolEpsilon);
return fCubicVolume;
}
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4DisplacedSolid.hh,v 1.15 2003/11/03 17:48:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: G4DisplacedSolid.hh,v 1.16 2004/10/10 10:50:48 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// class G4DisplacedSolid
@@ -140,6 +140,7 @@ class G4DisplacedSolid : public G4VSolid
void DescribeYourselfTo ( G4VGraphicsScene& scene ) const ;
G4Polyhedron* CreatePolyhedron () const ;
G4NURBS* CreateNURBS () const ;
virtual G4Polyhedron* GetPolyhedron () const;
// For creating graphical representations (ie for visualisation).
protected:
@@ -147,6 +148,7 @@ class G4DisplacedSolid : public G4VSolid
G4VSolid* fPtrSolid ;
G4AffineTransform* fPtrTransform ;
G4AffineTransform* fDirectTransform ;
mutable G4Polyhedron* fpPolyhedron;
private:
@@ -22,7 +22,7 @@
//
//
// $Id: G4IntersectionSolid.hh,v 1.7 2003/11/03 17:48:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// class G4IntersectionSolid
@@ -22,7 +22,7 @@
//
//
// $Id: G4SubtractionSolid.hh,v 1.7 2003/11/03 17:48:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// class G4SubtractionSolid
@@ -22,7 +22,7 @@
//
//
// $Id: G4UnionSolid.hh,v 1.8 2003/11/03 17:48:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// class G4UnionSolid