Import Geant4 10.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 14:11:04 +02:00
parent c9b32a6c0a
commit d4af681f38
4886 changed files with 420149 additions and 1023309 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4PVDivision.cc 66356 2012-12-18 09:02:32Z gcosmo $
// $Id: G4PVDivision.cc 92631 2015-09-09 12:53:04Z gcosmo $
//
// class G4PVDivision Implementation file
//
@@ -240,7 +240,6 @@ G4PVDivision::CheckAndSetParameters( const EAxis pAxis,
//--------------------------------------------------------------------------
G4PVDivision::~G4PVDivision()
{
delete GetRotation();
}
//--------------------------------------------------------------------------
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ParameterisationPolycone.cc 75219 2013-10-29 16:12:13Z gcosmo $
// $Id: G4ParameterisationPolycone.cc 92635 2015-09-09 13:39:54Z gcosmo $
//
// class G4ParameterisationPolycone Implementation file
//
@@ -48,6 +48,14 @@ G4VParameterisationPolycone( EAxis axis, G4int nDiv, G4double width,
DivisionType divType )
: G4VDivisionParameterisation( axis, nDiv, width, offset, divType, msolid )
{
#ifdef G4MULTITHREADED
std::ostringstream message;
message << "Divisions for G4Polycone currently NOT supported in MT-mode."
<< G4endl
<< "Sorry! Solid: " << msolid->GetName();
G4Exception("G4VParameterisationPolycone::G4VParameterisationPolycone()",
"GeomDiv0001", FatalException, message);
#endif
G4Polycone* msol = (G4Polycone*)(msolid);
if (msolid->GetEntityType() == "G4ReflectedSolid")
{
@@ -474,7 +482,7 @@ void G4ParameterisationPolyconeZ::CheckParametersValidity()
isegend = counter;
}
++counter;
}
} // Loop checking, 06.08.2015, G.Cosmo
}
else {
// The start/end position of the divided region
@@ -496,7 +504,7 @@ void G4ParameterisationPolyconeZ::CheckParametersValidity()
isegend = counter;
}
++counter;
}
} // Loop checking, 06.08.2015, G.Cosmo
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ParameterisationPolyhedra.cc 66356 2012-12-18 09:02:32Z gcosmo $
// $Id: G4ParameterisationPolyhedra.cc 92635 2015-09-09 13:39:54Z gcosmo $
//
// class G4ParameterisationPolyhedra Implementation file
//
@@ -51,10 +51,18 @@ G4VParameterisationPolyhedra( EAxis axis, G4int nDiv, G4double width,
DivisionType divType )
: G4VDivisionParameterisation( axis, nDiv, width, offset, divType, msolid )
{
std::ostringstream message;
#ifdef G4MULTITHREADED
message << "Divisions for G4Polyhedra currently NOT supported in MT-mode."
<< G4endl
<< "Sorry! Solid: " << msolid->GetName();
G4Exception("G4VParameterisationPolyhedra::G4VParameterisationPolyhedra()",
"GeomDiv0001", FatalException, message);
#endif
G4Polyhedra* msol = (G4Polyhedra*)(msolid);
if ((msolid->GetEntityType() != "G4ReflectedSolid") && (msol->IsGeneric()))
{
std::ostringstream message;
message << "Generic construct for G4Polyhedra NOT supported." << G4endl
<< "Sorry! Solid: " << msol->GetName();
G4Exception("G4VParameterisationPolyhedra::G4VParameterisationPolyhedra()",
@@ -555,7 +563,7 @@ void G4ParameterisationPolyhedraZ::CheckParametersValidity()
isegend = counter;
}
++counter;
}
} // Loop checking, 06.08.2015, G.Cosmo
}
else {
// The start/end position of the divided region
@@ -577,7 +585,7 @@ void G4ParameterisationPolyhedraZ::CheckParametersValidity()
isegend = counter;
}
++counter;
}
} // Loop checking, 06.08.2015, G.Cosmo
}
if ( isegstart != isegend ) {
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ReplicatedSlice.cc 66356 2012-12-18 09:02:32Z gcosmo $
// $Id: G4ReplicatedSlice.cc 89815 2015-04-30 14:50:22Z gcosmo $
//
// --------------------------------------------------------------------
@@ -319,6 +319,7 @@ void G4ReplicatedSlice::SetParameterisation( G4LogicalVolume* motherLogical,
{
G4VSolid* mSolid = motherLogical->GetSolid();
G4String mSolidType = mSolid->GetEntityType();
fparam = 0;
// If the solid is a reflected one, update type to its
// real constituent solid.
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4VDivisionParameterisation.cc 66872 2013-01-15 01:25:57Z japost $
// $Id: G4VDivisionParameterisation.cc 92625 2015-09-09 12:34:07Z gcosmo $
//
// class G4VDivisionParameterisation Implementation file
//
@@ -39,8 +39,10 @@
#include "G4RotationMatrix.hh"
#include "G4ReflectedSolid.hh"
#include "G4GeometryTolerance.hh"
#include "G4AutoDelete.hh"
G4ThreadLocal G4int G4VDivisionParameterisation::verbose = 5;
const G4int G4VDivisionParameterisation::verbose = 5;
G4ThreadLocal G4RotationMatrix* G4VDivisionParameterisation::fRot = 0;
//--------------------------------------------------------------------------
G4VDivisionParameterisation::
@@ -66,7 +68,7 @@ G4VDivisionParameterisation( EAxis axis, G4int nDiv,
//--------------------------------------------------------------------------
G4VDivisionParameterisation::~G4VDivisionParameterisation()
{
if (fDeleteSolid) delete fmotherSolid;
if (fDeleteSolid) delete fmotherSolid;
}
//--------------------------------------------------------------------------
@@ -87,13 +89,13 @@ void
G4VDivisionParameterisation::
ChangeRotMatrix( G4VPhysicalVolume *physVol, G4double rotZ ) const
{
G4RotationMatrix* rm = new G4RotationMatrix();
rm->rotateZ( rotZ );
//----- set rotation
//----- delete first old rotation matrix
G4RotationMatrix* rmold = physVol->GetRotation();
delete rmold;
physVol->SetRotation(rm);
if (!fRot)
{
fRot = new G4RotationMatrix();
G4AutoDelete::Register(fRot);
}
fRot->rotateZ( rotZ );
physVol->SetRotation(fRot);
}
//--------------------------------------------------------------------------