Import Geant4 10.4.2 source tree

This commit is contained in:
Gabriele Cosmo
2018-05-25 16:18:53 +02:00
parent fe04dcb406
commit fe81a77428
233 changed files with 44301 additions and 105671 deletions
+9 -1
View File
@@ -1,4 +1,4 @@
$Id: History 108484 2018-02-15 14:38:03Z gcosmo $
$Id: History 110072 2018-05-15 09:59:42Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,14 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
11-April-2018 G.Cosmo (geom-specific-V10-03-27)
- Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake.
13-February-2018 G.Cosmo
- Corrected conversion of input parameters to internal structure (used for
caching for adoption in GDML persistency) in G4UPolycone and G4UPolyhedra
wrappers.
13-December-2017 E.Tcherniaev (geom-specific-V10-03-26)
- Removed redundant data initialistion in G4ExtrudedSolid constructors.
@@ -35,10 +35,10 @@
//
// Class description:
//
// Wrapper class for G4UGenericPolycone to make use of it from USolids module.
// Wrapper class for G4GenericPolycone to make use of VecGeom GenericPolycone.
// History:
// 30.10.13 G.Cosmo, CERN/PH
// 30.10.13 G.Cosmo, CERN
// --------------------------------------------------------------------
#ifndef G4UGENERICPOLYCONE_hh
#define G4UGENERICPOLYCONE_hh
@@ -35,7 +35,7 @@
//
// Class description:
//
// Wrapper class for G4UGenericTrap to make use of it from USolids module.
// Wrapper class for G4GenericTrap to make use of VecGeom GenericTrap.
// History:
// 30.10.13 G.Cosmo, CERN/PH
@@ -35,7 +35,7 @@
//
// Class description:
//
// Wrapper class for UParaboloid to make use of it from USolids module.
// Wrapper class for G4Paraboloid to make use of VecGeom Paraboloid.
// History:
// 19.08.15 Guilherme Lima, FNAL
@@ -35,10 +35,10 @@
//
// Class description:
//
// Wrapper class for UPolycone to make use of it from USolids module.
// Wrapper class for G4Polycone to make use of VecGeom Polycone.
// History:
// 31.10.13 G.Cosmo, CERN/PH
// 31.10.13 G.Cosmo, CERN
// --------------------------------------------------------------------
#ifndef G4UPOLYCONE_HH
#define G4UPOLYCONE_HH
@@ -35,10 +35,10 @@
//
// Class description:
//
// Wrapper class for UPolyhedra to make use of it from USolids module.
// Wrapper class for G4Polyhedra to make use of VecGeom Polyhedron.
// History:
// 31.10.13 G.Cosmo, CERN/PH
// 31.10.13 G.Cosmo, CERN
// --------------------------------------------------------------------
#ifndef G4UPOLYHEDRA_HH
#define G4UPOLYHEDRA_HH
@@ -38,10 +38,10 @@
//
// Class description:
//
// Wrapper class for UTet to make use of UTet from USolids module.
// Wrapper class for G4Tet to make use of VecGeom Tet.
// History:
// 1.11.13 G.Cosmo, CERN/PH
// 1.11.13 G.Cosmo, CERN
// --------------------------------------------------------------------
#ifndef G4UTET_HH
#define G4UTET_HH
@@ -11,7 +11,7 @@
#
# Generated on : 24/9/2010
#
# $Id: sources.cmake 106627 2017-10-17 06:23:58Z gcosmo $
# $Id: sources.cmake 110072 2018-05-15 09:59:42Z gcosmo $
#
#------------------------------------------------------------------------------
@@ -170,7 +170,7 @@ GEANT4_DEFINE_MODULE(NAME G4specsolids
G4graphics_reps
G4intercoms
LINK_LIBRARIES
${USOLIDS_LIBRARIES}
${VECGEOM_LIBRARIES}
)
# List any source specific properties here
@@ -231,24 +231,26 @@ G4PolyconeHistorical* G4UPolycone::GetOriginalParameters() const
}
void G4UPolycone::SetOriginalParameters()
{
G4int numPlanes = GetNSections()+1;
vecgeom::PolyconeHistorical* original_parameters = Base_t::GetOriginalParameters();
fOriginalParameters.Start_angle = original_parameters->fHStart_angle;
fOriginalParameters.Opening_angle = original_parameters->fHOpening_angle;
fOriginalParameters.Num_z_planes = original_parameters->fHNum_z_planes;
delete [] fOriginalParameters.Z_values;
delete [] fOriginalParameters.Rmin;
delete [] fOriginalParameters.Rmax;
G4int numPlanes = fOriginalParameters.Num_z_planes;
fOriginalParameters.Z_values = new G4double[numPlanes];
fOriginalParameters.Rmin = new G4double[numPlanes];
fOriginalParameters.Rmax = new G4double[numPlanes];
for (G4int j=0; j<numPlanes; ++j)
{
fOriginalParameters.Z_values[j] = GetZAtPlane(j);
fOriginalParameters.Rmax[j] = GetRmaxAtPlane(j);
fOriginalParameters.Rmin[j] = GetRminAtPlane(j);
}
fOriginalParameters.Start_angle = Base_t::GetStartPhi();
fOriginalParameters.Opening_angle = Base_t::GetDeltaPhi();
fOriginalParameters.Num_z_planes = numPlanes;
for (G4int i=0; i<numPlanes; ++i)
{
fOriginalParameters.Z_values[i] = original_parameters->fHZ_values[i];
fOriginalParameters.Rmin[i] = original_parameters->fHRmin[i];
fOriginalParameters.Rmax[i] = original_parameters->fHRmax[i];
}
}
void G4UPolycone::SetOriginalParameters(G4PolyconeHistorical* pars)
{
@@ -245,7 +245,16 @@ G4PolyhedraHistorical* G4UPolyhedra::GetOriginalParameters() const
}
void G4UPolyhedra::SetOriginalParameters()
{
G4int numPlanes = GetZSegmentCount() + 1;
G4double startPhi = GetPhiStart();
G4double deltaPhi = GetPhiDelta();
G4int numPlanes = GetZSegmentCount() + 1;
G4int numSides = GetSideCount();
fOriginalParameters.Start_angle = startPhi;
fOriginalParameters.Opening_angle = deltaPhi;
fOriginalParameters.Num_z_planes = numPlanes;
fOriginalParameters.numSide = numSides;
delete [] fOriginalParameters.Z_values;
delete [] fOriginalParameters.Rmin;
delete [] fOriginalParameters.Rmax;
@@ -253,17 +262,13 @@ void G4UPolyhedra::SetOriginalParameters()
fOriginalParameters.Rmin = new G4double[numPlanes];
fOriginalParameters.Rmax = new G4double[numPlanes];
for (G4int j=0; j<numPlanes; ++j)
G4double convertRad = std::cos(0.5*deltaPhi/numSides);
for (G4int i=0; i<numPlanes; ++i)
{
fOriginalParameters.Z_values[j] = GetZPlanes()[j];
fOriginalParameters.Rmax[j] = GetRMax()[j];
fOriginalParameters.Rmin[j] = GetRMin()[j];
fOriginalParameters.Z_values[i] = GetZPlanes()[i];
fOriginalParameters.Rmax[i] = GetRMax()[i]/convertRad;
fOriginalParameters.Rmin[i] = GetRMin()[i]/convertRad;
}
fOriginalParameters.Start_angle = GetPhiStart();
fOriginalParameters.Opening_angle = GetPhiDelta();
fOriginalParameters.Num_z_planes = numPlanes;
fOriginalParameters.numSide = GetSideCount();
}
void G4UPolyhedra::SetOriginalParameters(G4PolyhedraHistorical* pars)
{
@@ -298,18 +303,17 @@ G4bool G4UPolyhedra::Reset()
wrDelta = twopi;
}
wrNumSide = fOriginalParameters.numSide;
G4double convertRad = 1./std::cos(0.5*wrDelta/wrNumSide);
rzcorners.resize(0);
for (G4int i=0; i<fOriginalParameters.Num_z_planes; ++i)
{
G4double z = fOriginalParameters.Z_values[i];
G4double r = fOriginalParameters.Rmax[i]*convertRad;
G4double r = fOriginalParameters.Rmax[i];
rzcorners.push_back(G4TwoVector(r,z));
}
for (G4int i=fOriginalParameters.Num_z_planes-1; i>=0; --i)
{
G4double z = fOriginalParameters.Z_values[i];
G4double r = fOriginalParameters.Rmin[i]*convertRad;
G4double r = fOriginalParameters.Rmin[i];
rzcorners.push_back(G4TwoVector(r,z));
}
std::vector<G4int> iout;