Import Geant4 10.7.0 source tree

This commit is contained in:
Gabriele Cosmo
2020-12-04 12:30:43 +01:00
parent 67ba86d073
commit dab42d2018
3770 changed files with 226369 additions and 286486 deletions
@@ -1,6 +1,9 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
cmake_minimum_required(VERSION 3.8...3.18)
if(${CMAKE_VERSION} VERSION_LESS 3.12)
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
endif()
project(underground_physics)
#----------------------------------------------------------------------------
@@ -21,7 +24,7 @@ endif()
include(${Geant4_USE_FILE})
#Check here for DMXENV_GPS_USE
#Use GPS if the environment variable is set, and the user has *not* supplied the CMake
#Use GPS if the environment variable is set, and the user has *not* supplied the CMake
#command line argument. Otherwise, the argument of the command line has the priority.
#
if("$ENV{DMXENV_GPS_USE}" AND NOT DEFINED DMXENV_GPS_USE)
@@ -40,7 +43,7 @@ endif()
#----------------------------------------------------------------------------
# Locate sources and headers for this project
#
include_directories(${PROJECT_SOURCE_DIR}/include
include_directories(${PROJECT_SOURCE_DIR}/include
${Geant4_INCLUDE_DIR})
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
+4 -12
View File
@@ -40,12 +40,7 @@
// --------------------------------------------------------------
#include "G4Types.hh"
#ifdef G4MULTITHREADED
#include "G4MTRunManager.hh"
#else
#include "G4RunManager.hh"
#endif
#include "G4RunManagerFactory.hh"
#include "G4UImanager.hh"
#include "Randomize.hh"
@@ -64,12 +59,9 @@ int main(int argc,char** argv) {
G4Random::setTheEngine(new CLHEP::RanecuEngine);
// Construct the default run manager
#ifdef G4MULTITHREADED
G4MTRunManager* runManager = new G4MTRunManager;
//runManager->SetNumberOfThreads(2);
#else
G4RunManager* runManager = new G4RunManager;
#endif
auto* runManager = G4RunManagerFactory::CreateRunManager();
G4int nThreads = 4;
runManager->SetNumberOfThreads(nThreads);
// set mandatory initialization classes
runManager->SetUserInitialization(new DMXDetectorConstruction);
+43 -26
View File
@@ -7,21 +7,38 @@
Category History file
---------------------
17.11.2020 - S. Guatelli (DMX-V10-06-04)
Migration to G4RunManagerFactory
03.11.2020 - D.Sawkey (DMX-V10-06-03)
Build material property tables using std::vectors
02.11.2020 - B.Morgan (DMX-V10-06-02)
Support same CMake version range as core Geant4
14.10.2020 - V. Ribon (DMX-V10-06-01)
neutron.mac, ambe_spectrum.mac : removed unneeded
command "/process/had/rdm/analogueMC 1".
05.08.2020 - V. Ribon (DMX-V10-06-00)
neutron.mac, ambe_spectrum.mac, UserRequirements.txt : migrated
UI commands from "/grdm/..." to "/process/had/rdm/..."
09.11.2019 - V. Ivanchenko (DMX-V10-05-03)
DMXPhysicsList : clean-up both EM, hadronic and radioactive decay
30.08.2019 - S. Guatelli (DMX-V10-05-02)
30.08.2019 - S. Guatelli (DMX-V10-05-02)
G4VIS_USE deleted
10.05.2019 - V. Ivanchenko (DMX-V10-05-01)
DMXPhysicsList : add Glauber-Gribov cross section for all elastic
processes
DMXPhysicsList : add Glauber-Gribov cross section for all elastic
processes
31.01.2019 - I.Hrivnacova (DMX-V10-05-00)
Merged GitHub PR #4: all Boolean operators now return G4bool.
09.08.2018 - A. Ribon (DMX-V10-04-01)
DMXPhysicsList : replaced the explicit high-energy limit of
DMXPhysicsList : replaced the explicit high-energy limit of
hadronic physics with the one from G4HadronicParameters .
10.05.2018 - B. Morgan (DMX-V10-04-00)
@@ -63,34 +80,34 @@
23.05.2014 - L. Pandola (DMX-V10-00-04)
Actual MT migration. Use G4MTRunManager
Added G4ShortLivedConstructor in the physics list, to
Added G4ShortLivedConstructor in the physics list, to
avoid G4Exception PART10116.
21.05.2014 - L. Pandola (DMX-V10-00-03)
Edit constructor of DMXSteppingAction, make const
Edit constructor of DMXSteppingAction, make const
Getters in DMXEventAction.
Instantiate DMXRunAction also in the master
Fix a problem with the names of the ASCII files
20.05.2014 - L. Pandola (DMX-V10-00-02)
Edit the constructor of DMXEventAction
Edit the constructor of DMXEventAction
Make Getters const in RunAction and PrimaryGenerator
ASCII files are created per-thread. Not open at every
ASCII files are created per-thread. Not open at every
event, but kept as private class members.
13.05.2014 - L. Pandola (DMX-V10-00-01)
Analysis files closed at the end of execution (not
end of event).
end of event).
Added ConstructSDandField() method in the Detector
Clean up the detector construction messenger
Made Hits allocators as ThreadLocal
Remove CLHEP::Random
08.05.2014 - L. Pandola (DMX-V10-00-00)
Added ActionInitialization class
Added ActionInitialization class
07.11.2013 - L. Pandola (DMX-V09-06-08)
Remove dependency from the deprecated LEP and HEP
Remove dependency from the deprecated LEP and HEP
models from Geisha
30.07.2013 - A. Dotti (DMX-V09-06-07)
@@ -98,19 +115,19 @@
unused private data members
31.05.2013 - L. Pandola (DMX-V09-06-06)
Migrate analysis from the AIDA-based local singleton
class to the g4analysis tools (no AIDA dependency
Migrate analysis from the AIDA-based local singleton
class to the g4analysis tools (no AIDA dependency
any longer). Clean-up of README and CMakeLists.txt.
Some cosmetics in the code.
18.04.2013 - L. Pandola (DMX-V09-06-05)
In DMXMinEkineCuts.cc, migrate calculation of the range
from G4EnergyLossTable (obsolete class) to
G4LossTableManager. This should hopefully fix the problems
In DMXMinEkineCuts.cc, migrate calculation of the range
from G4EnergyLossTable (obsolete class) to
G4LossTableManager. This should hopefully fix the problems
observed in DMX-V09-06-04. Other minor cosmetics.
16.04.2013 - L. Pandola (DMX-V09-06-04)
- Trying to understand the origin of the crashes which
- Trying to understand the origin of the crashes which
caused the rejection of DMX-V09-06-03
21.03.2013 - L. Pandola (DMX-V09-06-03)
@@ -131,8 +148,8 @@
- Fix the CMakeLists.txt file (AIDA optional dependency)
16.10.2012 - L.Pandola (DMX-V09-05-02)
- Change the logic of the CMakeLists.txt file. The env variable
and the cmake line command can be used (the cmake commands gets
- Change the logic of the CMakeLists.txt file. The env variable
and the cmake line command can be used (the cmake commands gets
the priority)
12.10.2012 - L.Pandola (DMX-V09-05-01)
@@ -156,23 +173,23 @@
Change /vis/open OGLxxx to /vis/open OGL
16.02.2010 - L. Pandola (DMX-V09-03-00)
Copy of the previous tag, DMX-V09-02-02, which was not submitted for
Copy of the previous tag, DMX-V09-02-02, which was not submitted for
testing.
26.10.2009 - L. Pandola (DMX-V09-02-02)
Physics list migrated from LowEnergy processes to the new Livermore
models. Physics results unchanged for gamma/e-. Possible differences
Physics list migrated from LowEnergy processes to the new Livermore
models. Physics results unchanged for gamma/e-. Possible differences
with ions/protons, since we don't use anymore G4hLowEnergyIonisation
22.10.2009 - L. Pandola (DMX-V09-02-01)
Correct Analysis manager to solve a problem with the HBOOK output files
(ntuples not filled, histograms not saved). Still at the stage of
(ntuples not filled, histograms not saved). Still at the stage of
pre-migration.
22.10.2009 - L. Pandola (DMX-V09-02-00)
Get rid of a warning message and allocation problems with ntuple2
Meant to be the reference to verify the migration to new
Livermore models.
Meant to be the reference to verify the migration to new
Livermore models.
16.06.2008 - G.A.P.Cirrone (DMX-V09-01-01)
Removed AIDA command from GNUmakefile
@@ -75,31 +75,31 @@ PHYSICS:
The following areas of physics should be included:
UR 3.1: · Low Energy Electromagnetic - to 250eV for both e and photons
UR 3.1: · Low Energy Electromagnetic - to 250eV for both e and photons
Maximum energy range around 10 MeV for any particle
UR 3.2: · Compton Scattering
UR 3.3: · Photoelectric Effect
UR 3.4: · Bremsstrahlung
UR 3.5: · Rayleigh Scattering - for both optical photons and hard
UR 3.2: · Compton Scattering
UR 3.3: · Photoelectric Effect
UR 3.4: · Bremsstrahlung
UR 3.5: · Rayleigh Scattering - for both optical photons and hard
X-rays/Gammas
UR 3.6: · Electromagnetic ionisation
UR 3.7: · Delta Rays
UR 3.6: · Electromagnetic ionisation
UR 3.7: · Delta Rays
Produced discretely down to 250eV to allow secondaries and
tertiaries to be properly handled
UR 3.8: · Heavy Ion Transport - to 250eV for protons, alphas and nuclei
UR 3.8: · Heavy Ion Transport - to 250eV for protons, alphas and nuclei
Allows separate scintillation time and yield compared to gammas
(electrons)
UR 3.9: · Radioactive Decay - induced
UR 3.9: · Radioactive Decay - induced
All materials are sensitive to induced activity as a consequence
of photo-nuclear or neutron capture
UR 3.10: · Radioactive Decay - sources
UR 3.10: · Radioactive Decay - sources
Specific nuclei can be decayed within the geometry to reproduce
experimental calibration the experiment
UR 3.11: · Neutron tracking from medium energy (few MeV) to thermal capture
UR 3.11: · Neutron tracking from medium energy (few MeV) to thermal capture
Discretely transported through-out the volume to give full
detector response for both neutron capture activation and
elastic and inelastic interaction in the target volume
UR 3.12: · Scintillation light production and ray-tracing to PMT
UR 3.12: · Scintillation light production and ray-tracing to PMT
Optical photon transport introduced to allow realistic
detector response to be produced.
@@ -212,7 +212,7 @@ The user should have the ability to change several features including
/run/verbose
/tracking/verbose
/hits/verbose
/grdm/verbose
/process/had/rdm/verbose
/dmx/gun/verbose
@@ -29,9 +29,8 @@
/dmx/KillGammasInConcrete 0
#
# radioactive decay module
/grdm/analogueMC 1
/grdm/verbose 0
/grdm/allVolumes
/process/had/rdm/verbose 0
/process/had/rdm/allVolumes
#
#
# using GPS for ambe_spectrum:
@@ -26,9 +26,8 @@
/dmx/KillGammasInConcrete 0
#
# radioactive decay module
/grdm/analogueMC 1
/grdm/verbose 0
/grdm/allVolumes
/process/had/rdm/verbose 0
/process/had/rdm/allVolumes
#
# gun: particle
/dmx/gun/verbose 1
@@ -569,11 +569,10 @@ G4VPhysicalVolume* DMXDetectorConstruction::Construct() {
("Vessel", liqPhase_phys, vessel_phys, OpVesselSurface);
*/
const G4int NUM = 2;
G4double vessel_PP[NUM] = { 6.5*eV, 7.50*eV };
G4double vessel_REFL[NUM] = { 0.2, 0.2 };
std::vector<G4double> vessel_PP = { 6.5*eV, 7.50*eV };
std::vector<G4double> vessel_REFL = { 0.2, 0.2 };
G4MaterialPropertiesTable* vessel_mt = new G4MaterialPropertiesTable();
vessel_mt->AddProperty("REFLECTIVITY", vessel_PP, vessel_REFL, NUM);
vessel_mt->AddProperty("REFLECTIVITY", vessel_PP, vessel_REFL);
OpVesselSurface->SetMaterialPropertiesTable(vessel_mt);
// G4LogicalBorderSurface* VesselTopSurface =
@@ -628,13 +627,12 @@ G4VPhysicalVolume* DMXDetectorConstruction::Construct() {
new G4LogicalBorderSurface
("Shield", LXe_phys, CuShield_phys, OpCuShieldSurface);
G4double CuShield_PP[NUM] = { 7.0*eV, 7.50*eV };
G4double CuShield_REFL[NUM] = { 0.3, 0.2 };
std::vector<G4double> CuShield_PP = { 7.0*eV, 7.50*eV };
std::vector<G4double> CuShield_REFL = { 0.3, 0.2 };
G4MaterialPropertiesTable *CuShield_mt = new G4MaterialPropertiesTable();
CuShield_mt->AddProperty("REFLECTIVITY", CuShield_PP, CuShield_REFL, NUM);
CuShield_mt->AddProperty("REFLECTIVITY", CuShield_PP, CuShield_REFL);
OpCuShieldSurface->SetMaterialPropertiesTable(CuShield_mt);
// rings ***************************************************************
G4double ringHeight = 4.*mm;
@@ -648,10 +646,10 @@ G4VPhysicalVolume* DMXDetectorConstruction::Construct() {
ring_log = new G4LogicalVolume(ring_tube, ring_mat, "ring_log");
// optical surface: ring materials table
G4double ring_PP[NUM] = { 6.00*eV, 7.50*eV };
G4double ring_REFL[NUM] = { 0.7, 0.65 };
std::vector<G4double> ring_PP = { 6.00*eV, 7.50*eV };
std::vector<G4double> ring_REFL = { 0.7, 0.65 };
G4MaterialPropertiesTable *ring_mt = new G4MaterialPropertiesTable();
ring_mt->AddProperty("REFLECTIVITY", ring_PP, ring_REFL, NUM);
ring_mt->AddProperty("REFLECTIVITY", ring_PP, ring_REFL);
G4OpticalSurface* OpRingSurface = new G4OpticalSurface
("RingSurface", unified, ground, dielectric_metal, sigalpha=10.*deg);
@@ -751,13 +749,12 @@ G4VPhysicalVolume* DMXDetectorConstruction::Construct() {
new G4LogicalBorderSurface
("Mirror", GXe_phys, mirror_phys, OpMirrorSurface);
G4double mirror_PP[NUM] = { 6.00*eV, 7.50*eV };
G4double mirror_REFL[NUM] = { 0.83, 0.78 };
std::vector<G4double> mirror_PP = { 6.00*eV, 7.50*eV };
std::vector<G4double> mirror_REFL = { 0.83, 0.78 };
G4MaterialPropertiesTable *mirror_mt = new G4MaterialPropertiesTable();
mirror_mt->AddProperty("REFLECTIVITY", mirror_PP, mirror_REFL, NUM);
mirror_mt->AddProperty("REFLECTIVITY", mirror_PP, mirror_REFL);
OpMirrorSurface->SetMaterialPropertiesTable(mirror_mt);
// Grids *************************************************************
G4double gridHeight = 0.100*mm;
@@ -820,10 +817,10 @@ G4VPhysicalVolume* DMXDetectorConstruction::Construct() {
new G4LogicalBorderSurface
("Alpha", LXe_phys, alpha_phys, OpAlphaSurface);
G4double alpha_PP[NUM] = { 6.00*eV, 7.50*eV };
G4double alpha_REFL[NUM] = { 0.05, 0.05 };
std::vector<G4double> alpha_PP = { 6.00*eV, 7.50*eV };
std::vector<G4double> alpha_REFL = { 0.05, 0.05 };
G4MaterialPropertiesTable *alpha_mt = new G4MaterialPropertiesTable();
alpha_mt->AddProperty("REFLECTIVITY", alpha_PP, alpha_REFL, NUM);
alpha_mt->AddProperty("REFLECTIVITY", alpha_PP, alpha_REFL);
OpAlphaSurface->SetMaterialPropertiesTable(alpha_mt);
// americium ***********************************************************
@@ -852,10 +849,10 @@ G4VPhysicalVolume* DMXDetectorConstruction::Construct() {
new G4LogicalBorderSurface
("Americium", LXe_phys, americium_phys, OpAmericiumSurface);
G4double americium_PP[NUM] = { 6.00*eV, 7.50*eV };
G4double americium_REFL[NUM] = { 0.7, 0.65 };
std::vector<G4double> americium_PP = { 6.00*eV, 7.50*eV };
std::vector<G4double> americium_REFL = { 0.7, 0.65 };
G4MaterialPropertiesTable *americium_mt = new G4MaterialPropertiesTable();
americium_mt->AddProperty("REFLECTIVITY", americium_PP, americium_REFL, NUM);
americium_mt->AddProperty("REFLECTIVITY", americium_PP, americium_REFL);
OpAlphaSurface->SetMaterialPropertiesTable(americium_mt);
G4VisAttributes* americium_vat= new G4VisAttributes(cyan);
@@ -915,27 +912,26 @@ G4VPhysicalVolume* DMXDetectorConstruction::Construct() {
new G4LogicalBorderSurface
("phcath_surf", pmt_phys, phcath_phys, phcath_opsurf);
G4double phcath_PP[NUM] = { 6.00*eV, 7.50*eV };
// G4double phcath_REFL[NUM] = { 0.0, 0.0};
std::vector<G4double> phcath_PP = { 6.00*eV, 7.50*eV };
// std::vector<G4double> phcath_REFL = { 0.0, 0.0};
// G4MaterialPropertiesTable* phcath_mt = new G4MaterialPropertiesTable();
// phcath_mt->AddProperty("REFLECTIVITY", phcath_PP, phcath_REFL, NUM);
// phcath_mt->AddProperty("REFLECTIVITY", phcath_PP, phcath_REFL);
// phcath_opsurf->SetMaterialPropertiesTable(phcath_mt);
//**Photocathode surface properties
G4double photocath_EFF[NUM]={1.,1.}; //Enables 'detection' of photons
G4double photocath_ReR[NUM]={1.92,1.92};
G4double photocath_ImR[NUM]={1.69,1.69};
std::vector<G4double> photocath_EFF={1.,1.}; //Enables 'detection' of photons
std::vector<G4double> photocath_ReR={1.92,1.92};
std::vector<G4double> photocath_ImR={1.69,1.69};
G4MaterialPropertiesTable* photocath_mt = new G4MaterialPropertiesTable();
photocath_mt->AddProperty("EFFICIENCY",phcath_PP,photocath_EFF,NUM);
photocath_mt->AddProperty("REALRINDEX",phcath_PP,photocath_ReR,NUM);
photocath_mt->AddProperty("IMAGINARYRINDEX",phcath_PP,photocath_ImR,NUM);
photocath_mt->AddProperty("EFFICIENCY",phcath_PP,photocath_EFF);
photocath_mt->AddProperty("REALRINDEX",phcath_PP,photocath_ReR);
photocath_mt->AddProperty("IMAGINARYRINDEX",phcath_PP,photocath_ImR);
G4OpticalSurface* photocath_opsurf=
new G4OpticalSurface("photocath_opsurf",glisur,polished,
dielectric_metal);
photocath_opsurf->SetMaterialPropertiesTable(photocath_mt);
G4VisAttributes* phcath_vat= new G4VisAttributes(lblue);
phcath_vat->SetForceSolid(true);
phcath_vat->SetVisibility(true);
@@ -61,17 +61,16 @@
LXe->AddElement( elementXe, 1);
GXe->AddElement( elementXe, 1);
const G4int NUMENTRIES = 3;
// G4double LXe_PP[NUMENTRIES] = { 7.07*eV, 7.07*eV };
G4double LXe_PP[NUMENTRIES] = { 7.0*eV , 7.07*eV, 7.14*eV };
G4double LXe_SCINT[NUMENTRIES] = { 0.1, 1.0, 0.1 };
G4double LXe_RIND[NUMENTRIES] = { 1.59 , 1.57, 1.54 };
G4double LXe_ABSL[NUMENTRIES] = { 35.*cm, 35.*cm, 35.*cm}; //atten length
// std::vector<G4double> LXe_PP = { 7.07*eV, 7.07*eV };
std::vector<G4double> LXe_PP = { 7.0*eV , 7.07*eV, 7.14*eV };
std::vector<G4double> LXe_SCINT = { 0.1, 1.0, 0.1 };
std::vector<G4double> LXe_RIND = { 1.59 , 1.57, 1.54 };
std::vector<G4double> LXe_ABSL = { 35.*cm, 35.*cm, 35.*cm}; //atten length
G4MaterialPropertiesTable *LXe_mt = new G4MaterialPropertiesTable();
LXe_mt->AddProperty("FASTCOMPONENT", LXe_PP, LXe_SCINT, NUMENTRIES);
LXe_mt->AddProperty("SLOWCOMPONENT", LXe_PP, LXe_SCINT, NUMENTRIES);
LXe_mt->AddProperty("RINDEX", LXe_PP, LXe_RIND, NUMENTRIES);
LXe_mt->AddProperty("ABSLENGTH", LXe_PP, LXe_ABSL, NUMENTRIES);
LXe_mt->AddProperty("FASTCOMPONENT", LXe_PP, LXe_SCINT);
LXe_mt->AddProperty("SLOWCOMPONENT", LXe_PP, LXe_SCINT);
LXe_mt->AddProperty("RINDEX", LXe_PP, LXe_RIND);
LXe_mt->AddProperty("ABSLENGTH", LXe_PP, LXe_ABSL);
LXe_mt->AddConstProperty("SCINTILLATIONYIELD",12000./MeV); // include QE 20%
// and 13eV creation energy for photons - may be 15eV?
// Fano factor assumed 1; should be much less for Xe ~ 0.13
@@ -83,16 +82,16 @@
LXe_mt->AddConstProperty("YIELDRATIO",1.0);
LXe->SetMaterialPropertiesTable(LXe_mt);
// G4double GXe_PP[NUMENTRIES] = { 7.07*eV, 7.07*eV };
G4double GXe_PP[NUMENTRIES] = { 7.0*eV, 7.07*eV, 7.14*eV };
G4double GXe_SCINT[NUMENTRIES] = { 0.1, 1.0, 0.1 };
G4double GXe_RIND[NUMENTRIES] = { 1.00, 1.00, 1.00 };
G4double GXe_ABSL[NUMENTRIES] = { 100*m, 100*m, 100*m}; //atten length
// std::vector<G4double> GXe_PP = { 7.07*eV, 7.07*eV };
std::vector<G4double> GXe_PP = { 7.0*eV, 7.07*eV, 7.14*eV };
std::vector<G4double> GXe_SCINT = { 0.1, 1.0, 0.1 };
std::vector<G4double> GXe_RIND = { 1.00, 1.00, 1.00 };
std::vector<G4double> GXe_ABSL = { 100*m, 100*m, 100*m}; //atten length
G4MaterialPropertiesTable *GXe_mt = new G4MaterialPropertiesTable();
GXe_mt->AddProperty("FASTCOMPONENT", GXe_PP, GXe_SCINT, NUMENTRIES);
GXe_mt->AddProperty("SLOWCOMPONENT", GXe_PP, GXe_SCINT, NUMENTRIES);
GXe_mt->AddProperty("RINDEX", GXe_PP, GXe_RIND, NUMENTRIES);
GXe_mt->AddProperty("ABSLENGTH", GXe_PP, GXe_ABSL, NUMENTRIES);
GXe_mt->AddProperty("FASTCOMPONENT", GXe_PP, GXe_SCINT);
GXe_mt->AddProperty("SLOWCOMPONENT", GXe_PP, GXe_SCINT);
GXe_mt->AddProperty("RINDEX", GXe_PP, GXe_RIND);
GXe_mt->AddProperty("ABSLENGTH", GXe_PP, GXe_ABSL);
GXe_mt->AddConstProperty("SCINTILLATIONYIELD",12000./MeV); // include QE 20%
GXe_mt->AddConstProperty("RESOLUTIONSCALE",1.0);
GXe_mt->AddConstProperty("FASTTIMECONSTANT",20.*ns);
@@ -111,13 +110,13 @@
quartz->AddElement(Si, 1);
quartz->AddElement(O , 2);
G4double quartz_PP[NUMENTRIES] = { 5.0*eV, 6.69*eV, 7.50*eV }; // lambda range 4 ri
G4double quartz_RIND[NUMENTRIES] = { 1.51, 1.57, 1.61 }; // ref index
// G4double quartz_RIND[NUMENTRIES] = { 1.45, 1.51, 1.54 }; // ref index
G4double quartz_ABSL[NUMENTRIES] = { 3.0*cm, 3.0*cm, 3.0*cm };// atten length
std::vector<G4double> quartz_PP = { 5.0*eV, 6.69*eV, 7.50*eV }; // lambda range 4 ri
std::vector<G4double> quartz_RIND = { 1.51, 1.57, 1.61 }; // ref index
// std::vector<G4double> quartz_RIND = { 1.45, 1.51, 1.54 }; // ref index
std::vector<G4double> quartz_ABSL = { 3.0*cm, 3.0*cm, 3.0*cm };// atten length
G4MaterialPropertiesTable *quartz_mt = new G4MaterialPropertiesTable();
quartz_mt->AddProperty("RINDEX", quartz_PP, quartz_RIND, NUMENTRIES);
quartz_mt->AddProperty("ABSLENGTH", quartz_PP, quartz_ABSL, NUMENTRIES);
quartz_mt->AddProperty("RINDEX", quartz_PP, quartz_RIND);
quartz_mt->AddProperty("ABSLENGTH", quartz_PP, quartz_ABSL);
quartz->SetMaterialPropertiesTable(quartz_mt);
@@ -134,13 +133,13 @@
(name="CathodeMetalAluminium", density=2.700*g/cm3, ncomponents=1);
cathmetalAl->AddElement(Al, 1);
G4double cathmetal_PP[NUMENTRIES] = { 5.0*eV, 6.69*eV, 7.50*eV };
G4double cathmetal_RIND[NUMENTRIES] = { 1.51, 1.57, 1.61 }; // ref index
G4double cathmetal_ABSL[NUMENTRIES] = { 1.e-20*m, 1.e-20*m, 1.e-20*m };// atten length
// G4double cathmetal_ABSL[NUMENTRIES] = { 3.0*cm, 3.0*cm, 3.0*cm };// atten length
std::vector<G4double> cathmetal_PP = { 5.0*eV, 6.69*eV, 7.50*eV };
std::vector<G4double> cathmetal_RIND = { 1.51, 1.57, 1.61 }; // ref index
std::vector<G4double> cathmetal_ABSL = { 1.e-20*m, 1.e-20*m, 1.e-20*m };// atten length
// std::vector<G4double> cathmetal_ABSL = { 3.0*cm, 3.0*cm, 3.0*cm };// atten length
G4MaterialPropertiesTable *cathmetal_mt = new G4MaterialPropertiesTable();
cathmetal_mt->AddProperty("RINDEX", cathmetal_PP, cathmetal_RIND,NUMENTRIES);
cathmetal_mt->AddProperty("ABSLENGTH", cathmetal_PP, cathmetal_ABSL, NUMENTRIES);
cathmetal_mt->AddProperty("RINDEX", cathmetal_PP, cathmetal_RIND);
cathmetal_mt->AddProperty("ABSLENGTH", cathmetal_PP, cathmetal_ABSL);
cathmetalAl->SetMaterialPropertiesTable(cathmetal_mt);
File diff suppressed because it is too large Load Diff