Import Geant4 0.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:09:25 +02:00
parent b97f8d0df7
commit aaa409b6ee
2922 changed files with 55107 additions and 81674 deletions
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AffineTransform.hh,v 2.1 1998/11/11 11:34:06 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4AffineTransform.hh,v 1.1 1999/01/07 16:07:13 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4AffineTransform Header File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AffineTransform.icc,v 2.1 1998/11/11 11:34:07 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4AffineTransform.icc,v 1.2 1999/03/18 18:31:39 japost Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// G4AffineTransformation Inline implementation
@@ -162,7 +162,7 @@ G4AffineTransform::InverseProduct( const G4AffineTransform& tf1,
rzz=tf1.rzx*tf2.rzx+tf1.rzy*tf2.rzy+tf1.rzz*tf2.rzz;
tx=tf1.tx*tf2.rxx+tf1.ty*tf2.rxy+tf1.tz*tf2.rxz+itf2tx;
ty=tf1.tx*tf2.ryx+tf1.ty*tf2.ryy+tf1.tz*tf2.rzy+itf2ty;
ty=tf1.tx*tf2.ryx+tf1.ty*tf2.ryy+tf1.tz*tf2.ryz+itf2ty;
tz=tf1.tx*tf2.rzx+tf1.ty*tf2.rzy+tf1.tz*tf2.rzz+itf2tz;
return *this;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GeometryManager.hh,v 2.2 1998/07/13 16:51:17 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4GeometryManager.hh,v 1.1 1999/01/07 16:07:14 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4GeometryManager
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4LogicalSurface.hh,v 2.0 1998/07/02 16:56:49 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4LogicalSurface.hh,v 1.1 1999/01/07 16:07:14 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
////////////////////////////////////////////////////////////////////////
// G4LogicalSurface Definition
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4LogicalSurface.icc,v 2.1 1998/07/13 16:51:19 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4LogicalSurface.icc,v 1.1 1999/01/07 16:07:14 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
////////////////////////////////////////////////////////////////////////
// Surface Class Inline Methods
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4LogicalVolume.hh,v 2.1 1998/11/11 11:20:28 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4LogicalVolume.hh,v 1.2 1999/02/15 10:58:13 japost Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4LogicalVolume
@@ -104,6 +104,11 @@
// void SetVoxelHeader(G4VoxelHeader *pVoxel)
// Sets VoxelHeader.
//
// G4double GetSmartless()
// Gets user defined optimisation quality
// void SetSmartless(G4double)
// Sets user defined optimisation quality
//
// void BecomeEnvelopeForFastSimulation(G4FastSimulationManager* );
// Makes this an Envelope for given FastSimulationManager.
// Ensures that all its daughter volumes get it too - unless they
@@ -151,6 +156,8 @@
// Pointer (possibly NULL) to user Step limit object for this node
// G4VoxelHeader *fVoxel
// Pointer (possibly NULL) to optimisation info objects
// G4double smartless
// Quality for optimisation, average number of voxels to be spent per content
// G4FastSimulationManager *fFastSimulationManager
// Pointer (possibly NULL) to G4FastSimulationManager object
// G4bool fIsEnvelope
@@ -159,6 +166,7 @@
// weight used in the event biasing technique
//
// History:
// 12.02.99 S.Giani: Added user defined optimisation quality
// 09.11.98 J. Apostolakis: Changed G4MagneticField to G4FieldManager
// 09.11.98 M. Verderi & JA. : added BiasWeight member and Get/Set methods
// 10.20.97 P. MoraDeFreitas : added pointer to a FastSimulation
@@ -223,6 +231,9 @@ public:
G4SmartVoxelHeader* GetVoxelHeader() const;
void SetVoxelHeader(G4SmartVoxelHeader *pVoxel);
G4double GetSmartless();
void SetSmartless(G4double s);
G4bool operator == ( const G4LogicalVolume& lv) const;
const G4VisAttributes* GetVisAttributes () const;
@@ -252,6 +263,7 @@ private:
G4VSolid *fSolid;
G4UserLimits *fUserLimits;
G4SmartVoxelHeader *fVoxel;
G4double fSmartless;
const G4VisAttributes* fVisAttributes;
G4FastSimulationManager *fFastSimulationManager;
G4bool fIsEnvelope;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4LogicalVolume.icc,v 2.1 1998/11/18 13:58:59 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4LogicalVolume.icc,v 1.2 1999/02/15 10:58:13 japost Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4LogicalVolume Inline Implementation file
@@ -14,6 +14,7 @@
// 10.20.97 - P. MoraDeFreitas : Added SetFastSimulation method.
// 05.11.98 - M. Verderi: Add Get/Set methods for fBiasWeight
// 09.11.98 - J. Apostolakis: Changed MagneticField to FieldManager
// 12.02.99 - S.Giani: Added set/get methods for voxelization quality
inline G4String G4LogicalVolume::GetName() const
{
@@ -149,6 +150,16 @@ inline void G4LogicalVolume::SetVoxelHeader(G4SmartVoxelHeader *pVoxel)
{
fVoxel=pVoxel;
}
inline G4double G4LogicalVolume::GetSmartless()
{
return fSmartless;
}
inline void G4LogicalVolume::SetSmartless(G4double s)
{
fSmartless=s;
}
inline G4bool G4LogicalVolume::operator == ( const G4LogicalVolume& lv) const
{
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4LogicalVolumeStore.hh,v 2.0 1998/07/02 16:56:53 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4LogicalVolumeStore.hh,v 1.1 1999/01/07 16:07:15 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4LogicalVolumeStore
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PVParameterised.hh,v 2.1 1998/07/12 02:55:33 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4PVParameterised.hh,v 1.1 1999/01/07 16:07:15 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4PVParameterised
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PVPlacement.hh,v 2.1 1998/07/12 02:55:33 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4PVPlacement.hh,v 1.1 1999/01/07 16:07:15 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4PVPlacement
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PVReplica.hh,v 2.0 1998/07/02 16:56:55 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4PVReplica.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4PVReplica
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PhysicalVolumeStore.hh,v 2.0 1998/07/02 16:57:02 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4PhysicalVolumeStore.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4PhysicalVolume
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4SmartVoxelHeader.hh,v 2.1 1998/11/11 11:34:07 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4SmartVoxelHeader.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4SmartVoxelHeader
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4SmartVoxelNode.hh,v 2.1 1998/11/11 11:34:08 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4SmartVoxelNode.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4SmartVoxelNode
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4SmartVoxelProxy.hh,v 2.1 1998/11/11 11:34:08 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4SmartVoxelProxy.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4SmartVoxelProxy
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4SolidStore.hh,v 2.0 1998/07/02 16:56:57 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4SolidStore.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4SolidStore
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VPVParameterisation.hh,v 2.0 1998/07/02 16:57:04 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VPVParameterisation.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4VPVParamterisation
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VPhysicalVolume.hh,v 2.1 1998/07/12 02:55:34 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VPhysicalVolume.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4VPhysicalVolume
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VPhysicalVolume.icc,v 2.0 1998/07/02 16:57:12 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VPhysicalVolume.icc,v 1.1 1999/01/07 16:07:17 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4VPhysicalVolume Inline Implementation
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VSolid.hh,v 2.1 1998/07/12 02:55:35 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VSolid.hh,v 1.1 1999/01/07 16:07:18 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4VSolid
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VSolid.icc,v 2.0 1998/07/02 16:57:14 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VSolid.icc,v 1.1 1999/01/07 16:07:18 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VTouchable.hh,v 2.3 1998/07/19 05:50:49 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VTouchable.hh,v 1.1 1999/01/07 16:07:18 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4VTouchable Paul Kent August 1996
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VTouchable.icc,v 2.2 1998/07/21 08:16:32 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VTouchable.icc,v 1.1 1999/01/07 16:07:19 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// class G4VTouchable Inline implementation
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VoxelLimits.hh,v 2.1 1998/11/11 11:31:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VoxelLimits.hh,v 1.1 1999/01/07 16:07:19 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// class G4VoxelLimits
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: meshdefs.hh,v 2.0 1998/07/02 16:57:08 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: meshdefs.hh,v 1.1 1999/01/07 16:07:19 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// Tube/Cone Meshing constants for extent calculations
@@ -5,14 +5,15 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: voxeldefs.hh,v 2.0 1998/07/02 16:57:19 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: voxeldefs.hh,v 1.2 1999/02/15 11:14:01 japost Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// Voxel Optimisation Constants
//
// History:
// 12.02.99 S.Giani made numerical values consistent with Geant3.21
// 13.08.95 P.Kent Created separate file
#ifndef VOXELDEFS_HH
@@ -21,7 +22,7 @@
#include "globals.hh"
// Hard limit on no. voxel nodes per given header
const G4int kMaxVoxelNodes=2000;// Geant 3.21 uses 1000
const G4int kMaxVoxelNodes=1000; // PK chose 2000, Geant 3.21 used 1000
const G4int kMinVoxelVolumesLevel1=2; // Only begin to make voxels if >=
// this no of daughters