Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
@@ -27,7 +27,7 @@
/// \brief Implementation of the DetectorConstruction class
//
//
// $Id: DetectorConstruction.cc 94932 2015-12-18 09:21:29Z gcosmo $
// $Id: DetectorConstruction.cc 101309 2016-11-14 11:26:17Z gcosmo $
//
//
@@ -40,11 +40,16 @@
#include "DetectorBarr90.hh"
#include "DetectorMessenger.hh"
#include "Materials.hh"
#include "G4Region.hh"
#include "G4RegionStore.hh"
#include "G4ProductionCuts.hh"
#include "G4LogicalVolumeStore.hh"
#include "G4LogicalVolume.hh"
#include "G4ios.hh"
#include "G4SystemOfUnits.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DetectorConstruction::DetectorConstruction()
@@ -68,58 +73,68 @@ DetectorConstruction::~DetectorConstruction()
G4VPhysicalVolume* DetectorConstruction::Construct()
{
G4VPhysicalVolume* world = nullptr;
if( fSetUp == "simpleALICE" )
{
DetectorSimpleALICE simpleALICE;
G4VPhysicalVolume* world = simpleALICE.Construct();
world = simpleALICE.Construct();
fRadiatorDescription = simpleALICE.GetRadiatorDescription();
return world;
}
else if( fSetUp == "alice06" )
{
DetectorALICE06 alice06;
G4VPhysicalVolume* world = alice06.Construct();
world = alice06.Construct();
fRadiatorDescription = alice06.GetRadiatorDescription();
return world;
}
else if( fSetUp == "bari05" )
{
DetectorBari05 bari05;
G4VPhysicalVolume* world = bari05.Construct();
world = bari05.Construct();
fRadiatorDescription = bari05.GetRadiatorDescription();
return world;
}
else if( fSetUp == "harris73" )
{
DetectorHarris73 harris73;
G4VPhysicalVolume* world = harris73.Construct();
world = harris73.Construct();
fRadiatorDescription = harris73.GetRadiatorDescription();
return world;
}
else if( fSetUp == "watase86" )
{
DetectorWatase86 watase86;
G4VPhysicalVolume* world = watase86.Construct();
world = watase86.Construct();
fRadiatorDescription = watase86.GetRadiatorDescription();
return world;
}
else if( fSetUp == "barr90" )
{
DetectorBarr90 barr90;
G4VPhysicalVolume* world = barr90.Construct();
world = barr90.Construct();
fRadiatorDescription = barr90.GetRadiatorDescription();
return world;
}
else
{
G4cout << "Experimental setup is unsupported. Check /XTRdetector/setup " <<G4endl;
G4cout << "Experimental setup is unsupported. Check /XTRdetector/setup "
<<G4endl;
G4cout << "Run default: simpleALICE"<<G4endl;
DetectorSimpleALICE simpleALICE;
G4VPhysicalVolume* world = simpleALICE.Construct();
world = simpleALICE.Construct();
fRadiatorDescription = simpleALICE.GetRadiatorDescription();
return world;
}
G4RegionStore* regionStore = G4RegionStore::GetInstance();
size_t nRegions = regionStore->size();
G4double cut = 1.*CLHEP::mm;
for(size_t i=0; i<nRegions; ++i) {
G4Region* reg = (*regionStore)[i];
if(!reg->GetProductionCuts()) {
G4ProductionCuts* cuts = new G4ProductionCuts();
cuts->SetProductionCut(cut,"gamma");
cuts->SetProductionCut(cut,"e-");
cuts->SetProductionCut(cut,"e+");
cuts->SetProductionCut(cut,"proton");
reg->SetProductionCuts(cuts);
}
}
return world;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -127,7 +142,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
RadiatorDescription* DetectorConstruction::GetRadiatorDescription() const
{
if ( ! fRadiatorDescription ) {
G4cerr << "RadiatorDescription is not defined" << G4endl;
G4cout << "RadiatorDescription is not defined" << G4endl;
}
return fRadiatorDescription;
}
@@ -115,7 +115,8 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct()
// Radiator description
fRadiatorDescription = new RadiatorDescription;
fRadiatorDescription->fFoilMaterial = mylar; // CH2; // Kapton; // Mylar ; // Li ; // CH2 ;
fRadiatorDescription->fFoilMaterial = mylar;
// CH2; // Kapton; // Mylar ; // Li ; // CH2 ;
fRadiatorDescription->fGasMaterial = air; // CO2; // He; //
fRadiatorDescription->fFoilThickness = radThickness;
fRadiatorDescription->fGasThickness = gasGap;
@@ -142,7 +143,8 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct()
G4double radZ = startZ + 0.5*radThick;
G4VSolid* solidRadiator
= new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius, 0.5*radThick);
= new G4Box("Radiator", 1.1*absorberRadius, 1.1*absorberRadius,
0.5*radThick);
G4LogicalVolume* logicRadiator
= new G4LogicalVolume(solidRadiator, radiatorMat, "Radiator");
@@ -160,7 +162,8 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct()
// Absorber
G4VSolid* solidAbsorber
= new G4Box("Absorber", absorberRadius, absorberRadius, absorberThickness/2.);
= new G4Box("Absorber", absorberRadius, absorberRadius,
absorberThickness/2.);
G4LogicalVolume* logicAbsorber
= new G4LogicalVolume(solidAbsorber, absorberMaterial, "Absorber");
@@ -168,7 +171,8 @@ G4VPhysicalVolume* DetectorSimpleALICE::Construct()
G4double windowZ = startZ + radThick + windowThick/2. + 15.0*mm;
G4double gapZ = windowZ + windowThick/2. + gapThick/2. + 0.01*mm;
G4double electrodeZ = gapZ + gapThick/2. + electrodeThick/2. + 0.01*mm;
G4double absorberZ = electrodeZ + electrodeThick/2. + absorberThickness/2. + 0.01*mm;
G4double absorberZ = electrodeZ + electrodeThick/2.
+ absorberThickness/2. + 0.01*mm;
new G4PVPlacement(0, G4ThreeVector(0., 0., absorberZ),
"Absorber", logicAbsorber, physicsWorld, false, 0);
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm10/src/PhysicsList.cc
/// \brief Implementation of the PhysicsList class
//
// $Id: PhysicsList.cc 94932 2015-12-18 09:21:29Z gcosmo $
// $Id: PhysicsList.cc 100281 2016-10-17 08:37:40Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -220,10 +220,11 @@ void PhysicsList::AddStepMax()
// Step limitation seen as a process
fStepMaxProcess = new StepMax();
theParticleIterator->reset();
while ((*theParticleIterator)())
auto particleIterator=GetParticleIterator();
particleIterator->reset();
while ((*particleIterator)())
{
G4ParticleDefinition* particle = theParticleIterator->value();
G4ParticleDefinition* particle = particleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (fStepMaxProcess->IsApplicable(*particle))
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm5/src/StackingAction.cc
/// \file electromagnetic/TestEm10/src/StackingAction.cc
/// \brief Implementation of the StackingAction class
//
// $Id: StackingAction.cc 88674 2015-03-05 08:29:46Z gcosmo $
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm8/src/StepMax.cc
/// \file electromagnetic/TestEm10/src/StepMax.cc
/// \brief Implementation of the StepMax class
//
// $Id: StepMax.cc 94932 2015-12-18 09:21:29Z gcosmo $
// $Id: StepMax.cc 98276 2016-07-04 18:00:15Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm8/src/StepMaxMessenger.cc
/// \file electromagnetic/TestEm10/src/StepMaxMessenger.cc
/// \brief Implementation of the StepMaxMessenger class
//
// $Id: StepMaxMessenger.cc 67268 2013-02-13 11:38:40Z ihrivnac $