diff --git a/Simulation/G4Utilities/G4UserActions/CMakeLists.txt b/Simulation/G4Utilities/G4UserActions/CMakeLists.txt index 617cf651efbffde45b5bfde8ce70fd925344c7de..eed69df36bbb64321f4a6ec97f71abf6dd4accda 100644 --- a/Simulation/G4Utilities/G4UserActions/CMakeLists.txt +++ b/Simulation/G4Utilities/G4UserActions/CMakeLists.txt @@ -23,7 +23,7 @@ atlas_depends_on_subdirs( PUBLIC Simulation/G4Sim/SimHelpers Simulation/G4Utilities/TrackWriteFastSim Control/AthToolSupport/AsgTools - Control/StoreGate ) + Tools/PathResolver ) # External dependencies: find_package( CLHEP ) @@ -37,9 +37,10 @@ atlas_add_component( G4UserActions src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} ${TBB_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel G4AtlasInterfaces G4AtlasToolsLib CxxUtils EventInfo InDetSimEvent MuonSimEvent MCTruth SimHelpers TrackWriteFastSimLib ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} ${TBB_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel G4AtlasInterfaces G4AtlasToolsLib CxxUtils EventInfo InDetSimEvent MuonSimEvent MCTruth SimHelpers TrackWriteFastSimLib PathResolver) # Install files from the package: atlas_install_headers( G4UserActions ) atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py ) +atlas_install_runtime( share/*.dat ) diff --git a/Simulation/G4Utilities/G4UserActions/G4UserActions/RadiationMapsMaker.h b/Simulation/G4Utilities/G4UserActions/G4UserActions/RadiationMapsMaker.h new file mode 100644 index 0000000000000000000000000000000000000000..bac45583ebaadbeeff2f39ccad4a201c399e2923 --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/G4UserActions/RadiationMapsMaker.h @@ -0,0 +1,109 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef G4UserActions_RadiationMapsMaker_H +#define G4UserActions_RadiationMapsMaker_H + +#include <vector> +#include "G4UserRunAction.hh" +#include "G4UserSteppingAction.hh" + +class TGraph; + +namespace G4UA +{ + + class RadiationMapsMaker: + public G4UserRunAction, + public G4UserSteppingAction + { + + public: + + /// @brief Simple struct for holding the radiation maps + struct Report + { + /// bin sizes and ranges match the requirements for the + /// Radiation Estimate Web tool and thus are hardcoded here + /// for now. + /// These could be made configurable at some point ... + /// + const int nBinsr = 120; + const int nBinsz = 240; + + const double rMinZoom = 0.; // cm + const double rMinFull = 0.; // cm + + const double rMaxZoom = 480.; // cm + const double rMaxFull = 1200.; // cm + + const double zMinZoom = 0.; // cm + const double zMinFull = 0.; // cm + + const double zMaxZoom = 960.; // cm + const double zMaxFull = 2400.; // cm + + const int nBinsr3d = 30; + const int nBinsz3d = 60; + const int nBinsphi3d = 32; + + const double phiMinZoom = -180.; // degrees + const double phiMaxZoom = 180.; // degrees + + /// vector of tid seen by thread in zoomed area + std::vector<double> m_rz_tid; + /// vector of ionizing energy density seen by thread in zoomed area + std::vector<double> m_rz_eion; + /// vector of 1 MeV neutron equivalent flux seen by thread in zoomed area + std::vector<double> m_rz_niel; + /// vector of >20 MeV hadron flux seen by thread in zoomed area + std::vector<double> m_rz_h20; + + /// vector of tid seen by thread in full area + std::vector<double> m_full_rz_tid; + /// vector of ionizing energy density seen by thread in full area + std::vector<double> m_full_rz_eion; + /// vector of 1 MeV neutron equivalent flux seen by thread in full area + std::vector<double> m_full_rz_niel; + /// vector of >20 MeV hadron flux seen by thread in full area + std::vector<double> m_full_rz_h20; + + /// vector of tid seen by thread in 3d + std::vector<double> m_3d_tid; + /// vector of ionizing energy density seen by thread in 3d + std::vector<double> m_3d_eion; + /// vector of 1 MeV neutron equivalent flux seen by thread in 3d + std::vector<double> m_3d_niel; + /// vector of >20 MeV hadron flux seen by thread in 3d + std::vector<double> m_3d_h20; + + void merge(const Report& maps); + }; + + // initialize maps to 0 + virtual void BeginOfRunAction(const G4Run*) override final; + + // increment radiation maps + virtual void UserSteppingAction(const G4Step*) override final; + + /// Retrieve my maps + const Report& getReport() const + { return m_maps; } + + private: + + Report m_maps; + + TGraph * m_tgpSiA = 0; + TGraph * m_tgpSiB = 0; + TGraph * m_tgnSiA = 0; + TGraph * m_tgnSiB = 0; + TGraph * m_tgpiSi = 0; + + }; // class RadiationMapsMaker + + +} // namespace G4UA + +#endif diff --git a/Simulation/G4Utilities/G4UserActions/G4UserActions/RadiationMapsMakerTool.h b/Simulation/G4Utilities/G4UserActions/G4UserActions/RadiationMapsMakerTool.h new file mode 100644 index 0000000000000000000000000000000000000000..b6cda6881cd35de39970cdca15d0ba4cdd9f3be3 --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/G4UserActions/RadiationMapsMakerTool.h @@ -0,0 +1,61 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef G4USERACTIONS_G4UA__RADIATIONMAPSMAKERTOOL_H +#define G4USERACTIONS_G4UA__RADIATIONMAPSMAKERTOOL_H + +#include "G4AtlasInterfaces/IG4RunActionTool.h" +#include "G4AtlasInterfaces/IG4SteppingActionTool.h" +#include "G4AtlasTools/ActionToolBase.h" +#include "G4UserActions/RadiationMapsMaker.h" + +namespace G4UA +{ + + /// + /// @class RadiationMapsMakerTool + /// @brief Tool which manages the RadiationMapsMaker action. + /// + /// Create the RadiationMapsMaker for each worker thread + /// + /// @author Sven Menke (copy pasted from Andrea Di Simone's FluxRecorderTool) + /// + +class RadiationMapsMakerTool: + public ActionToolBaseReport<RadiationMapsMaker>, + public IG4RunActionTool, + public IG4SteppingActionTool + { + + public: + /// standard tool ctor + RadiationMapsMakerTool(const std::string& type, + const std::string& name, + const IInterface* parent); + + /// Initialize configurable properties + virtual StatusCode initialize() override final; + + /// Finalize and merge results from all threads + virtual StatusCode finalize() override final; + + /// retrieves the run action + virtual G4UserRunAction* getRunAction() override final + { return static_cast<G4UserRunAction*>( getAction() ); } + /// retrieves the stepping action + virtual G4UserSteppingAction* getSteppingAction() override final + { return static_cast<G4UserSteppingAction*>( getAction() ); } + + protected: + /// create action for this thread + virtual std::unique_ptr<RadiationMapsMaker> makeAction() override final; + + private: + /// Output Filename for the Radiation Maps + std::string m_radMapsFileName; + + }; // class RadiationMapsMakerTool + +} // namespace G4UA +#endif diff --git a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py index a7b576184c30c88a89a2eaff953d007b4d0e46ef..9eb36fbe497db5833d50495d5cbb5c6b2b73a1b0 100644 --- a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py +++ b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py @@ -113,3 +113,6 @@ def getFluxRecorderTool(name="G4UA::FluxRecorderTool", **kwargs): #theApp.exit(1) return False return CfgMgr.G4UA__FluxRecorderTool(name, **kwargs) + +def getRadiationMapsMakerTool(name="G4UA::RadiationMapsMakerTool", **kwargs): + return CfgMgr.G4UA__RadiationMapsMakerTool(name, **kwargs) diff --git a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py index 063374ee7c9453ceb614c9c0ee49f93a993a98d1..5c073fb20b063571551c8117e07b1706135960de 100644 --- a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py +++ b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py @@ -23,5 +23,6 @@ addTool("G4UserActions.G4UserActionsConfig.getScoringVolumeTrackKillerTool", "G4 addTool("G4UserActions.G4UserActionsConfig.getFluxRecorderTool", "G4UA::FluxRecorderTool") addTool("G4UserActions.G4UserActionsConfig.getScoringPlaneTool", "G4UA::ScoringPlaneTool") +addTool("G4UserActions.G4UserActionsConfig.getRadiationMapsMakerTool", "G4UA::RadiationMapsMakerTool") diff --git a/Simulation/G4Utilities/G4UserActions/share/jobOptions.RadiationMapsMaker.py b/Simulation/G4Utilities/G4UserActions/share/jobOptions.RadiationMapsMaker.py new file mode 100644 index 0000000000000000000000000000000000000000..b0351a9425712c27d7e522dff7ffadc638dbd4f7 --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/share/jobOptions.RadiationMapsMaker.py @@ -0,0 +1,10 @@ +from G4AtlasApps.SimFlags import simFlags +from G4UserActions.G4UserActionsConf import G4UA__RadiationMapsMakerTool +# +# to change configurables modify them like in the next lines (default is RadMaps.root): +# +# radmaptool = G4UA__RadiationMapsMakerTool("G4UA::RadiationMapsMakerTool") +# radmaptool.RadMapsFileName = "RadiationMaps.root" +# +simFlags.OptionalUserActionList.addAction('G4UA::RadiationMapsMakerTool',['Run','Step']) + diff --git a/Simulation/G4Utilities/G4UserActions/share/neutrons_Si_Gunnar_Griffin.dat b/Simulation/G4Utilities/G4UserActions/share/neutrons_Si_Gunnar_Griffin.dat new file mode 100644 index 0000000000000000000000000000000000000000..0b51da8103af7bf75512d5c86d37bf11685c9e41 --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/share/neutrons_Si_Gunnar_Griffin.dat @@ -0,0 +1,643 @@ +#A. Vasilescu (INPE Bucharest) and G. Lindstroem (University of Hamburg), Displacement damage in silicon, on-line compilation, http://sesam.desy.de/members/gunnar/Si-dfuncs.html +# E_kin (MeV) D/(95MeVmb) + 1.025E-10 1.575E-02 + 1.075E-10 1.537E-02 + 1.125E-10 1.503E-02 + 1.175E-10 1.470E-02 + 1.238E-10 1.432E-02 + 1.313E-10 1.391E-02 + 1.388E-10 1.353E-02 + 1.463E-10 1.317E-02 + 1.550E-10 1.280E-02 + 1.650E-10 1.242E-02 + 1.750E-10 1.206E-02 + 1.850E-10 1.172E-02 + 1.950E-10 1.142E-02 + 2.050E-10 1.113E-02 + 2.150E-10 1.087E-02 + 2.250E-10 1.063E-02 + 2.350E-10 1.039E-02 + 2.475E-10 1.013E-02 + 2.625E-10 9.834E-03 + 2.750E-10 9.609E-03 + 2.900E-10 9.356E-03 + 3.100E-10 9.048E-03 + 3.300E-10 8.770E-03 + 3.500E-10 8.516E-03 + 3.700E-10 8.290E-03 + 3.900E-10 8.075E-03 + 4.125E-10 7.847E-03 + 4.375E-10 7.622E-03 + 4.625E-10 7.410E-03 + 4.875E-10 7.219E-03 + 5.125E-10 7.039E-03 + 5.375E-10 6.875E-03 + 5.625E-10 6.718E-03 + 5.875E-10 6.575E-03 + 6.150E-10 6.425E-03 + 6.450E-10 6.274E-03 + 6.750E-10 6.134E-03 + 7.050E-10 6.002E-03 + 7.400E-10 5.864E-03 + 7.800E-10 5.709E-03 + 8.200E-10 5.567E-03 + 8.600E-10 5.438E-03 + 9.000E-10 5.312E-03 + 9.400E-10 5.200E-03 + 9.800E-10 5.091E-03 + 1.025E-09 4.978E-03 + 1.075E-09 4.861E-03 + 1.125E-09 4.751E-03 + 1.175E-09 4.649E-03 + 1.238E-09 4.530E-03 + 1.313E-09 4.398E-03 + 1.388E-09 4.278E-03 + 1.463E-09 4.171E-03 + 1.550E-09 4.049E-03 + 1.650E-09 3.925E-03 + 1.750E-09 3.810E-03 + 1.850E-09 3.706E-03 + 1.950E-09 3.609E-03 + 2.050E-09 3.520E-03 + 2.150E-09 3.437E-03 + 2.250E-09 3.360E-03 + 2.350E-09 3.287E-03 + 2.475E-09 3.203E-03 + 2.625E-09 3.110E-03 + 2.750E-09 3.039E-03 + 2.900E-09 2.962E-03 + 3.100E-09 2.864E-03 + 3.300E-09 2.776E-03 + 3.500E-09 2.695E-03 + 3.700E-09 2.621E-03 + 3.900E-09 2.552E-03 + 4.125E-09 2.482E-03 + 4.375E-09 2.409E-03 + 4.625E-09 2.344E-03 + 4.875E-09 2.283E-03 + 5.125E-09 2.226E-03 + 5.375E-09 2.174E-03 + 5.625E-09 2.125E-03 + 5.875E-09 2.082E-03 + 6.150E-09 2.034E-03 + 6.450E-09 1.985E-03 + 6.750E-09 1.941E-03 + 7.050E-09 1.898E-03 + 7.400E-09 1.853E-03 + 7.800E-09 1.805E-03 + 8.200E-09 1.760E-03 + 8.600E-09 1.718E-03 + 9.000E-09 1.680E-03 + 9.400E-09 1.644E-03 + 9.800E-09 1.610E-03 + 1.025E-08 1.574E-03 + 1.075E-08 1.537E-03 + 1.125E-08 1.503E-03 + 1.175E-08 1.472E-03 + 1.238E-08 1.433E-03 + 1.313E-08 1.392E-03 + 1.388E-08 1.353E-03 + 1.463E-08 1.318E-03 + 1.550E-08 1.280E-03 + 1.650E-08 1.241E-03 + 1.750E-08 1.204E-03 + 1.850E-08 1.172E-03 + 1.950E-08 1.141E-03 + 2.050E-08 1.113E-03 + 2.150E-08 1.087E-03 + 2.250E-08 1.062E-03 + 2.350E-08 1.040E-03 + 2.475E-08 1.013E-03 + 2.625E-08 9.841E-04 + 2.750E-08 9.619E-04 + 2.900E-08 9.359E-04 + 3.100E-08 9.058E-04 + 3.300E-08 8.773E-04 + 3.500E-08 8.523E-04 + 3.700E-08 8.285E-04 + 3.900E-08 8.073E-04 + 4.125E-08 7.847E-04 + 4.375E-08 7.619E-04 + 4.625E-08 7.410E-04 + 4.875E-08 7.215E-04 + 5.125E-08 7.036E-04 + 5.375E-08 6.871E-04 + 5.625E-08 6.716E-04 + 5.875E-08 6.578E-04 + 6.150E-08 6.428E-04 + 6.450E-08 6.273E-04 + 6.750E-08 6.136E-04 + 7.050E-08 6.001E-04 + 7.400E-08 5.861E-04 + 7.800E-08 5.707E-04 + 8.200E-08 5.567E-04 + 8.600E-08 5.434E-04 + 9.000E-08 5.313E-04 + 9.400E-08 5.197E-04 + 9.800E-08 5.090E-04 + 1.025E-07 4.976E-04 + 1.075E-07 4.864E-04 + 1.125E-07 4.753E-04 + 1.175E-07 4.646E-04 + 1.238E-07 4.531E-04 + 1.313E-07 4.397E-04 + 1.388E-07 4.279E-04 + 1.463E-07 4.166E-04 + 1.550E-07 4.049E-04 + 1.650E-07 3.924E-04 + 1.750E-07 3.810E-04 + 1.850E-07 3.705E-04 + 1.950E-07 3.607E-04 + 2.050E-07 3.518E-04 + 2.150E-07 3.437E-04 + 2.250E-07 3.362E-04 + 2.350E-07 3.286E-04 + 2.475E-07 3.204E-04 + 2.625E-07 3.111E-04 + 2.750E-07 3.039E-04 + 2.900E-07 2.962E-04 + 3.100E-07 2.865E-04 + 3.300E-07 2.775E-04 + 3.500E-07 2.695E-04 + 3.700E-07 2.620E-04 + 3.900E-07 2.551E-04 + 4.125E-07 2.483E-04 + 4.375E-07 2.410E-04 + 4.625E-07 2.343E-04 + 4.875E-07 2.284E-04 + 5.125E-07 2.226E-04 + 5.375E-07 2.176E-04 + 5.625E-07 2.128E-04 + 5.875E-07 2.082E-04 + 6.150E-07 2.034E-04 + 6.450E-07 1.985E-04 + 6.750E-07 1.941E-04 + 7.050E-07 1.898E-04 + 7.400E-07 1.852E-04 + 7.800E-07 1.805E-04 + 8.200E-07 1.762E-04 + 8.600E-07 1.718E-04 + 9.000E-07 1.679E-04 + 9.400E-07 1.645E-04 + 9.800E-07 1.610E-04 + 1.025E-06 1.575E-04 + 1.075E-06 1.542E-04 + 1.125E-06 1.508E-04 + 1.175E-06 1.474E-04 + 1.238E-06 1.434E-04 + 1.313E-06 1.393E-04 + 1.388E-06 1.356E-04 + 1.463E-06 1.318E-04 + 1.550E-06 1.281E-04 + 1.650E-06 1.242E-04 + 1.750E-06 1.204E-04 + 1.850E-06 1.172E-04 + 1.950E-06 1.141E-04 + 2.050E-06 1.114E-04 + 2.150E-06 1.090E-04 + 2.250E-06 1.066E-04 + 2.350E-06 1.042E-04 + 2.475E-06 1.013E-04 + 2.625E-06 9.853E-05 + 2.750E-06 9.627E-05 + 2.900E-06 9.360E-05 + 3.100E-06 9.056E-05 + 3.300E-06 8.776E-05 + 3.500E-06 8.513E-05 + 3.700E-06 8.287E-05 + 3.900E-06 8.065E-05 + 4.125E-06 7.860E-05 + 4.375E-06 7.644E-05 + 4.625E-06 7.428E-05 + 4.875E-06 7.217E-05 + 5.125E-06 7.045E-05 + 5.375E-06 6.885E-05 + 5.625E-06 6.725E-05 + 5.875E-06 6.569E-05 + 6.150E-06 6.427E-05 + 6.450E-06 6.278E-05 + 6.750E-06 6.129E-05 + 7.050E-06 5.998E-05 + 7.400E-06 5.858E-05 + 7.800E-06 5.701E-05 + 8.200E-06 5.572E-05 + 8.600E-06 5.450E-05 + 9.000E-06 5.327E-05 + 9.400E-06 5.205E-05 + 9.800E-06 5.087E-05 + 1.025E-05 4.981E-05 + 1.075E-05 4.868E-05 + 1.125E-05 4.754E-05 + 1.175E-05 4.644E-05 + 1.238E-05 4.531E-05 + 1.313E-05 4.399E-05 + 1.388E-05 4.274E-05 + 1.463E-05 4.167E-05 + 1.550E-05 4.045E-05 + 1.650E-05 3.929E-05 + 1.750E-05 3.821E-05 + 1.850E-05 3.712E-05 + 1.950E-05 3.607E-05 + 2.050E-05 3.522E-05 + 2.150E-05 3.442E-05 + 2.250E-05 3.361E-05 + 2.350E-05 3.284E-05 + 2.475E-05 3.204E-05 + 2.625E-05 3.110E-05 + 2.750E-05 3.035E-05 + 2.900E-05 2.959E-05 + 3.100E-05 2.860E-05 + 3.300E-05 2.778E-05 + 3.500E-05 2.702E-05 + 3.700E-05 2.625E-05 + 3.900E-05 2.550E-05 + 4.125E-05 2.483E-05 + 4.375E-05 2.412E-05 + 4.625E-05 2.342E-05 + 4.875E-05 2.282E-05 + 5.125E-05 2.227E-05 + 5.375E-05 2.172E-05 + 5.625E-05 2.123E-05 + 5.875E-05 2.079E-05 + 6.150E-05 2.030E-05 + 6.450E-05 1.985E-05 + 6.750E-05 1.944E-05 + 7.050E-05 1.904E-05 + 7.400E-05 1.856E-05 + 7.800E-05 1.803E-05 + 8.200E-05 1.761E-05 + 8.600E-05 1.721E-05 + 9.000E-05 1.681E-05 + 9.400E-05 1.642E-05 + 9.800E-05 1.610E-05 + 1.025E-04 1.575E-05 + 1.075E-04 1.536E-05 + 1.125E-04 1.502E-05 + 1.175E-04 1.470E-05 + 1.238E-04 1.432E-05 + 1.313E-04 1.393E-05 + 1.388E-04 1.357E-05 + 1.463E-04 1.321E-05 + 1.550E-04 1.714E-05 + 1.650E-04 6.792E-05 + 1.750E-04 1.315E-04 + 1.850E-04 1.938E-04 + 1.950E-04 2.250E-04 + 2.050E-04 2.433E-04 + 2.150E-04 2.614E-04 + 2.250E-04 2.754E-04 + 2.350E-04 2.867E-04 + 2.475E-04 3.007E-04 + 2.625E-04 3.177E-04 + 2.750E-04 3.318E-04 + 2.900E-04 3.486E-04 + 3.100E-04 3.712E-04 + 3.300E-04 3.937E-04 + 3.500E-04 4.163E-04 + 3.700E-04 4.388E-04 + 3.900E-04 4.613E-04 + 4.125E-04 4.865E-04 + 4.375E-04 5.146E-04 + 4.625E-04 5.426E-04 + 4.875E-04 5.706E-04 + 5.125E-04 5.985E-04 + 5.375E-04 6.264E-04 + 5.625E-04 6.543E-04 + 5.875E-04 6.822E-04 + 6.150E-04 7.128E-04 + 6.450E-04 7.462E-04 + 6.750E-04 7.795E-04 + 7.050E-04 8.128E-04 + 7.400E-04 8.515E-04 + 7.800E-04 8.957E-04 + 8.200E-04 9.399E-04 + 8.600E-04 9.840E-04 + 9.000E-04 1.028E-03 + 9.400E-04 1.072E-03 + 9.800E-04 1.116E-03 + 1.025E-03 1.165E-03 + 1.075E-03 1.220E-03 + 1.125E-03 1.274E-03 + 1.175E-03 1.329E-03 + 1.238E-03 1.397E-03 + 1.313E-03 1.478E-03 + 1.388E-03 1.559E-03 + 1.463E-03 1.640E-03 + 1.550E-03 1.734E-03 + 1.650E-03 1.842E-03 + 1.750E-03 1.949E-03 + 1.850E-03 2.056E-03 + 1.950E-03 2.162E-03 + 2.050E-03 2.269E-03 + 2.150E-03 2.382E-03 + 2.250E-03 4.405E-03 + 2.350E-03 2.589E-03 + 2.475E-03 2.717E-03 + 2.625E-03 2.874E-03 + 2.750E-03 3.004E-03 + 2.900E-03 3.159E-03 + 3.100E-03 3.366E-03 + 3.300E-03 3.573E-03 + 3.500E-03 3.778E-03 + 3.700E-03 3.982E-03 + 3.900E-03 4.186E-03 + 4.125E-03 4.413E-03 + 4.375E-03 4.666E-03 + 4.625E-03 4.917E-03 + 4.875E-03 5.492E-03 + 5.125E-03 5.419E-03 + 5.375E-03 5.662E-03 + 5.625E-03 5.907E-03 + 5.875E-03 6.151E-03 + 6.150E-03 6.418E-03 + 6.450E-03 6.710E-03 + 6.750E-03 6.999E-03 + 7.050E-03 7.285E-03 + 7.400E-03 7.618E-03 + 7.800E-03 7.998E-03 + 8.200E-03 8.372E-03 + 8.600E-03 8.745E-03 + 9.000E-03 9.115E-03 + 9.400E-03 9.477E-03 + 9.800E-03 9.838E-03 + 1.025E-02 1.024E-02 + 1.075E-02 1.069E-02 + 1.125E-02 1.115E-02 + 1.175E-02 1.159E-02 + 1.238E-02 1.213E-02 + 1.313E-02 1.277E-02 + 1.388E-02 1.340E-02 + 1.463E-02 1.403E-02 + 1.550E-02 1.557E-02 + 1.650E-02 1.554E-02 + 1.750E-02 1.634E-02 + 1.850E-02 1.710E-02 + 1.950E-02 1.782E-02 + 2.050E-02 1.854E-02 + 2.150E-02 1.926E-02 + 2.250E-02 1.998E-02 + 2.350E-02 2.069E-02 + 2.475E-02 2.150E-02 + 2.625E-02 2.245E-02 + 2.750E-02 2.317E-02 + 2.900E-02 2.400E-02 + 3.100E-02 2.509E-02 + 3.300E-02 2.599E-02 + 3.500E-02 2.675E-02 + 3.700E-02 2.743E-02 + 3.900E-02 3.247E-02 + 4.125E-02 2.792E-02 + 4.375E-02 2.739E-02 + 4.625E-02 2.598E-02 + 4.875E-02 2.288E-02 + 5.125E-02 1.626E-02 + 5.375E-02 1.485E-02 + 5.625E-02 5.078E-01 + 5.875E-02 1.145E-01 + 6.150E-02 7.793E-02 + 6.450E-02 6.706E-02 + 6.750E-02 6.455E-02 + 7.050E-02 5.988E-02 + 7.400E-02 5.797E-02 + 7.800E-02 5.636E-02 + 8.200E-02 5.494E-02 + 8.600E-02 5.374E-02 + 9.000E-02 5.188E-02 + 9.400E-02 4.992E-02 + 9.800E-02 4.790E-02 + 1.025E-01 4.526E-02 + 1.075E-01 4.162E-02 + 1.125E-01 3.764E-02 + 1.175E-01 3.297E-02 + 1.238E-01 2.645E-02 + 1.313E-01 1.826E-02 + 1.388E-01 1.121E-02 + 1.463E-01 1.090E-02 + 1.550E-01 4.848E-02 + 1.650E-01 2.173E-01 + 1.750E-01 6.987E-01 + 1.850E-01 1.196E+00 + 1.950E-01 1.162E+00 + 2.050E-01 9.710E-01 + 2.150E-01 8.288E-01 + 2.250E-01 7.334E-01 + 2.350E-01 6.709E-01 + 2.475E-01 6.172E-01 + 2.625E-01 5.768E-01 + 2.750E-01 5.547E-01 + 2.900E-01 5.393E-01 + 3.100E-01 5.237E-01 + 3.300E-01 5.198E-01 + 3.500E-01 5.097E-01 + 3.700E-01 5.036E-01 + 3.900E-01 5.320E-01 + 4.125E-01 5.403E-01 + 4.375E-01 5.451E-01 + 4.625E-01 5.581E-01 + 4.875E-01 5.740E-01 + 5.125E-01 5.987E-01 + 5.375E-01 7.554E-01 + 5.625E-01 1.280E+00 + 5.875E-01 5.997E-01 + 6.150E-01 5.425E-01 + 6.450E-01 5.536E-01 + 6.750E-01 5.786E-01 + 7.050E-01 6.019E-01 + 7.400E-01 6.724E-01 + 7.800E-01 9.209E-01 + 8.200E-01 1.459E+00 + 8.600E-01 8.318E-01 + 9.000E-01 9.434E-01 + 9.400E-01 1.172E+00 + 9.800E-01 1.174E+00 + 1.050E+00 8.020E-01 + 1.150E+00 6.578E-01 + 1.250E+00 9.680E-01 + 1.350E+00 9.410E-01 + 1.450E+00 1.079E+00 + 1.550E+00 1.128E+00 + 1.650E+00 1.766E+00 + 1.750E+00 8.366E-01 + 1.850E+00 1.411E+00 + 1.950E+00 1.393E+00 + 2.050E+00 1.022E+00 + 2.150E+00 1.159E+00 + 2.250E+00 1.126E+00 + 2.350E+00 1.106E+00 + 2.450E+00 1.267E+00 + 2.550E+00 1.384E+00 + 2.650E+00 1.238E+00 + 2.750E+00 1.153E+00 + 2.850E+00 1.437E+00 + 2.950E+00 1.061E+00 + 3.050E+00 1.278E+00 + 3.150E+00 1.427E+00 + 3.250E+00 1.281E+00 + 3.350E+00 1.217E+00 + 3.450E+00 1.259E+00 + 3.550E+00 1.213E+00 + 3.650E+00 7.506E-01 + 3.750E+00 1.235E+00 + 3.850E+00 1.187E+00 + 3.950E+00 1.452E+00 + 4.050E+00 1.431E+00 + 4.150E+00 1.147E+00 + 4.250E+00 1.782E+00 + 4.350E+00 1.442E+00 + 4.450E+00 1.509E+00 + 4.550E+00 1.498E+00 + 4.650E+00 1.673E+00 + 4.750E+00 2.003E+00 + 4.850E+00 1.717E+00 + 4.950E+00 1.579E+00 + 5.050E+00 1.612E+00 + 5.150E+00 1.831E+00 + 5.250E+00 1.605E+00 + 5.350E+00 1.336E+00 + 5.450E+00 1.277E+00 + 5.550E+00 1.567E+00 + 5.650E+00 1.616E+00 + 5.750E+00 1.929E+00 + 5.850E+00 1.794E+00 + 5.950E+00 1.468E+00 + 6.050E+00 1.666E+00 + 6.150E+00 1.364E+00 + 6.250E+00 1.900E+00 + 6.350E+00 1.641E+00 + 6.450E+00 1.514E+00 + 6.550E+00 1.314E+00 + 6.650E+00 1.611E+00 + 6.750E+00 1.778E+00 + 6.850E+00 1.577E+00 + 6.950E+00 1.521E+00 + 7.050E+00 1.770E+00 + 7.150E+00 1.470E+00 + 7.250E+00 1.803E+00 + 7.350E+00 1.818E+00 + 7.450E+00 1.793E+00 + 7.550E+00 1.757E+00 + 7.650E+00 1.794E+00 + 7.750E+00 1.866E+00 + 7.850E+00 1.861E+00 + 7.950E+00 1.992E+00 + 8.050E+00 1.806E+00 + 8.150E+00 1.663E+00 + 8.250E+00 1.743E+00 + 8.350E+00 1.768E+00 + 8.450E+00 1.782E+00 + 8.550E+00 1.771E+00 + 8.650E+00 1.769E+00 + 8.750E+00 1.589E+00 + 8.850E+00 1.685E+00 + 8.950E+00 1.871E+00 + 9.050E+00 1.876E+00 + 9.150E+00 1.686E+00 + 9.250E+00 1.619E+00 + 9.350E+00 1.751E+00 + 9.450E+00 1.824E+00 + 9.550E+00 1.767E+00 + 9.650E+00 1.669E+00 + 9.750E+00 1.707E+00 + 9.850E+00 1.754E+00 + 9.950E+00 1.780E+00 + 1.005E+01 1.760E+00 + 1.015E+01 1.782E+00 + 1.025E+01 1.764E+00 + 1.035E+01 1.772E+00 + 1.045E+01 1.709E+00 + 1.055E+01 1.696E+00 + 1.065E+01 1.674E+00 + 1.075E+01 1.726E+00 + 1.085E+01 1.765E+00 + 1.095E+01 1.765E+00 + 1.105E+01 1.736E+00 + 1.115E+01 1.680E+00 + 1.125E+01 1.692E+00 + 1.135E+01 1.735E+00 + 1.145E+01 1.765E+00 + 1.155E+01 1.778E+00 + 1.165E+01 1.767E+00 + 1.175E+01 1.751E+00 + 1.185E+01 1.754E+00 + 1.195E+01 1.767E+00 + 1.205E+01 1.784E+00 + 1.215E+01 1.812E+00 + 1.225E+01 1.816E+00 + 1.235E+01 1.822E+00 + 1.245E+01 1.791E+00 + 1.255E+01 1.757E+00 + 1.265E+01 1.837E+00 + 1.275E+01 1.856E+00 + 1.285E+01 1.850E+00 + 1.295E+01 1.853E+00 + 1.305E+01 1.862E+00 + 1.315E+01 1.828E+00 + 1.325E+01 1.793E+00 + 1.335E+01 1.806E+00 + 1.345E+01 1.839E+00 + 1.355E+01 1.802E+00 + 1.365E+01 1.780E+00 + 1.375E+01 1.804E+00 + 1.385E+01 1.870E+00 + 1.395E+01 1.808E+00 + 1.405E+01 1.787E+00 + 1.415E+01 1.817E+00 + 1.425E+01 1.830E+00 + 1.435E+01 1.843E+00 + 1.445E+01 1.845E+00 + 1.455E+01 1.791E+00 + 1.465E+01 1.765E+00 + 1.475E+01 1.774E+00 + 1.485E+01 1.808E+00 + 1.495E+01 1.813E+00 + 1.505E+01 1.773E+00 + 1.515E+01 1.801E+00 + 1.525E+01 1.842E+00 + 1.535E+01 1.841E+00 + 1.545E+01 1.828E+00 + 1.555E+01 1.808E+00 + 1.565E+01 1.806E+00 + 1.575E+01 1.817E+00 + 1.585E+01 1.858E+00 + 1.595E+01 1.891E+00 + 1.605E+01 1.899E+00 + 1.615E+01 1.899E+00 + 1.625E+01 1.893E+00 + 1.635E+01 1.880E+00 + 1.645E+01 1.869E+00 + 1.655E+01 1.918E+00 + 1.665E+01 1.970E+00 + 1.675E+01 1.952E+00 + 1.685E+01 1.929E+00 + 1.695E+01 1.935E+00 + 1.705E+01 1.940E+00 + 1.715E+01 1.937E+00 + 1.725E+01 1.934E+00 + 1.735E+01 1.935E+00 + 1.745E+01 1.932E+00 + 1.755E+01 1.917E+00 + 1.765E+01 1.906E+00 + 1.775E+01 1.914E+00 + 1.785E+01 1.926E+00 + 1.795E+01 1.951E+00 + 1.805E+01 1.974E+00 + 1.815E+01 1.965E+00 + 1.825E+01 1.950E+00 + 1.835E+01 1.938E+00 + 1.845E+01 1.926E+00 + 1.855E+01 1.945E+00 + 1.865E+01 1.986E+00 + 1.875E+01 2.008E+00 + 1.885E+01 1.999E+00 + 1.895E+01 1.989E+00 + 1.905E+01 1.974E+00 + 1.915E+01 1.960E+00 + 1.925E+01 1.955E+00 + 1.935E+01 1.953E+00 + 1.945E+01 1.953E+00 + 1.955E+01 1.955E+00 + 1.965E+01 1.958E+00 + 1.975E+01 1.963E+00 + 1.985E+01 1.969E+00 + 1.995E+01 1.975E+00 + diff --git a/Simulation/G4Utilities/G4UserActions/share/neutrons_Si_Gunnar_Konobeyev.dat b/Simulation/G4Utilities/G4UserActions/share/neutrons_Si_Gunnar_Konobeyev.dat new file mode 100644 index 0000000000000000000000000000000000000000..60d7bd6a7650b12185d23ae3cfd9d1260ffb087d --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/share/neutrons_Si_Gunnar_Konobeyev.dat @@ -0,0 +1,24 @@ +#A. Vasilescu (INPE Bucharest) and G. Lindstroem (University of Hamburg), Displacement damage in silicon, on-line compilation, http://sesam.desy.de/members/gunnar/Si-dfuncs.html +# E_kin (MeV) D/(95MeVmb) +2.000E+01 2.071E+00 +2.500E+01 2.049E+00 +3.000E+01 2.041E+00 +4.000E+01 2.012E+00 +5.000E+01 1.805E+00 +6.000E+01 1.644E+00 +7.000E+01 1.499E+00 +8.000E+01 1.378E+00 +9.000E+01 1.264E+00 +1.000E+02 1.168E+00 +1.300E+02 9.740E-01 +1.600E+02 8.650E-01 +2.000E+02 7.910E-01 +2.500E+02 7.330E-01 +3.000E+02 6.960E-01 +3.500E+02 6.930E-01 +4.000E+02 6.850E-01 +4.500E+02 6.850E-01 +5.000E+02 6.810E-01 +6.000E+02 6.790E-01 +7.000E+02 6.770E-01 +8.000E+02 6.720E-01 diff --git a/Simulation/G4Utilities/G4UserActions/share/pions_Si_Gunnar_Huhtinen.dat b/Simulation/G4Utilities/G4UserActions/share/pions_Si_Gunnar_Huhtinen.dat new file mode 100644 index 0000000000000000000000000000000000000000..ff7d0fc4f7795ef0ff36a04d25d742f635948515 --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/share/pions_Si_Gunnar_Huhtinen.dat @@ -0,0 +1,902 @@ +#A. Vasilescu (INPE Bucharest) and G. Lindstroem (University of Hamburg), Displacement damage in silicon, on-line compilation, http://sesam.desy.de/members/gunnar/Si-dfuncs.html +# E_kin (MeV) D/(95MeVmb) +1.500E+01 5.589E-01 +2.500E+01 4.947E-01 +3.500E+01 4.663E-01 +4.500E+01 4.937E-01 +5.500E+01 5.274E-01 +6.500E+01 5.632E-01 +7.500E+01 6.042E-01 +8.500E+01 6.411E-01 +9.500E+01 7.011E-01 +1.050E+02 7.411E-01 +1.150E+02 7.663E-01 +1.250E+02 7.926E-01 +1.350E+02 8.242E-01 +1.450E+02 8.558E-01 +1.550E+02 8.863E-01 +1.650E+02 9.084E-01 +1.750E+02 9.221E-01 +1.850E+02 9.347E-01 +1.950E+02 9.432E-01 +2.050E+02 9.463E-01 +2.150E+02 9.453E-01 +2.250E+02 9.400E-01 +2.350E+02 9.316E-01 +2.450E+02 9.189E-01 +2.550E+02 9.042E-01 +2.650E+02 8.874E-01 +2.750E+02 8.684E-01 +2.850E+02 8.484E-01 +2.950E+02 8.274E-01 +3.050E+02 8.074E-01 +3.150E+02 7.895E-01 +3.250E+02 7.705E-01 +3.350E+02 7.526E-01 +3.450E+02 7.347E-01 +3.550E+02 7.168E-01 +3.650E+02 7.011E-01 +3.750E+02 6.853E-01 +3.850E+02 6.705E-01 +3.950E+02 6.558E-01 +4.050E+02 6.421E-01 +4.150E+02 6.295E-01 +4.250E+02 6.179E-01 +4.350E+02 6.063E-01 +4.450E+02 5.947E-01 +4.550E+02 5.853E-01 +4.650E+02 5.768E-01 +4.750E+02 5.684E-01 +4.850E+02 5.611E-01 +4.950E+02 5.558E-01 +5.050E+02 5.537E-01 +5.150E+02 5.526E-01 +5.250E+02 5.537E-01 +5.350E+02 5.547E-01 +5.450E+02 5.600E-01 +5.550E+02 5.653E-01 +5.650E+02 5.674E-01 +5.750E+02 5.684E-01 +5.850E+02 5.642E-01 +5.950E+02 5.600E-01 +6.050E+02 5.516E-01 +6.150E+02 5.442E-01 +6.250E+02 5.347E-01 +6.350E+02 5.253E-01 +6.450E+02 5.158E-01 +6.550E+02 5.063E-01 +6.650E+02 4.989E-01 +6.750E+02 4.926E-01 +6.850E+02 4.895E-01 +6.950E+02 4.863E-01 +7.050E+02 4.874E-01 +7.150E+02 4.895E-01 +7.250E+02 4.926E-01 +7.350E+02 4.968E-01 +7.450E+02 5.032E-01 +7.550E+02 5.126E-01 +7.650E+02 5.221E-01 +7.750E+02 5.326E-01 +7.850E+02 5.432E-01 +7.950E+02 5.537E-01 +8.050E+02 5.621E-01 +8.150E+02 5.695E-01 +8.250E+02 5.747E-01 +8.350E+02 5.800E-01 +8.450E+02 5.842E-01 +8.550E+02 5.863E-01 +8.650E+02 5.874E-01 +8.750E+02 5.853E-01 +8.850E+02 5.789E-01 +8.950E+02 5.716E-01 +9.050E+02 5.653E-01 +9.150E+02 5.600E-01 +9.250E+02 5.537E-01 +9.350E+02 5.474E-01 +9.450E+02 5.421E-01 +9.550E+02 5.368E-01 +9.650E+02 5.316E-01 +9.750E+02 5.274E-01 +9.850E+02 5.263E-01 +9.950E+02 5.242E-01 +1.005E+03 5.232E-01 +1.015E+03 5.211E-01 +1.025E+03 5.200E-01 +1.035E+03 5.179E-01 +1.045E+03 5.158E-01 +1.055E+03 5.147E-01 +1.065E+03 5.126E-01 +1.075E+03 5.137E-01 +1.085E+03 5.147E-01 +1.095E+03 5.168E-01 +1.105E+03 5.189E-01 +1.115E+03 5.211E-01 +1.125E+03 5.221E-01 +1.135E+03 5.242E-01 +1.145E+03 5.263E-01 +1.155E+03 5.284E-01 +1.165E+03 5.295E-01 +1.175E+03 5.316E-01 +1.185E+03 5.337E-01 +1.195E+03 5.347E-01 +1.205E+03 5.368E-01 +1.215E+03 5.379E-01 +1.225E+03 5.400E-01 +1.235E+03 5.411E-01 +1.245E+03 5.432E-01 +1.255E+03 5.442E-01 +1.265E+03 5.463E-01 +1.275E+03 5.453E-01 +1.285E+03 5.453E-01 +1.295E+03 5.442E-01 +1.305E+03 5.432E-01 +1.315E+03 5.432E-01 +1.325E+03 5.421E-01 +1.335E+03 5.411E-01 +1.345E+03 5.400E-01 +1.355E+03 5.400E-01 +1.365E+03 5.389E-01 +1.375E+03 5.368E-01 +1.385E+03 5.347E-01 +1.395E+03 5.326E-01 +1.405E+03 5.305E-01 +1.415E+03 5.284E-01 +1.425E+03 5.274E-01 +1.435E+03 5.253E-01 +1.445E+03 5.232E-01 +1.455E+03 5.211E-01 +1.465E+03 5.189E-01 +1.475E+03 5.168E-01 +1.485E+03 5.158E-01 +1.495E+03 5.137E-01 +1.505E+03 5.126E-01 +1.515E+03 5.105E-01 +1.525E+03 5.084E-01 +1.535E+03 5.074E-01 +1.545E+03 5.053E-01 +1.555E+03 5.032E-01 +1.565E+03 5.021E-01 +1.575E+03 5.011E-01 +1.585E+03 4.989E-01 +1.595E+03 4.979E-01 +1.605E+03 4.968E-01 +1.615E+03 4.958E-01 +1.625E+03 4.947E-01 +1.635E+03 4.937E-01 +1.645E+03 4.926E-01 +1.655E+03 4.916E-01 +1.665E+03 4.905E-01 +1.675E+03 4.895E-01 +1.685E+03 4.895E-01 +1.695E+03 4.884E-01 +1.705E+03 4.874E-01 +1.715E+03 4.874E-01 +1.725E+03 4.863E-01 +1.735E+03 4.863E-01 +1.745E+03 4.853E-01 +1.755E+03 4.842E-01 +1.765E+03 4.842E-01 +1.775E+03 4.842E-01 +1.785E+03 4.832E-01 +1.795E+03 4.832E-01 +1.805E+03 4.832E-01 +1.815E+03 4.832E-01 +1.825E+03 4.832E-01 +1.835E+03 4.832E-01 +1.845E+03 4.832E-01 +1.855E+03 4.832E-01 +1.865E+03 4.821E-01 +1.875E+03 4.821E-01 +1.885E+03 4.821E-01 +1.895E+03 4.821E-01 +1.905E+03 4.811E-01 +1.915E+03 4.811E-01 +1.925E+03 4.811E-01 +1.935E+03 4.800E-01 +1.945E+03 4.800E-01 +1.955E+03 4.800E-01 +1.965E+03 4.800E-01 +1.975E+03 4.789E-01 +1.985E+03 4.789E-01 +1.995E+03 4.789E-01 +2.005E+03 4.779E-01 +2.015E+03 4.779E-01 +2.025E+03 4.779E-01 +2.035E+03 4.779E-01 +2.045E+03 4.768E-01 +2.055E+03 4.768E-01 +2.065E+03 4.768E-01 +2.075E+03 4.758E-01 +2.085E+03 4.758E-01 +2.095E+03 4.758E-01 +2.105E+03 4.747E-01 +2.115E+03 4.747E-01 +2.125E+03 4.747E-01 +2.135E+03 4.747E-01 +2.145E+03 4.737E-01 +2.155E+03 4.737E-01 +2.165E+03 4.737E-01 +2.175E+03 4.726E-01 +2.185E+03 4.726E-01 +2.195E+03 4.726E-01 +2.205E+03 4.716E-01 +2.215E+03 4.716E-01 +2.225E+03 4.716E-01 +2.235E+03 4.716E-01 +2.245E+03 4.705E-01 +2.255E+03 4.705E-01 +2.265E+03 4.705E-01 +2.275E+03 4.695E-01 +2.285E+03 4.695E-01 +2.295E+03 4.695E-01 +2.305E+03 4.695E-01 +2.315E+03 4.695E-01 +2.325E+03 4.695E-01 +2.335E+03 4.695E-01 +2.345E+03 4.695E-01 +2.355E+03 4.695E-01 +2.365E+03 4.695E-01 +2.375E+03 4.695E-01 +2.385E+03 4.695E-01 +2.395E+03 4.695E-01 +2.405E+03 4.695E-01 +2.415E+03 4.695E-01 +2.425E+03 4.695E-01 +2.435E+03 4.684E-01 +2.445E+03 4.684E-01 +2.455E+03 4.684E-01 +2.465E+03 4.684E-01 +2.475E+03 4.684E-01 +2.485E+03 4.684E-01 +2.495E+03 4.684E-01 +2.505E+03 4.684E-01 +2.515E+03 4.674E-01 +2.525E+03 4.674E-01 +2.535E+03 4.674E-01 +2.545E+03 4.674E-01 +2.555E+03 4.674E-01 +2.565E+03 4.674E-01 +2.575E+03 4.674E-01 +2.585E+03 4.663E-01 +2.595E+03 4.663E-01 +2.605E+03 4.663E-01 +2.615E+03 4.663E-01 +2.625E+03 4.663E-01 +2.635E+03 4.663E-01 +2.645E+03 4.663E-01 +2.655E+03 4.663E-01 +2.665E+03 4.653E-01 +2.675E+03 4.653E-01 +2.685E+03 4.653E-01 +2.695E+03 4.653E-01 +2.705E+03 4.653E-01 +2.715E+03 4.653E-01 +2.725E+03 4.653E-01 +2.735E+03 4.642E-01 +2.745E+03 4.642E-01 +2.755E+03 4.642E-01 +2.765E+03 4.642E-01 +2.775E+03 4.642E-01 +2.785E+03 4.642E-01 +2.795E+03 4.642E-01 +2.805E+03 4.642E-01 +2.815E+03 4.632E-01 +2.825E+03 4.632E-01 +2.835E+03 4.632E-01 +2.845E+03 4.632E-01 +2.855E+03 4.632E-01 +2.865E+03 4.632E-01 +2.875E+03 4.632E-01 +2.885E+03 4.632E-01 +2.895E+03 4.632E-01 +2.905E+03 4.632E-01 +2.915E+03 4.632E-01 +2.925E+03 4.632E-01 +2.935E+03 4.632E-01 +2.945E+03 4.621E-01 +2.955E+03 4.621E-01 +2.965E+03 4.621E-01 +2.975E+03 4.621E-01 +2.985E+03 4.621E-01 +2.995E+03 4.621E-01 +3.005E+03 4.621E-01 +3.015E+03 4.621E-01 +3.025E+03 4.621E-01 +3.035E+03 4.621E-01 +3.045E+03 4.621E-01 +3.055E+03 4.621E-01 +3.065E+03 4.611E-01 +3.075E+03 4.611E-01 +3.085E+03 4.611E-01 +3.095E+03 4.611E-01 +3.105E+03 4.611E-01 +3.115E+03 4.611E-01 +3.125E+03 4.611E-01 +3.135E+03 4.611E-01 +3.145E+03 4.611E-01 +3.155E+03 4.611E-01 +3.165E+03 4.611E-01 +3.175E+03 4.611E-01 +3.185E+03 4.600E-01 +3.195E+03 4.600E-01 +3.205E+03 4.600E-01 +3.215E+03 4.600E-01 +3.225E+03 4.600E-01 +3.235E+03 4.600E-01 +3.245E+03 4.600E-01 +3.255E+03 4.600E-01 +3.265E+03 4.600E-01 +3.275E+03 4.600E-01 +3.285E+03 4.600E-01 +3.295E+03 4.600E-01 +3.305E+03 4.589E-01 +3.315E+03 4.589E-01 +3.325E+03 4.589E-01 +3.335E+03 4.589E-01 +3.345E+03 4.589E-01 +3.355E+03 4.589E-01 +3.365E+03 4.589E-01 +3.375E+03 4.589E-01 +3.385E+03 4.589E-01 +3.395E+03 4.589E-01 +3.405E+03 4.589E-01 +3.415E+03 4.579E-01 +3.425E+03 4.579E-01 +3.435E+03 4.579E-01 +3.445E+03 4.579E-01 +3.455E+03 4.579E-01 +3.465E+03 4.579E-01 +3.475E+03 4.579E-01 +3.485E+03 4.579E-01 +3.495E+03 4.579E-01 +3.505E+03 4.568E-01 +3.515E+03 4.568E-01 +3.525E+03 4.568E-01 +3.535E+03 4.568E-01 +3.545E+03 4.568E-01 +3.555E+03 4.568E-01 +3.565E+03 4.568E-01 +3.575E+03 4.558E-01 +3.585E+03 4.558E-01 +3.595E+03 4.558E-01 +3.605E+03 4.558E-01 +3.615E+03 4.558E-01 +3.625E+03 4.558E-01 +3.635E+03 4.558E-01 +3.645E+03 4.547E-01 +3.655E+03 4.547E-01 +3.665E+03 4.547E-01 +3.675E+03 4.547E-01 +3.685E+03 4.547E-01 +3.695E+03 4.547E-01 +3.705E+03 4.547E-01 +3.715E+03 4.537E-01 +3.725E+03 4.537E-01 +3.735E+03 4.537E-01 +3.745E+03 4.537E-01 +3.755E+03 4.537E-01 +3.765E+03 4.537E-01 +3.775E+03 4.537E-01 +3.785E+03 4.526E-01 +3.795E+03 4.526E-01 +3.805E+03 4.526E-01 +3.815E+03 4.526E-01 +3.825E+03 4.526E-01 +3.835E+03 4.526E-01 +3.845E+03 4.526E-01 +3.855E+03 4.516E-01 +3.865E+03 4.516E-01 +3.875E+03 4.516E-01 +3.885E+03 4.516E-01 +3.895E+03 4.516E-01 +3.905E+03 4.516E-01 +3.915E+03 4.505E-01 +3.925E+03 4.505E-01 +3.935E+03 4.505E-01 +3.945E+03 4.505E-01 +3.955E+03 4.505E-01 +3.965E+03 4.505E-01 +3.975E+03 4.505E-01 +3.985E+03 4.495E-01 +3.995E+03 4.495E-01 +4.005E+03 4.495E-01 +4.015E+03 4.495E-01 +4.025E+03 4.495E-01 +4.035E+03 4.495E-01 +4.045E+03 4.495E-01 +4.055E+03 4.484E-01 +4.065E+03 4.484E-01 +4.075E+03 4.484E-01 +4.085E+03 4.484E-01 +4.095E+03 4.484E-01 +4.105E+03 4.484E-01 +4.115E+03 4.484E-01 +4.125E+03 4.474E-01 +4.135E+03 4.474E-01 +4.145E+03 4.474E-01 +4.155E+03 4.474E-01 +4.165E+03 4.474E-01 +4.175E+03 4.474E-01 +4.185E+03 4.474E-01 +4.195E+03 4.463E-01 +4.205E+03 4.463E-01 +4.215E+03 4.463E-01 +4.225E+03 4.463E-01 +4.235E+03 4.463E-01 +4.245E+03 4.463E-01 +4.255E+03 4.463E-01 +4.265E+03 4.453E-01 +4.275E+03 4.453E-01 +4.285E+03 4.453E-01 +4.295E+03 4.453E-01 +4.305E+03 4.453E-01 +4.315E+03 4.453E-01 +4.325E+03 4.453E-01 +4.335E+03 4.442E-01 +4.345E+03 4.442E-01 +4.355E+03 4.442E-01 +4.365E+03 4.442E-01 +4.375E+03 4.442E-01 +4.385E+03 4.442E-01 +4.395E+03 4.442E-01 +4.405E+03 4.432E-01 +4.415E+03 4.432E-01 +4.425E+03 4.432E-01 +4.435E+03 4.432E-01 +4.445E+03 4.432E-01 +4.455E+03 4.432E-01 +4.465E+03 4.432E-01 +4.475E+03 4.421E-01 +4.485E+03 4.421E-01 +4.495E+03 4.421E-01 +4.505E+03 4.421E-01 +4.515E+03 4.421E-01 +4.525E+03 4.421E-01 +4.535E+03 4.421E-01 +4.545E+03 4.411E-01 +4.555E+03 4.411E-01 +4.565E+03 4.411E-01 +4.575E+03 4.411E-01 +4.585E+03 4.411E-01 +4.595E+03 4.411E-01 +4.605E+03 4.411E-01 +4.615E+03 4.400E-01 +4.625E+03 4.400E-01 +4.635E+03 4.400E-01 +4.645E+03 4.400E-01 +4.655E+03 4.400E-01 +4.665E+03 4.400E-01 +4.675E+03 4.400E-01 +4.685E+03 4.389E-01 +4.695E+03 4.389E-01 +4.705E+03 4.389E-01 +4.715E+03 4.389E-01 +4.725E+03 4.389E-01 +4.735E+03 4.389E-01 +4.745E+03 4.389E-01 +4.755E+03 4.379E-01 +4.765E+03 4.379E-01 +4.775E+03 4.379E-01 +4.785E+03 4.379E-01 +4.795E+03 4.379E-01 +4.805E+03 4.379E-01 +4.815E+03 4.379E-01 +4.825E+03 4.368E-01 +4.835E+03 4.368E-01 +4.845E+03 4.368E-01 +4.855E+03 4.368E-01 +4.865E+03 4.368E-01 +4.875E+03 4.368E-01 +4.885E+03 4.368E-01 +4.895E+03 4.358E-01 +4.905E+03 4.358E-01 +4.915E+03 4.358E-01 +4.925E+03 4.358E-01 +4.935E+03 4.358E-01 +4.945E+03 4.358E-01 +4.955E+03 4.358E-01 +4.965E+03 4.358E-01 +4.975E+03 4.347E-01 +4.985E+03 4.347E-01 +4.995E+03 4.347E-01 +5.005E+03 4.347E-01 +5.015E+03 4.347E-01 +5.025E+03 4.347E-01 +5.035E+03 4.347E-01 +5.045E+03 4.347E-01 +5.055E+03 4.337E-01 +5.065E+03 4.337E-01 +5.075E+03 4.337E-01 +5.085E+03 4.337E-01 +5.095E+03 4.337E-01 +5.105E+03 4.337E-01 +5.115E+03 4.337E-01 +5.125E+03 4.337E-01 +5.135E+03 4.326E-01 +5.145E+03 4.326E-01 +5.155E+03 4.326E-01 +5.165E+03 4.326E-01 +5.175E+03 4.326E-01 +5.185E+03 4.326E-01 +5.195E+03 4.326E-01 +5.205E+03 4.316E-01 +5.215E+03 4.316E-01 +5.225E+03 4.316E-01 +5.235E+03 4.316E-01 +5.245E+03 4.316E-01 +5.255E+03 4.316E-01 +5.265E+03 4.316E-01 +5.275E+03 4.316E-01 +5.285E+03 4.305E-01 +5.295E+03 4.305E-01 +5.305E+03 4.305E-01 +5.315E+03 4.305E-01 +5.325E+03 4.305E-01 +5.335E+03 4.305E-01 +5.345E+03 4.305E-01 +5.355E+03 4.305E-01 +5.365E+03 4.295E-01 +5.375E+03 4.295E-01 +5.385E+03 4.295E-01 +5.395E+03 4.295E-01 +5.405E+03 4.295E-01 +5.415E+03 4.295E-01 +5.425E+03 4.295E-01 +5.435E+03 4.295E-01 +5.445E+03 4.284E-01 +5.455E+03 4.284E-01 +5.465E+03 4.284E-01 +5.475E+03 4.284E-01 +5.485E+03 4.284E-01 +5.495E+03 4.284E-01 +5.505E+03 4.284E-01 +5.515E+03 4.284E-01 +5.525E+03 4.274E-01 +5.535E+03 4.274E-01 +5.545E+03 4.274E-01 +5.555E+03 4.274E-01 +5.565E+03 4.274E-01 +5.575E+03 4.274E-01 +5.585E+03 4.274E-01 +5.595E+03 4.274E-01 +5.605E+03 4.263E-01 +5.615E+03 4.263E-01 +5.625E+03 4.263E-01 +5.635E+03 4.263E-01 +5.645E+03 4.263E-01 +5.655E+03 4.263E-01 +5.665E+03 4.263E-01 +5.675E+03 4.253E-01 +5.685E+03 4.253E-01 +5.695E+03 4.253E-01 +5.705E+03 4.253E-01 +5.715E+03 4.253E-01 +5.725E+03 4.253E-01 +5.735E+03 4.253E-01 +5.745E+03 4.242E-01 +5.755E+03 4.242E-01 +5.765E+03 4.242E-01 +5.775E+03 4.242E-01 +5.785E+03 4.242E-01 +5.795E+03 4.242E-01 +5.805E+03 4.242E-01 +5.815E+03 4.232E-01 +5.825E+03 4.232E-01 +5.835E+03 4.232E-01 +5.845E+03 4.232E-01 +5.855E+03 4.232E-01 +5.865E+03 4.232E-01 +5.875E+03 4.232E-01 +5.885E+03 4.221E-01 +5.895E+03 4.221E-01 +5.905E+03 4.221E-01 +5.915E+03 4.221E-01 +5.925E+03 4.221E-01 +5.935E+03 4.221E-01 +5.945E+03 4.221E-01 +5.955E+03 4.211E-01 +5.965E+03 4.211E-01 +5.975E+03 4.211E-01 +5.985E+03 4.211E-01 +5.995E+03 4.211E-01 +6.005E+03 4.211E-01 +6.015E+03 4.211E-01 +6.025E+03 4.211E-01 +6.035E+03 4.200E-01 +6.045E+03 4.200E-01 +6.055E+03 4.200E-01 +6.065E+03 4.200E-01 +6.075E+03 4.200E-01 +6.085E+03 4.200E-01 +6.095E+03 4.200E-01 +6.105E+03 4.189E-01 +6.115E+03 4.189E-01 +6.125E+03 4.189E-01 +6.135E+03 4.189E-01 +6.145E+03 4.189E-01 +6.155E+03 4.189E-01 +6.165E+03 4.189E-01 +6.175E+03 4.179E-01 +6.185E+03 4.179E-01 +6.195E+03 4.179E-01 +6.205E+03 4.179E-01 +6.215E+03 4.179E-01 +6.225E+03 4.179E-01 +6.235E+03 4.179E-01 +6.245E+03 4.168E-01 +6.255E+03 4.168E-01 +6.265E+03 4.168E-01 +6.275E+03 4.168E-01 +6.285E+03 4.168E-01 +6.295E+03 4.168E-01 +6.305E+03 4.168E-01 +6.315E+03 4.168E-01 +6.325E+03 4.158E-01 +6.335E+03 4.158E-01 +6.345E+03 4.158E-01 +6.355E+03 4.158E-01 +6.365E+03 4.158E-01 +6.375E+03 4.158E-01 +6.385E+03 4.158E-01 +6.395E+03 4.147E-01 +6.405E+03 4.147E-01 +6.415E+03 4.147E-01 +6.425E+03 4.147E-01 +6.435E+03 4.147E-01 +6.445E+03 4.147E-01 +6.455E+03 4.147E-01 +6.465E+03 4.137E-01 +6.475E+03 4.137E-01 +6.485E+03 4.137E-01 +6.495E+03 4.137E-01 +6.505E+03 4.137E-01 +6.515E+03 4.137E-01 +6.525E+03 4.137E-01 +6.535E+03 4.137E-01 +6.545E+03 4.126E-01 +6.555E+03 4.126E-01 +6.565E+03 4.126E-01 +6.575E+03 4.126E-01 +6.585E+03 4.126E-01 +6.595E+03 4.126E-01 +6.605E+03 4.126E-01 +6.615E+03 4.116E-01 +6.625E+03 4.116E-01 +6.635E+03 4.116E-01 +6.645E+03 4.116E-01 +6.655E+03 4.116E-01 +6.665E+03 4.116E-01 +6.675E+03 4.116E-01 +6.685E+03 4.105E-01 +6.695E+03 4.105E-01 +6.705E+03 4.105E-01 +6.715E+03 4.105E-01 +6.725E+03 4.105E-01 +6.735E+03 4.105E-01 +6.745E+03 4.105E-01 +6.755E+03 4.105E-01 +6.765E+03 4.095E-01 +6.775E+03 4.095E-01 +6.785E+03 4.095E-01 +6.795E+03 4.095E-01 +6.805E+03 4.095E-01 +6.815E+03 4.095E-01 +6.825E+03 4.095E-01 +6.835E+03 4.084E-01 +6.845E+03 4.084E-01 +6.855E+03 4.084E-01 +6.865E+03 4.084E-01 +6.875E+03 4.084E-01 +6.885E+03 4.084E-01 +6.895E+03 4.084E-01 +6.905E+03 4.084E-01 +6.915E+03 4.074E-01 +6.925E+03 4.074E-01 +6.935E+03 4.074E-01 +6.945E+03 4.074E-01 +6.955E+03 4.074E-01 +6.965E+03 4.074E-01 +6.975E+03 4.074E-01 +6.985E+03 4.063E-01 +6.995E+03 4.063E-01 +7.005E+03 4.063E-01 +7.015E+03 4.063E-01 +7.025E+03 4.063E-01 +7.035E+03 4.063E-01 +7.045E+03 4.063E-01 +7.055E+03 4.063E-01 +7.065E+03 4.053E-01 +7.075E+03 4.053E-01 +7.085E+03 4.053E-01 +7.095E+03 4.053E-01 +7.105E+03 4.053E-01 +7.115E+03 4.053E-01 +7.125E+03 4.053E-01 +7.135E+03 4.042E-01 +7.145E+03 4.042E-01 +7.155E+03 4.042E-01 +7.165E+03 4.042E-01 +7.175E+03 4.042E-01 +7.185E+03 4.042E-01 +7.195E+03 4.042E-01 +7.205E+03 4.042E-01 +7.215E+03 4.032E-01 +7.225E+03 4.032E-01 +7.235E+03 4.032E-01 +7.245E+03 4.032E-01 +7.255E+03 4.032E-01 +7.265E+03 4.032E-01 +7.275E+03 4.032E-01 +7.285E+03 4.021E-01 +7.295E+03 4.021E-01 +7.305E+03 4.021E-01 +7.315E+03 4.021E-01 +7.325E+03 4.021E-01 +7.335E+03 4.021E-01 +7.345E+03 4.021E-01 +7.355E+03 4.021E-01 +7.365E+03 4.011E-01 +7.375E+03 4.011E-01 +7.385E+03 4.011E-01 +7.395E+03 4.011E-01 +7.405E+03 4.011E-01 +7.415E+03 4.011E-01 +7.425E+03 4.011E-01 +7.435E+03 4.000E-01 +7.445E+03 4.000E-01 +7.455E+03 4.000E-01 +7.465E+03 4.000E-01 +7.475E+03 4.000E-01 +7.485E+03 4.000E-01 +7.495E+03 4.000E-01 +7.505E+03 4.000E-01 +7.515E+03 3.989E-01 +7.525E+03 3.989E-01 +7.535E+03 3.989E-01 +7.545E+03 3.989E-01 +7.555E+03 3.989E-01 +7.565E+03 3.989E-01 +7.575E+03 3.989E-01 +7.585E+03 3.979E-01 +7.595E+03 3.979E-01 +7.605E+03 3.979E-01 +7.615E+03 3.979E-01 +7.625E+03 3.979E-01 +7.635E+03 3.979E-01 +7.645E+03 3.979E-01 +7.655E+03 3.979E-01 +7.665E+03 3.968E-01 +7.675E+03 3.968E-01 +7.685E+03 3.968E-01 +7.695E+03 3.968E-01 +7.705E+03 3.968E-01 +7.715E+03 3.968E-01 +7.725E+03 3.968E-01 +7.735E+03 3.968E-01 +7.745E+03 3.958E-01 +7.755E+03 3.958E-01 +7.765E+03 3.958E-01 +7.775E+03 3.958E-01 +7.785E+03 3.958E-01 +7.795E+03 3.958E-01 +7.805E+03 3.958E-01 +7.815E+03 3.947E-01 +7.825E+03 3.947E-01 +7.835E+03 3.947E-01 +7.845E+03 3.947E-01 +7.855E+03 3.947E-01 +7.865E+03 3.947E-01 +7.875E+03 3.947E-01 +7.885E+03 3.947E-01 +7.895E+03 3.937E-01 +7.905E+03 3.937E-01 +7.915E+03 3.937E-01 +7.925E+03 3.937E-01 +7.935E+03 3.937E-01 +7.945E+03 3.937E-01 +7.955E+03 3.937E-01 +7.965E+03 3.937E-01 +7.975E+03 3.926E-01 +7.985E+03 3.926E-01 +7.995E+03 3.926E-01 +8.005E+03 3.926E-01 +8.015E+03 3.926E-01 +8.025E+03 3.926E-01 +8.035E+03 3.926E-01 +8.045E+03 3.926E-01 +8.055E+03 3.916E-01 +8.065E+03 3.916E-01 +8.075E+03 3.916E-01 +8.085E+03 3.916E-01 +8.095E+03 3.916E-01 +8.105E+03 3.916E-01 +8.115E+03 3.916E-01 +8.125E+03 3.905E-01 +8.135E+03 3.905E-01 +8.145E+03 3.905E-01 +8.155E+03 3.905E-01 +8.165E+03 3.905E-01 +8.175E+03 3.905E-01 +8.185E+03 3.905E-01 +8.195E+03 3.905E-01 +8.205E+03 3.895E-01 +8.215E+03 3.895E-01 +8.225E+03 3.895E-01 +8.235E+03 3.895E-01 +8.245E+03 3.895E-01 +8.255E+03 3.895E-01 +8.265E+03 3.895E-01 +8.275E+03 3.895E-01 +8.285E+03 3.884E-01 +8.295E+03 3.884E-01 +8.305E+03 3.884E-01 +8.315E+03 3.884E-01 +8.325E+03 3.884E-01 +8.335E+03 3.884E-01 +8.345E+03 3.884E-01 +8.355E+03 3.884E-01 +8.365E+03 3.874E-01 +8.375E+03 3.874E-01 +8.385E+03 3.874E-01 +8.395E+03 3.874E-01 +8.405E+03 3.874E-01 +8.415E+03 3.874E-01 +8.425E+03 3.874E-01 +8.435E+03 3.874E-01 +8.445E+03 3.863E-01 +8.455E+03 3.863E-01 +8.465E+03 3.863E-01 +8.475E+03 3.863E-01 +8.485E+03 3.863E-01 +8.495E+03 3.863E-01 +8.505E+03 3.863E-01 +8.515E+03 3.863E-01 +8.525E+03 3.853E-01 +8.535E+03 3.853E-01 +8.545E+03 3.853E-01 +8.555E+03 3.853E-01 +8.565E+03 3.853E-01 +8.575E+03 3.853E-01 +8.585E+03 3.853E-01 +8.595E+03 3.853E-01 +8.605E+03 3.842E-01 +8.615E+03 3.842E-01 +8.625E+03 3.842E-01 +8.635E+03 3.842E-01 +8.645E+03 3.842E-01 +8.655E+03 3.842E-01 +8.665E+03 3.842E-01 +8.675E+03 3.832E-01 +8.685E+03 3.832E-01 +8.695E+03 3.832E-01 +8.705E+03 3.832E-01 +8.715E+03 3.832E-01 +8.725E+03 3.832E-01 +8.735E+03 3.832E-01 +8.745E+03 3.832E-01 +8.755E+03 3.821E-01 +8.765E+03 3.821E-01 +8.775E+03 3.821E-01 +8.785E+03 3.821E-01 +8.795E+03 3.821E-01 +8.805E+03 3.821E-01 +8.815E+03 3.821E-01 +8.825E+03 3.821E-01 +8.835E+03 3.811E-01 +8.845E+03 3.811E-01 +8.855E+03 3.811E-01 +8.865E+03 3.811E-01 +8.875E+03 3.811E-01 +8.885E+03 3.811E-01 +8.895E+03 3.811E-01 +8.905E+03 3.811E-01 +8.915E+03 3.800E-01 +8.925E+03 3.800E-01 +8.935E+03 3.800E-01 +8.945E+03 3.800E-01 +8.955E+03 3.800E-01 +8.965E+03 3.800E-01 +8.975E+03 3.800E-01 +8.985E+03 3.800E-01 +8.995E+03 3.789E-01 +9.005E+03 3.789E-01 diff --git a/Simulation/G4Utilities/G4UserActions/share/protons_Si_Gunnar_Huhtinen.dat b/Simulation/G4Utilities/G4UserActions/share/protons_Si_Gunnar_Huhtinen.dat new file mode 100644 index 0000000000000000000000000000000000000000..b1e2f70952d0e8926e2a75ca28f8ba4b0d17c646 --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/share/protons_Si_Gunnar_Huhtinen.dat @@ -0,0 +1,902 @@ +#A. Vasilescu (INPE Bucharest) and G. Lindstroem (University of Hamburg), Displacement damage in silicon, on-line compilation, http://sesam.desy.de/members/gunnar/Si-dfuncs.html +# E_kin (MeV) D/(95MeVmb) + 1.500E+01 3.376E+00 + 2.500E+01 2.558E+00 + 3.500E+01 2.125E+00 + 4.500E+01 1.881E+00 + 5.500E+01 1.715E+00 + 6.500E+01 1.580E+00 + 7.500E+01 1.468E+00 + 8.500E+01 1.379E+00 + 9.500E+01 1.307E+00 + 1.050E+02 1.244E+00 + 1.150E+02 1.202E+00 + 1.250E+02 1.161E+00 + 1.350E+02 1.124E+00 + 1.450E+02 1.099E+00 + 1.550E+02 1.075E+00 + 1.650E+02 1.051E+00 + 1.750E+02 1.028E+00 + 1.850E+02 1.013E+00 + 1.950E+02 9.968E-01 + 2.050E+02 9.811E-01 + 2.150E+02 9.653E-01 + 2.250E+02 9.516E-01 + 2.350E+02 9.421E-01 + 2.450E+02 9.326E-01 + 2.550E+02 9.242E-01 + 2.650E+02 9.147E-01 + 2.750E+02 9.063E-01 + 2.850E+02 8.968E-01 + 2.950E+02 8.905E-01 + 3.050E+02 8.842E-01 + 3.150E+02 8.779E-01 + 3.250E+02 8.726E-01 + 3.350E+02 8.663E-01 + 3.450E+02 8.611E-01 + 3.550E+02 8.558E-01 + 3.650E+02 8.495E-01 + 3.750E+02 8.442E-01 + 3.850E+02 8.389E-01 + 3.950E+02 8.326E-01 + 4.050E+02 8.274E-01 + 4.150E+02 8.221E-01 + 4.250E+02 8.168E-01 + 4.350E+02 8.116E-01 + 4.450E+02 8.063E-01 + 4.550E+02 8.011E-01 + 4.650E+02 7.958E-01 + 4.750E+02 7.905E-01 + 4.850E+02 7.853E-01 + 4.950E+02 7.821E-01 + 5.050E+02 7.800E-01 + 5.150E+02 7.768E-01 + 5.250E+02 7.737E-01 + 5.350E+02 7.716E-01 + 5.450E+02 7.684E-01 + 5.550E+02 7.653E-01 + 5.650E+02 7.621E-01 + 5.750E+02 7.600E-01 + 5.850E+02 7.568E-01 + 5.950E+02 7.547E-01 + 6.050E+02 7.516E-01 + 6.150E+02 7.484E-01 + 6.250E+02 7.463E-01 + 6.350E+02 7.442E-01 + 6.450E+02 7.421E-01 + 6.550E+02 7.400E-01 + 6.650E+02 7.379E-01 + 6.750E+02 7.358E-01 + 6.850E+02 7.347E-01 + 6.950E+02 7.326E-01 + 7.050E+02 7.305E-01 + 7.150E+02 7.284E-01 + 7.250E+02 7.263E-01 + 7.350E+02 7.242E-01 + 7.450E+02 7.232E-01 + 7.550E+02 7.211E-01 + 7.650E+02 7.189E-01 + 7.750E+02 7.168E-01 + 7.850E+02 7.147E-01 + 7.950E+02 7.137E-01 + 8.050E+02 7.116E-01 + 8.150E+02 7.095E-01 + 8.250E+02 7.084E-01 + 8.350E+02 7.074E-01 + 8.450E+02 7.063E-01 + 8.550E+02 7.042E-01 + 8.650E+02 7.032E-01 + 8.750E+02 7.021E-01 + 8.850E+02 7.011E-01 + 8.950E+02 6.989E-01 + 9.050E+02 6.979E-01 + 9.150E+02 6.968E-01 + 9.250E+02 6.958E-01 + 9.350E+02 6.947E-01 + 9.450E+02 6.926E-01 + 9.550E+02 6.916E-01 + 9.650E+02 6.905E-01 + 9.750E+02 6.895E-01 + 9.850E+02 6.874E-01 + 9.950E+02 6.863E-01 + 1.005E+03 6.853E-01 + 1.015E+03 6.842E-01 + 1.025E+03 6.832E-01 + 1.035E+03 6.811E-01 + 1.045E+03 6.800E-01 + 1.055E+03 6.789E-01 + 1.065E+03 6.789E-01 + 1.075E+03 6.779E-01 + 1.085E+03 6.768E-01 + 1.095E+03 6.758E-01 + 1.105E+03 6.758E-01 + 1.115E+03 6.747E-01 + 1.125E+03 6.737E-01 + 1.135E+03 6.726E-01 + 1.145E+03 6.726E-01 + 1.155E+03 6.716E-01 + 1.165E+03 6.705E-01 + 1.175E+03 6.695E-01 + 1.185E+03 6.695E-01 + 1.195E+03 6.684E-01 + 1.205E+03 6.674E-01 + 1.215E+03 6.663E-01 + 1.225E+03 6.663E-01 + 1.235E+03 6.653E-01 + 1.245E+03 6.642E-01 + 1.255E+03 6.632E-01 + 1.265E+03 6.632E-01 + 1.275E+03 6.621E-01 + 1.285E+03 6.611E-01 + 1.295E+03 6.600E-01 + 1.305E+03 6.600E-01 + 1.315E+03 6.589E-01 + 1.325E+03 6.579E-01 + 1.335E+03 6.568E-01 + 1.345E+03 6.568E-01 + 1.355E+03 6.558E-01 + 1.365E+03 6.547E-01 + 1.375E+03 6.547E-01 + 1.385E+03 6.537E-01 + 1.395E+03 6.526E-01 + 1.405E+03 6.526E-01 + 1.415E+03 6.516E-01 + 1.425E+03 6.516E-01 + 1.435E+03 6.505E-01 + 1.445E+03 6.495E-01 + 1.455E+03 6.495E-01 + 1.465E+03 6.484E-01 + 1.475E+03 6.474E-01 + 1.485E+03 6.474E-01 + 1.495E+03 6.463E-01 + 1.505E+03 6.463E-01 + 1.515E+03 6.453E-01 + 1.525E+03 6.442E-01 + 1.535E+03 6.442E-01 + 1.545E+03 6.432E-01 + 1.555E+03 6.432E-01 + 1.565E+03 6.421E-01 + 1.575E+03 6.411E-01 + 1.585E+03 6.411E-01 + 1.595E+03 6.400E-01 + 1.605E+03 6.389E-01 + 1.615E+03 6.389E-01 + 1.625E+03 6.379E-01 + 1.635E+03 6.379E-01 + 1.645E+03 6.368E-01 + 1.655E+03 6.358E-01 + 1.665E+03 6.358E-01 + 1.675E+03 6.347E-01 + 1.685E+03 6.347E-01 + 1.695E+03 6.337E-01 + 1.705E+03 6.326E-01 + 1.715E+03 6.326E-01 + 1.725E+03 6.316E-01 + 1.735E+03 6.316E-01 + 1.745E+03 6.305E-01 + 1.755E+03 6.295E-01 + 1.765E+03 6.295E-01 + 1.775E+03 6.284E-01 + 1.785E+03 6.284E-01 + 1.795E+03 6.284E-01 + 1.805E+03 6.274E-01 + 1.815E+03 6.274E-01 + 1.825E+03 6.263E-01 + 1.835E+03 6.263E-01 + 1.845E+03 6.253E-01 + 1.855E+03 6.253E-01 + 1.865E+03 6.242E-01 + 1.875E+03 6.242E-01 + 1.885E+03 6.232E-01 + 1.895E+03 6.232E-01 + 1.905E+03 6.221E-01 + 1.915E+03 6.221E-01 + 1.925E+03 6.211E-01 + 1.935E+03 6.211E-01 + 1.945E+03 6.211E-01 + 1.955E+03 6.200E-01 + 1.965E+03 6.200E-01 + 1.975E+03 6.189E-01 + 1.985E+03 6.189E-01 + 1.995E+03 6.179E-01 + 2.005E+03 6.179E-01 + 2.015E+03 6.168E-01 + 2.025E+03 6.168E-01 + 2.035E+03 6.158E-01 + 2.045E+03 6.158E-01 + 2.055E+03 6.158E-01 + 2.065E+03 6.147E-01 + 2.075E+03 6.147E-01 + 2.085E+03 6.137E-01 + 2.095E+03 6.137E-01 + 2.105E+03 6.126E-01 + 2.115E+03 6.126E-01 + 2.125E+03 6.116E-01 + 2.135E+03 6.116E-01 + 2.145E+03 6.105E-01 + 2.155E+03 6.105E-01 + 2.165E+03 6.105E-01 + 2.175E+03 6.095E-01 + 2.185E+03 6.095E-01 + 2.195E+03 6.084E-01 + 2.205E+03 6.084E-01 + 2.215E+03 6.074E-01 + 2.225E+03 6.074E-01 + 2.235E+03 6.063E-01 + 2.245E+03 6.063E-01 + 2.255E+03 6.053E-01 + 2.265E+03 6.053E-01 + 2.275E+03 6.053E-01 + 2.285E+03 6.053E-01 + 2.295E+03 6.042E-01 + 2.305E+03 6.042E-01 + 2.315E+03 6.042E-01 + 2.325E+03 6.042E-01 + 2.335E+03 6.042E-01 + 2.345E+03 6.042E-01 + 2.355E+03 6.042E-01 + 2.365E+03 6.032E-01 + 2.375E+03 6.032E-01 + 2.385E+03 6.032E-01 + 2.395E+03 6.032E-01 + 2.405E+03 6.032E-01 + 2.415E+03 6.032E-01 + 2.425E+03 6.032E-01 + 2.435E+03 6.021E-01 + 2.445E+03 6.021E-01 + 2.455E+03 6.021E-01 + 2.465E+03 6.021E-01 + 2.475E+03 6.021E-01 + 2.485E+03 6.021E-01 + 2.495E+03 6.021E-01 + 2.505E+03 6.011E-01 + 2.515E+03 6.011E-01 + 2.525E+03 6.011E-01 + 2.535E+03 6.011E-01 + 2.545E+03 6.011E-01 + 2.555E+03 6.011E-01 + 2.565E+03 6.000E-01 + 2.575E+03 6.000E-01 + 2.585E+03 6.000E-01 + 2.595E+03 6.000E-01 + 2.605E+03 6.000E-01 + 2.615E+03 6.000E-01 + 2.625E+03 6.000E-01 + 2.635E+03 5.989E-01 + 2.645E+03 5.989E-01 + 2.655E+03 5.989E-01 + 2.665E+03 5.989E-01 + 2.675E+03 5.989E-01 + 2.685E+03 5.989E-01 + 2.695E+03 5.989E-01 + 2.705E+03 5.979E-01 + 2.715E+03 5.979E-01 + 2.725E+03 5.979E-01 + 2.735E+03 5.979E-01 + 2.745E+03 5.979E-01 + 2.755E+03 5.979E-01 + 2.765E+03 5.979E-01 + 2.775E+03 5.968E-01 + 2.785E+03 5.968E-01 + 2.795E+03 5.968E-01 + 2.805E+03 5.968E-01 + 2.815E+03 5.968E-01 + 2.825E+03 5.968E-01 + 2.835E+03 5.958E-01 + 2.845E+03 5.958E-01 + 2.855E+03 5.958E-01 + 2.865E+03 5.958E-01 + 2.875E+03 5.958E-01 + 2.885E+03 5.958E-01 + 2.895E+03 5.958E-01 + 2.905E+03 5.947E-01 + 2.915E+03 5.947E-01 + 2.925E+03 5.947E-01 + 2.935E+03 5.947E-01 + 2.945E+03 5.947E-01 + 2.955E+03 5.947E-01 + 2.965E+03 5.947E-01 + 2.975E+03 5.937E-01 + 2.985E+03 5.937E-01 + 2.995E+03 5.937E-01 + 3.005E+03 5.937E-01 + 3.015E+03 5.937E-01 + 3.025E+03 5.937E-01 + 3.035E+03 5.937E-01 + 3.045E+03 5.926E-01 + 3.055E+03 5.926E-01 + 3.065E+03 5.926E-01 + 3.075E+03 5.926E-01 + 3.085E+03 5.926E-01 + 3.095E+03 5.926E-01 + 3.105E+03 5.926E-01 + 3.115E+03 5.916E-01 + 3.125E+03 5.916E-01 + 3.135E+03 5.916E-01 + 3.145E+03 5.916E-01 + 3.155E+03 5.916E-01 + 3.165E+03 5.916E-01 + 3.175E+03 5.905E-01 + 3.185E+03 5.905E-01 + 3.195E+03 5.905E-01 + 3.205E+03 5.905E-01 + 3.215E+03 5.905E-01 + 3.225E+03 5.905E-01 + 3.235E+03 5.905E-01 + 3.245E+03 5.895E-01 + 3.255E+03 5.895E-01 + 3.265E+03 5.895E-01 + 3.275E+03 5.895E-01 + 3.285E+03 5.895E-01 + 3.295E+03 5.895E-01 + 3.305E+03 5.895E-01 + 3.315E+03 5.884E-01 + 3.325E+03 5.884E-01 + 3.335E+03 5.884E-01 + 3.345E+03 5.884E-01 + 3.355E+03 5.884E-01 + 3.365E+03 5.884E-01 + 3.375E+03 5.884E-01 + 3.385E+03 5.874E-01 + 3.395E+03 5.874E-01 + 3.405E+03 5.874E-01 + 3.415E+03 5.874E-01 + 3.425E+03 5.874E-01 + 3.435E+03 5.874E-01 + 3.445E+03 5.874E-01 + 3.455E+03 5.863E-01 + 3.465E+03 5.863E-01 + 3.475E+03 5.863E-01 + 3.485E+03 5.863E-01 + 3.495E+03 5.863E-01 + 3.505E+03 5.863E-01 + 3.515E+03 5.863E-01 + 3.525E+03 5.853E-01 + 3.535E+03 5.853E-01 + 3.545E+03 5.853E-01 + 3.555E+03 5.853E-01 + 3.565E+03 5.853E-01 + 3.575E+03 5.853E-01 + 3.585E+03 5.853E-01 + 3.595E+03 5.842E-01 + 3.605E+03 5.842E-01 + 3.615E+03 5.842E-01 + 3.625E+03 5.842E-01 + 3.635E+03 5.842E-01 + 3.645E+03 5.842E-01 + 3.655E+03 5.842E-01 + 3.665E+03 5.832E-01 + 3.675E+03 5.832E-01 + 3.685E+03 5.832E-01 + 3.695E+03 5.832E-01 + 3.705E+03 5.832E-01 + 3.715E+03 5.832E-01 + 3.725E+03 5.832E-01 + 3.735E+03 5.821E-01 + 3.745E+03 5.821E-01 + 3.755E+03 5.821E-01 + 3.765E+03 5.821E-01 + 3.775E+03 5.821E-01 + 3.785E+03 5.821E-01 + 3.795E+03 5.821E-01 + 3.805E+03 5.811E-01 + 3.815E+03 5.811E-01 + 3.825E+03 5.811E-01 + 3.835E+03 5.811E-01 + 3.845E+03 5.811E-01 + 3.855E+03 5.811E-01 + 3.865E+03 5.811E-01 + 3.875E+03 5.800E-01 + 3.885E+03 5.800E-01 + 3.895E+03 5.800E-01 + 3.905E+03 5.800E-01 + 3.915E+03 5.800E-01 + 3.925E+03 5.800E-01 + 3.935E+03 5.800E-01 + 3.945E+03 5.789E-01 + 3.955E+03 5.789E-01 + 3.965E+03 5.789E-01 + 3.975E+03 5.789E-01 + 3.985E+03 5.789E-01 + 3.995E+03 5.789E-01 + 4.005E+03 5.789E-01 + 4.015E+03 5.779E-01 + 4.025E+03 5.779E-01 + 4.035E+03 5.779E-01 + 4.045E+03 5.779E-01 + 4.055E+03 5.779E-01 + 4.065E+03 5.779E-01 + 4.075E+03 5.779E-01 + 4.085E+03 5.768E-01 + 4.095E+03 5.768E-01 + 4.105E+03 5.768E-01 + 4.115E+03 5.768E-01 + 4.125E+03 5.768E-01 + 4.135E+03 5.768E-01 + 4.145E+03 5.768E-01 + 4.155E+03 5.758E-01 + 4.165E+03 5.758E-01 + 4.175E+03 5.758E-01 + 4.185E+03 5.758E-01 + 4.195E+03 5.758E-01 + 4.205E+03 5.758E-01 + 4.215E+03 5.758E-01 + 4.225E+03 5.747E-01 + 4.235E+03 5.747E-01 + 4.245E+03 5.747E-01 + 4.255E+03 5.747E-01 + 4.265E+03 5.747E-01 + 4.275E+03 5.747E-01 + 4.285E+03 5.747E-01 + 4.295E+03 5.737E-01 + 4.305E+03 5.737E-01 + 4.315E+03 5.737E-01 + 4.325E+03 5.737E-01 + 4.335E+03 5.737E-01 + 4.345E+03 5.737E-01 + 4.355E+03 5.737E-01 + 4.365E+03 5.726E-01 + 4.375E+03 5.726E-01 + 4.385E+03 5.726E-01 + 4.395E+03 5.726E-01 + 4.405E+03 5.726E-01 + 4.415E+03 5.726E-01 + 4.425E+03 5.726E-01 + 4.435E+03 5.716E-01 + 4.445E+03 5.716E-01 + 4.455E+03 5.716E-01 + 4.465E+03 5.716E-01 + 4.475E+03 5.716E-01 + 4.485E+03 5.716E-01 + 4.495E+03 5.716E-01 + 4.505E+03 5.705E-01 + 4.515E+03 5.705E-01 + 4.525E+03 5.705E-01 + 4.535E+03 5.705E-01 + 4.545E+03 5.705E-01 + 4.555E+03 5.705E-01 + 4.565E+03 5.705E-01 + 4.575E+03 5.695E-01 + 4.585E+03 5.695E-01 + 4.595E+03 5.695E-01 + 4.605E+03 5.695E-01 + 4.615E+03 5.695E-01 + 4.625E+03 5.695E-01 + 4.635E+03 5.695E-01 + 4.645E+03 5.684E-01 + 4.655E+03 5.684E-01 + 4.665E+03 5.684E-01 + 4.675E+03 5.684E-01 + 4.685E+03 5.684E-01 + 4.695E+03 5.684E-01 + 4.705E+03 5.684E-01 + 4.715E+03 5.674E-01 + 4.725E+03 5.674E-01 + 4.735E+03 5.674E-01 + 4.745E+03 5.674E-01 + 4.755E+03 5.674E-01 + 4.765E+03 5.674E-01 + 4.775E+03 5.674E-01 + 4.785E+03 5.674E-01 + 4.795E+03 5.663E-01 + 4.805E+03 5.663E-01 + 4.815E+03 5.663E-01 + 4.825E+03 5.663E-01 + 4.835E+03 5.663E-01 + 4.845E+03 5.663E-01 + 4.855E+03 5.663E-01 + 4.865E+03 5.653E-01 + 4.875E+03 5.653E-01 + 4.885E+03 5.653E-01 + 4.895E+03 5.653E-01 + 4.905E+03 5.653E-01 + 4.915E+03 5.653E-01 + 4.925E+03 5.653E-01 + 4.935E+03 5.642E-01 + 4.945E+03 5.642E-01 + 4.955E+03 5.642E-01 + 4.965E+03 5.642E-01 + 4.975E+03 5.642E-01 + 4.985E+03 5.642E-01 + 4.995E+03 5.642E-01 + 5.005E+03 5.632E-01 + 5.015E+03 5.632E-01 + 5.025E+03 5.632E-01 + 5.035E+03 5.632E-01 + 5.045E+03 5.632E-01 + 5.055E+03 5.632E-01 + 5.065E+03 5.632E-01 + 5.075E+03 5.621E-01 + 5.085E+03 5.621E-01 + 5.095E+03 5.621E-01 + 5.105E+03 5.621E-01 + 5.115E+03 5.621E-01 + 5.125E+03 5.621E-01 + 5.135E+03 5.621E-01 + 5.145E+03 5.611E-01 + 5.155E+03 5.611E-01 + 5.165E+03 5.611E-01 + 5.175E+03 5.611E-01 + 5.185E+03 5.611E-01 + 5.195E+03 5.611E-01 + 5.205E+03 5.611E-01 + 5.215E+03 5.611E-01 + 5.225E+03 5.600E-01 + 5.235E+03 5.600E-01 + 5.245E+03 5.600E-01 + 5.255E+03 5.600E-01 + 5.265E+03 5.600E-01 + 5.275E+03 5.600E-01 + 5.285E+03 5.600E-01 + 5.295E+03 5.589E-01 + 5.305E+03 5.589E-01 + 5.315E+03 5.589E-01 + 5.325E+03 5.589E-01 + 5.335E+03 5.589E-01 + 5.345E+03 5.589E-01 + 5.355E+03 5.589E-01 + 5.365E+03 5.579E-01 + 5.375E+03 5.579E-01 + 5.385E+03 5.579E-01 + 5.395E+03 5.579E-01 + 5.405E+03 5.579E-01 + 5.415E+03 5.579E-01 + 5.425E+03 5.579E-01 + 5.435E+03 5.568E-01 + 5.445E+03 5.568E-01 + 5.455E+03 5.568E-01 + 5.465E+03 5.568E-01 + 5.475E+03 5.568E-01 + 5.485E+03 5.568E-01 + 5.495E+03 5.568E-01 + 5.505E+03 5.568E-01 + 5.515E+03 5.558E-01 + 5.525E+03 5.558E-01 + 5.535E+03 5.558E-01 + 5.545E+03 5.558E-01 + 5.555E+03 5.558E-01 + 5.565E+03 5.558E-01 + 5.575E+03 5.558E-01 + 5.585E+03 5.547E-01 + 5.595E+03 5.547E-01 + 5.605E+03 5.547E-01 + 5.615E+03 5.547E-01 + 5.625E+03 5.547E-01 + 5.635E+03 5.547E-01 + 5.645E+03 5.547E-01 + 5.655E+03 5.537E-01 + 5.665E+03 5.537E-01 + 5.675E+03 5.537E-01 + 5.685E+03 5.537E-01 + 5.695E+03 5.537E-01 + 5.705E+03 5.537E-01 + 5.715E+03 5.537E-01 + 5.725E+03 5.537E-01 + 5.735E+03 5.526E-01 + 5.745E+03 5.526E-01 + 5.755E+03 5.526E-01 + 5.765E+03 5.526E-01 + 5.775E+03 5.526E-01 + 5.785E+03 5.526E-01 + 5.795E+03 5.526E-01 + 5.805E+03 5.516E-01 + 5.815E+03 5.516E-01 + 5.825E+03 5.516E-01 + 5.835E+03 5.516E-01 + 5.845E+03 5.516E-01 + 5.855E+03 5.516E-01 + 5.865E+03 5.516E-01 + 5.875E+03 5.505E-01 + 5.885E+03 5.505E-01 + 5.895E+03 5.505E-01 + 5.905E+03 5.505E-01 + 5.915E+03 5.505E-01 + 5.925E+03 5.505E-01 + 5.935E+03 5.505E-01 + 5.945E+03 5.505E-01 + 5.955E+03 5.495E-01 + 5.965E+03 5.495E-01 + 5.975E+03 5.495E-01 + 5.985E+03 5.495E-01 + 5.995E+03 5.495E-01 + 6.005E+03 5.495E-01 + 6.015E+03 5.495E-01 + 6.025E+03 5.484E-01 + 6.035E+03 5.484E-01 + 6.045E+03 5.484E-01 + 6.055E+03 5.484E-01 + 6.065E+03 5.484E-01 + 6.075E+03 5.484E-01 + 6.085E+03 5.484E-01 + 6.095E+03 5.474E-01 + 6.105E+03 5.474E-01 + 6.115E+03 5.474E-01 + 6.125E+03 5.474E-01 + 6.135E+03 5.474E-01 + 6.145E+03 5.474E-01 + 6.155E+03 5.474E-01 + 6.165E+03 5.474E-01 + 6.175E+03 5.463E-01 + 6.185E+03 5.463E-01 + 6.195E+03 5.463E-01 + 6.205E+03 5.463E-01 + 6.215E+03 5.463E-01 + 6.225E+03 5.463E-01 + 6.235E+03 5.463E-01 + 6.245E+03 5.453E-01 + 6.255E+03 5.453E-01 + 6.265E+03 5.453E-01 + 6.275E+03 5.453E-01 + 6.285E+03 5.453E-01 + 6.295E+03 5.453E-01 + 6.305E+03 5.453E-01 + 6.315E+03 5.453E-01 + 6.325E+03 5.442E-01 + 6.335E+03 5.442E-01 + 6.345E+03 5.442E-01 + 6.355E+03 5.442E-01 + 6.365E+03 5.442E-01 + 6.375E+03 5.442E-01 + 6.385E+03 5.442E-01 + 6.395E+03 5.432E-01 + 6.405E+03 5.432E-01 + 6.415E+03 5.432E-01 + 6.425E+03 5.432E-01 + 6.435E+03 5.432E-01 + 6.445E+03 5.432E-01 + 6.455E+03 5.432E-01 + 6.465E+03 5.432E-01 + 6.475E+03 5.421E-01 + 6.485E+03 5.421E-01 + 6.495E+03 5.421E-01 + 6.505E+03 5.421E-01 + 6.515E+03 5.421E-01 + 6.525E+03 5.421E-01 + 6.535E+03 5.421E-01 + 6.545E+03 5.411E-01 + 6.555E+03 5.411E-01 + 6.565E+03 5.411E-01 + 6.575E+03 5.411E-01 + 6.585E+03 5.411E-01 + 6.595E+03 5.411E-01 + 6.605E+03 5.411E-01 + 6.615E+03 5.411E-01 + 6.625E+03 5.400E-01 + 6.635E+03 5.400E-01 + 6.645E+03 5.400E-01 + 6.655E+03 5.400E-01 + 6.665E+03 5.400E-01 + 6.675E+03 5.400E-01 + 6.685E+03 5.400E-01 + 6.695E+03 5.389E-01 + 6.705E+03 5.389E-01 + 6.715E+03 5.389E-01 + 6.725E+03 5.389E-01 + 6.735E+03 5.389E-01 + 6.745E+03 5.389E-01 + 6.755E+03 5.389E-01 + 6.765E+03 5.389E-01 + 6.775E+03 5.379E-01 + 6.785E+03 5.379E-01 + 6.795E+03 5.379E-01 + 6.805E+03 5.379E-01 + 6.815E+03 5.379E-01 + 6.825E+03 5.379E-01 + 6.835E+03 5.379E-01 + 6.845E+03 5.368E-01 + 6.855E+03 5.368E-01 + 6.865E+03 5.368E-01 + 6.875E+03 5.368E-01 + 6.885E+03 5.368E-01 + 6.895E+03 5.368E-01 + 6.905E+03 5.368E-01 + 6.915E+03 5.368E-01 + 6.925E+03 5.358E-01 + 6.935E+03 5.358E-01 + 6.945E+03 5.358E-01 + 6.955E+03 5.358E-01 + 6.965E+03 5.358E-01 + 6.975E+03 5.358E-01 + 6.985E+03 5.358E-01 + 6.995E+03 5.347E-01 + 7.005E+03 5.347E-01 + 7.015E+03 5.347E-01 + 7.025E+03 5.347E-01 + 7.035E+03 5.347E-01 + 7.045E+03 5.347E-01 + 7.055E+03 5.347E-01 + 7.065E+03 5.347E-01 + 7.075E+03 5.337E-01 + 7.085E+03 5.337E-01 + 7.095E+03 5.337E-01 + 7.105E+03 5.337E-01 + 7.115E+03 5.337E-01 + 7.125E+03 5.337E-01 + 7.135E+03 5.337E-01 + 7.145E+03 5.326E-01 + 7.155E+03 5.326E-01 + 7.165E+03 5.326E-01 + 7.175E+03 5.326E-01 + 7.185E+03 5.326E-01 + 7.195E+03 5.326E-01 + 7.205E+03 5.326E-01 + 7.215E+03 5.326E-01 + 7.225E+03 5.316E-01 + 7.413E+03 5.316E-01 + 7.245E+03 5.316E-01 + 7.255E+03 5.316E-01 + 7.265E+03 5.316E-01 + 7.275E+03 5.316E-01 + 7.285E+03 5.316E-01 + 7.295E+03 5.316E-01 + 7.305E+03 5.305E-01 + 7.315E+03 5.305E-01 + 7.325E+03 5.305E-01 + 7.335E+03 5.305E-01 + 7.345E+03 5.305E-01 + 7.355E+03 5.305E-01 + 7.365E+03 5.305E-01 + 7.375E+03 5.295E-01 + 7.385E+03 5.295E-01 + 7.395E+03 5.295E-01 + 7.405E+03 5.295E-01 + 7.415E+03 5.295E-01 + 7.425E+03 5.295E-01 + 7.435E+03 5.295E-01 + 7.445E+03 5.295E-01 + 7.455E+03 5.284E-01 + 7.465E+03 5.284E-01 + 7.475E+03 5.284E-01 + 7.485E+03 5.284E-01 + 7.495E+03 5.284E-01 + 7.505E+03 5.284E-01 + 7.515E+03 5.284E-01 + 7.525E+03 5.284E-01 + 7.535E+03 5.274E-01 + 7.545E+03 5.274E-01 + 7.555E+03 5.274E-01 + 7.565E+03 5.274E-01 + 7.575E+03 5.274E-01 + 7.585E+03 5.274E-01 + 7.595E+03 5.274E-01 + 7.605E+03 5.263E-01 + 7.615E+03 5.263E-01 + 7.625E+03 5.263E-01 + 7.635E+03 5.263E-01 + 7.645E+03 5.263E-01 + 7.655E+03 5.263E-01 + 7.665E+03 5.263E-01 + 7.675E+03 5.263E-01 + 7.685E+03 5.253E-01 + 7.695E+03 5.253E-01 + 7.705E+03 5.253E-01 + 7.715E+03 5.253E-01 + 7.725E+03 5.253E-01 + 7.735E+03 5.253E-01 + 7.745E+03 5.253E-01 + 7.755E+03 5.253E-01 + 7.765E+03 5.242E-01 + 7.775E+03 5.242E-01 + 7.785E+03 5.242E-01 + 7.795E+03 5.242E-01 + 7.805E+03 5.242E-01 + 7.815E+03 5.242E-01 + 7.825E+03 5.242E-01 + 7.835E+03 5.242E-01 + 7.845E+03 5.232E-01 + 7.855E+03 5.232E-01 + 7.865E+03 5.232E-01 + 7.875E+03 5.232E-01 + 7.885E+03 5.232E-01 + 7.895E+03 5.232E-01 + 7.905E+03 5.232E-01 + 7.915E+03 5.221E-01 + 7.925E+03 5.221E-01 + 7.935E+03 5.221E-01 + 7.945E+03 5.221E-01 + 7.955E+03 5.221E-01 + 7.965E+03 5.221E-01 + 7.975E+03 5.221E-01 + 7.985E+03 5.221E-01 + 7.995E+03 5.211E-01 + 8.005E+03 5.211E-01 + 8.015E+03 5.211E-01 + 8.025E+03 5.211E-01 + 8.035E+03 5.211E-01 + 8.045E+03 5.211E-01 + 8.055E+03 5.211E-01 + 8.065E+03 5.211E-01 + 8.075E+03 5.200E-01 + 8.085E+03 5.200E-01 + 8.095E+03 5.200E-01 + 8.105E+03 5.200E-01 + 8.115E+03 5.200E-01 + 8.125E+03 5.200E-01 + 8.135E+03 5.200E-01 + 8.145E+03 5.200E-01 + 8.155E+03 5.189E-01 + 8.165E+03 5.189E-01 + 8.175E+03 5.189E-01 + 8.185E+03 5.189E-01 + 8.195E+03 5.189E-01 + 8.205E+03 5.189E-01 + 8.215E+03 5.189E-01 + 8.225E+03 5.179E-01 + 8.235E+03 5.179E-01 + 8.245E+03 5.179E-01 + 8.255E+03 5.179E-01 + 8.265E+03 5.179E-01 + 8.275E+03 5.179E-01 + 8.285E+03 5.179E-01 + 8.295E+03 5.179E-01 + 8.305E+03 5.168E-01 + 8.315E+03 5.168E-01 + 8.325E+03 5.168E-01 + 8.335E+03 5.168E-01 + 8.345E+03 5.168E-01 + 8.355E+03 5.168E-01 + 8.365E+03 5.168E-01 + 8.375E+03 5.168E-01 + 8.385E+03 5.158E-01 + 8.395E+03 5.158E-01 + 8.405E+03 5.158E-01 + 8.415E+03 5.158E-01 + 8.425E+03 5.158E-01 + 8.435E+03 5.158E-01 + 8.445E+03 5.158E-01 + 8.455E+03 5.158E-01 + 8.465E+03 5.147E-01 + 8.475E+03 5.147E-01 + 8.485E+03 5.147E-01 + 8.495E+03 5.147E-01 + 8.505E+03 5.147E-01 + 8.515E+03 5.147E-01 + 8.525E+03 5.147E-01 + 8.535E+03 5.147E-01 + 8.545E+03 5.137E-01 + 8.555E+03 5.137E-01 + 8.565E+03 5.137E-01 + 8.575E+03 5.137E-01 + 8.585E+03 5.137E-01 + 8.595E+03 5.137E-01 + 8.605E+03 5.137E-01 + 8.615E+03 5.137E-01 + 8.625E+03 5.126E-01 + 8.635E+03 5.126E-01 + 8.645E+03 5.126E-01 + 8.655E+03 5.126E-01 + 8.665E+03 5.126E-01 + 8.675E+03 5.126E-01 + 8.685E+03 5.126E-01 + 8.695E+03 5.126E-01 + 8.705E+03 5.116E-01 + 8.715E+03 5.116E-01 + 8.725E+03 5.116E-01 + 8.735E+03 5.116E-01 + 8.745E+03 5.116E-01 + 8.755E+03 5.116E-01 + 8.765E+03 5.116E-01 + 8.775E+03 5.116E-01 + 8.785E+03 5.105E-01 + 8.795E+03 5.105E-01 + 8.805E+03 5.105E-01 + 8.815E+03 5.105E-01 + 8.825E+03 5.105E-01 + 8.835E+03 5.105E-01 + 8.845E+03 5.105E-01 + 8.855E+03 5.095E-01 + 8.865E+03 5.095E-01 + 8.875E+03 5.095E-01 + 8.885E+03 5.095E-01 + 8.895E+03 5.095E-01 + 8.905E+03 5.095E-01 + 8.915E+03 5.095E-01 + 8.925E+03 5.095E-01 + 8.935E+03 5.084E-01 + 8.945E+03 5.084E-01 + 8.955E+03 5.084E-01 + 8.965E+03 5.084E-01 + 8.975E+03 5.084E-01 + 8.985E+03 5.084E-01 + 8.995E+03 5.084E-01 + 9.005E+03 5.084E-01 diff --git a/Simulation/G4Utilities/G4UserActions/share/protons_Si_Gunnar_Summers.dat b/Simulation/G4Utilities/G4UserActions/share/protons_Si_Gunnar_Summers.dat new file mode 100644 index 0000000000000000000000000000000000000000..4daf342e63f0d1e121bcd8365b8f7160dccb616d --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/share/protons_Si_Gunnar_Summers.dat @@ -0,0 +1,29 @@ +#A. Vasilescu (INPE Bucharest) and G. Lindstroem (University of Hamburg), Displacement damage in silicon, on-line compilation, http://sesam.desy.de/members/gunnar/Si-dfuncs.html +# E_kin (MeV) D/(95MeVmb) +1.000E-03 7.590E+03 +2.000E-03 5.170E+03 +3.000E-03 3.976E+03 +5.000E-03 2.778E+03 +7.000E-03 2.167E+03 +1.000E-02 1.650E+03 +2.000E-02 9.515E+02 +3.000E-02 6.824E+02 +5.000E-02 4.447E+02 +7.000E-02 3.338E+02 +1.000E-01 2.456E+02 +2.000E-01 1.336E+02 +3.000E-01 9.127E+01 +5.000E-01 5.862E+01 +7.000E-01 4.307E+01 +1.000E+00 3.133E+01 +2.000E+00 1.618E+01 +3.000E+00 1.101E+01 +5.000E+00 6.756E+00 +7.000E+00 5.140E+00 +1.000E+01 3.871E+00 +2.000E+01 2.632E+00 +3.000E+01 2.346E+00 +5.000E+01 1.907E+00 +7.000E+01 1.552E+00 +1.000E+02 1.276E+00 +2.000E+02 9.525E-01 diff --git a/Simulation/G4Utilities/G4UserActions/src/RadiationMapsMaker.cxx b/Simulation/G4Utilities/G4UserActions/src/RadiationMapsMaker.cxx new file mode 100644 index 0000000000000000000000000000000000000000..bf4eafb872f09b925c5a5cf4de26517f91cf6a76 --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/src/RadiationMapsMaker.cxx @@ -0,0 +1,291 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include "G4UserActions/RadiationMapsMaker.h" +#include <iostream> +#include <string> +#include <cmath> +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4PionPlus.hh" +#include "G4PionMinus.hh" +#include "G4MuonPlus.hh" +#include "G4MuonMinus.hh" +#include "G4Neutron.hh" +#include "G4Proton.hh" +#include "G4Gamma.hh" +#include "TGraph.h" +#include "G4Step.hh" +#include "G4StepPoint.hh" +#include "PathResolver/PathResolver.h" + +namespace G4UA{ + + + //--------------------------------------------------------------------------- + // Merge results + //--------------------------------------------------------------------------- + void RadiationMapsMaker::Report::merge(const RadiationMapsMaker::Report& maps) + { + + // all 2d vectors have same size + for(unsigned int i=0;i<maps.m_rz_tid.size();i++) { + // zoom 2d + m_rz_tid [i] += maps.m_rz_tid [i]; + m_rz_eion[i] += maps.m_rz_eion[i]; + m_rz_niel[i] += maps.m_rz_niel[i]; + m_rz_h20 [i] += maps.m_rz_h20 [i]; + + // full 2d + m_full_rz_tid [i] += maps.m_full_rz_tid [i]; + m_full_rz_eion[i] += maps.m_full_rz_eion[i]; + m_full_rz_niel[i] += maps.m_full_rz_niel[i]; + m_full_rz_h20 [i] += maps.m_full_rz_h20 [i]; + } + + // all zoom 3d vectors have same size + for(unsigned int i=0;i<maps.m_3d_tid.size();i++) { + // zoom 3d + m_3d_tid [i] += maps.m_3d_tid [i]; + m_3d_eion[i] += maps.m_3d_eion[i]; + m_3d_niel[i] += maps.m_3d_niel[i]; + m_3d_h20 [i] += maps.m_3d_h20 [i]; + } + } + + void RadiationMapsMaker::BeginOfRunAction(const G4Run*){ + + // first make sure the vectors are empty + + m_maps.m_rz_tid .resize(0); + m_maps.m_rz_eion.resize(0); + m_maps.m_rz_niel.resize(0); + m_maps.m_rz_h20 .resize(0); + + m_maps.m_full_rz_tid .resize(0); + m_maps.m_full_rz_eion.resize(0); + m_maps.m_full_rz_niel.resize(0); + m_maps.m_full_rz_h20 .resize(0); + + m_maps.m_3d_tid .resize(0); + m_maps.m_3d_eion.resize(0); + m_maps.m_3d_niel.resize(0); + m_maps.m_3d_h20 .resize(0); + + // then resize to proper size and initialize with 0's + + m_maps.m_rz_tid .resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + m_maps.m_rz_eion.resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + m_maps.m_rz_niel.resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + m_maps.m_rz_h20 .resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + + m_maps.m_full_rz_tid .resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + m_maps.m_full_rz_eion.resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + m_maps.m_full_rz_niel.resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + m_maps.m_full_rz_h20 .resize(m_maps.nBinsz*m_maps.nBinsr,0.0); + + m_maps.m_3d_tid .resize(m_maps.nBinsz3d*m_maps.nBinsr3d*m_maps.nBinsphi3d,0.0); + m_maps.m_3d_eion.resize(m_maps.nBinsz3d*m_maps.nBinsr3d*m_maps.nBinsphi3d,0.0); + m_maps.m_3d_niel.resize(m_maps.nBinsz3d*m_maps.nBinsr3d*m_maps.nBinsphi3d,0.0); + m_maps.m_3d_h20 .resize(m_maps.nBinsz3d*m_maps.nBinsr3d*m_maps.nBinsphi3d,0.0); + + /// data files for NIEL damage factors in Si + /// + /// The data resides in the share directory of the package and should not be + /// changed. To prevent modification of the damage factors by accident + /// the file names are not configurable + /// + std::string fpSiA = PathResolver::find_file("protons_Si_Gunnar_Summers.dat" ,"DATAPATH");//E_kin < 15 MeV + std::string fpSiB = PathResolver::find_file("protons_Si_Gunnar_Huhtinen.dat" ,"DATAPATH");//E_kin > 15 MeV + std::string fnSiA = PathResolver::find_file("neutrons_Si_Gunnar_Griffin.dat" ,"DATAPATH");//E_kin < 20 MeV + std::string fnSiB = PathResolver::find_file("neutrons_Si_Gunnar_Konobeyev.dat","DATAPATH");//E_kin > 20 MeV + std::string fpiSi = PathResolver::find_file("pions_Si_Gunnar_Huhtinen.dat" ,"DATAPATH");//E_kin > 15 MeV + + if ( !m_tgpSiA ) + m_tgpSiA = new TGraph(fpSiA.c_str()); //E_kin < 15 MeV + if ( !m_tgpSiB ) + m_tgpSiB = new TGraph(fpSiB.c_str()); //E_kin > 15 MeV + if ( !m_tgnSiA ) + m_tgnSiA = new TGraph(fnSiA.c_str()); //E_kin < 20 MeV + if ( !m_tgnSiB ) + m_tgnSiB = new TGraph(fnSiB.c_str()); //E_kin > 20 MeV + if ( !m_tgpiSi ) + m_tgpiSi = new TGraph(fpiSi.c_str()); //E_kin > 15 MeV + } + + void RadiationMapsMaker::UserSteppingAction(const G4Step* aStep){ + int pdgid = 8; + if (aStep->GetTrack()->GetDefinition()==G4Gamma::Definition()){ + pdgid=0; + } else if (aStep->GetTrack()->GetDefinition()==G4Proton::Definition()){ + pdgid=1; + } else if (aStep->GetTrack()->GetDefinition()==G4PionPlus::Definition() || + aStep->GetTrack()->GetDefinition()==G4PionMinus::Definition()){ + pdgid=2; + } else if(aStep->GetTrack()->GetDefinition()==G4MuonPlus::Definition() || + aStep->GetTrack()->GetDefinition()==G4MuonMinus::Definition()){ + pdgid=3; + } else if(aStep->GetTrack()->GetDefinition()==G4Electron::Definition() || + aStep->GetTrack()->GetDefinition()==G4Positron::Definition()){ + if (aStep->GetTrack()->GetKineticEnergy()>0.5){ + pdgid=4; + } else { + pdgid=5; + } + } else if(aStep->GetTrack()->GetDefinition()==G4Neutron::Definition()){ + if (aStep->GetTrack()->GetKineticEnergy()>10.){ + pdgid=6; + } else { + pdgid=7; + } + } else if (!aStep->GetTrack()->GetDefinition()->GetPDGCharge()) return; // Not one of those and not a primary? + + + // process NIEL, h20 and Edep particles only + + if ( pdgid == 1 || pdgid == 2 || pdgid == 6 || pdgid == 7 || /* NIEL & h20*/ + aStep->GetTotalEnergyDeposit() > 0 ) { + + + double rho = aStep->GetTrack()->GetMaterial()->GetDensity()/CLHEP::g*CLHEP::cm3; + + // fluence dN/da = dl/dV + double x0 = aStep->GetPreStepPoint()->GetPosition().x()*0.1; + double x1 = aStep->GetPostStepPoint()->GetPosition().x()*0.1; + double y0 = aStep->GetPreStepPoint()->GetPosition().y()*0.1; + double y1 = aStep->GetPostStepPoint()->GetPosition().y()*0.1; + double z0 = aStep->GetPreStepPoint()->GetPosition().z()*0.1; + double z1 = aStep->GetPostStepPoint()->GetPosition().z()*0.1; + + double l = sqrt(pow(x1-x0,2)+pow(y1-y0,2)+pow(z1-z0,2)); + // make 1 mm steps but at least 1 step + double dl0 = 0.1; + unsigned int nStep = l/dl0+1; + double dx = (x1-x0)/nStep; + double dy = (y1-y0)/nStep; + double dz = (z1-z0)/nStep; + double dl = l/nStep; + + double weight = 0; // weight for NIEL + double eKin = aStep->GetTrack()->GetKineticEnergy(); + if ( pdgid == 1 ) { + if ( eKin < 15 ) { + if ( eKin > 10 ) { + weight = m_tgpSiA->Eval(eKin); + } + } + else { + weight = m_tgpSiB->Eval(eKin); + } + } + else if ( pdgid == 2 ) { + if ( eKin > 15 ) { + weight = m_tgpiSi->Eval(eKin); + } + } + else if ( pdgid == 6 || pdgid == 7 ) { + if ( eKin < 20 ) { + weight = m_tgnSiA->Eval(eKin); + } + else { + weight = m_tgnSiB->Eval(eKin); + } + } + + double dE_TOT = aStep->GetTotalEnergyDeposit()/nStep; + double dE_NIEL = aStep->GetNonIonizingEnergyDeposit()/nStep; + double dE_ION = dE_TOT-dE_NIEL; + + if ( weight > 0 || eKin > 20 || dE_TOT > 0 ) { + for(unsigned int i=0;i<nStep;i++) { + double absz = fabs(z0+dz*(i+0.5)); + double rr = sqrt(pow(x0+dx*(i+0.5),2)+ + pow(y0+dy*(i+0.5),2)); + double pphi = atan2(y0+dy*(i+0.5),x0+dx*(i+0.5))*180/M_PI; + + int vBinZoom = -1; + int vBinFull = -1; + int vBin3d = -1; + + // zoom 2d + if ( m_maps.zMinZoom < absz && + m_maps.zMaxZoom > absz ) { + int iz = (absz-m_maps.zMinZoom)/(m_maps.zMaxZoom-m_maps.zMinZoom)*m_maps.nBinsz; + if ( m_maps.rMinZoom < rr && + m_maps.rMaxZoom > rr ) { + int ir = (rr-m_maps.rMinZoom)/(m_maps.rMaxZoom-m_maps.rMinZoom)*m_maps.nBinsr; + vBinZoom = m_maps.nBinsr*iz+ir; + } + } + + // full 2d + if ( m_maps.zMinFull < absz && + m_maps.zMaxFull > absz ) { + int iz = (absz-m_maps.zMinFull)/(m_maps.zMaxFull-m_maps.zMinFull)*m_maps.nBinsz; + if ( m_maps.rMinFull < rr && + m_maps.rMaxFull > rr ) { + int ir = (rr-m_maps.rMinFull)/(m_maps.rMaxFull-m_maps.rMinFull)*m_maps.nBinsr; + vBinFull = m_maps.nBinsr*iz+ir; + } + } + + // zoom 3d + if ( m_maps.zMinZoom < absz && + m_maps.zMaxZoom > absz ) { + int iz = (absz-m_maps.zMinZoom)/(m_maps.zMaxZoom-m_maps.zMinZoom)*m_maps.nBinsz3d; + if ( m_maps.rMinZoom < rr && + m_maps.rMaxZoom > rr ) { + int ir = (rr-m_maps.rMinZoom)/(m_maps.rMaxZoom-m_maps.rMinZoom)*m_maps.nBinsr3d; + if ( m_maps.phiMinZoom < pphi && + m_maps.phiMaxZoom > pphi ) { + int iphi = (pphi-m_maps.phiMinZoom)/(m_maps.phiMaxZoom-m_maps.phiMinZoom)*m_maps.nBinsphi3d; + vBin3d = m_maps.nBinsr3d*m_maps.nBinsphi3d*iz+m_maps.nBinsphi3d*ir+iphi; + } + } + } + + if ( vBinZoom >=0 ) { + m_maps.m_rz_tid [vBinZoom] += dE_ION/rho; + m_maps.m_rz_eion[vBinZoom] += dE_ION; + } + if ( vBinFull >=0 ) { + m_maps.m_full_rz_tid [vBinFull] += dE_ION/rho; + m_maps.m_full_rz_eion[vBinFull] += dE_ION; + } + if ( vBin3d >=0 ) { + m_maps.m_3d_tid [vBin3d] += dE_ION/rho; + m_maps.m_3d_eion[vBin3d] += dE_ION; + } + + if ( pdgid == 1 || pdgid == 2 || pdgid == 6 || pdgid == 7 ) { + + if ( weight > 0 ) { + if ( vBinZoom >=0 ) { + m_maps.m_rz_niel [vBinZoom] += weight*dl; + } + if ( vBinFull >=0 ) { + m_maps.m_full_rz_niel [vBinFull] += weight*dl; + } + if ( vBin3d >=0 ) { + m_maps.m_3d_niel [vBin3d] += weight*dl; + } + } + if ( eKin > 20 ) { + if ( vBinZoom >=0 ) { + m_maps.m_rz_h20 [vBinZoom] += dl; + } + if ( vBinFull >=0 ) { + m_maps.m_full_rz_h20 [vBinFull] += dl; + } + if ( vBin3d >=0 ) { + m_maps.m_3d_h20 [vBin3d] += dl; + } + } + } + } + } + } + } +} // namespace G4UA + diff --git a/Simulation/G4Utilities/G4UserActions/src/RadiationMapsMakerTool.cxx b/Simulation/G4Utilities/G4UserActions/src/RadiationMapsMakerTool.cxx new file mode 100644 index 0000000000000000000000000000000000000000..876d0e0160cdae72fdb342ce126fb2ef16f07efc --- /dev/null +++ b/Simulation/G4Utilities/G4UserActions/src/RadiationMapsMakerTool.cxx @@ -0,0 +1,251 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include "CxxUtils/make_unique.h" +#include "TH2D.h" +#include "TH3D.h" +#include "TFile.h" +#include "G4UserActions/RadiationMapsMakerTool.h" + +namespace G4UA{ + + RadiationMapsMakerTool::RadiationMapsMakerTool(const std::string& type, + const std::string& name, + const IInterface* parent) + : ActionToolBaseReport<RadiationMapsMaker>(type, name, parent), + m_radMapsFileName("RadMaps.root") + { + declareInterface<IG4RunActionTool>(this); + declareInterface<IG4SteppingActionTool>(this); + + /// Output Filename for the Radiation Maps + declareProperty("RadMapsFileName", m_radMapsFileName); + } + + //--------------------------------------------------------------------------- + // Initialize Configurable Properties + //--------------------------------------------------------------------------- + StatusCode RadiationMapsMakerTool::initialize() + { + ATH_MSG_INFO( "Initializing " << name() << " with Output File " << m_radMapsFileName); + return StatusCode::SUCCESS; + } + + //--------------------------------------------------------------------------- + // Merge results from all threads + //--------------------------------------------------------------------------- + StatusCode RadiationMapsMakerTool::finalize() + { + ATH_MSG_DEBUG( "Finalizing " << name() ); + + // first make sure the vectors are empty + + m_report.m_rz_tid .resize(0); + m_report.m_rz_eion.resize(0); + m_report.m_rz_niel.resize(0); + m_report.m_rz_h20 .resize(0); + + m_report.m_full_rz_tid .resize(0); + m_report.m_full_rz_eion.resize(0); + m_report.m_full_rz_niel.resize(0); + m_report.m_full_rz_h20 .resize(0); + + m_report.m_3d_tid .resize(0); + m_report.m_3d_eion.resize(0); + m_report.m_3d_niel.resize(0); + m_report.m_3d_h20 .resize(0); + + // then resize to proper size and initialize with 0's + + m_report.m_rz_tid .resize(m_report.nBinsz*m_report.nBinsr,0.0); + m_report.m_rz_eion.resize(m_report.nBinsz*m_report.nBinsr,0.0); + m_report.m_rz_niel.resize(m_report.nBinsz*m_report.nBinsr,0.0); + m_report.m_rz_h20 .resize(m_report.nBinsz*m_report.nBinsr,0.0); + + m_report.m_full_rz_tid .resize(m_report.nBinsz*m_report.nBinsr,0.0); + m_report.m_full_rz_eion.resize(m_report.nBinsz*m_report.nBinsr,0.0); + m_report.m_full_rz_niel.resize(m_report.nBinsz*m_report.nBinsr,0.0); + m_report.m_full_rz_h20 .resize(m_report.nBinsz*m_report.nBinsr,0.0); + + m_report.m_3d_tid .resize(m_report.nBinsz3d*m_report.nBinsr3d*m_report.nBinsphi3d,0.0); + m_report.m_3d_eion.resize(m_report.nBinsz3d*m_report.nBinsr3d*m_report.nBinsphi3d,0.0); + m_report.m_3d_niel.resize(m_report.nBinsz3d*m_report.nBinsr3d*m_report.nBinsphi3d,0.0); + m_report.m_3d_h20 .resize(m_report.nBinsz3d*m_report.nBinsr3d*m_report.nBinsphi3d,0.0); + + // merge radiation map vectors from threads + mergeReports(); + + TFile * f = new TFile(m_radMapsFileName.c_str(),"RECREATE"); + + TH2D * h_rz_tid = new TH2D("rz_tid" ,"rz_tid" ,m_report.nBinsz,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr,m_report.rMinZoom,m_report.rMaxZoom); + TH2D * h_rz_eion = new TH2D("rz_eion","rz_eion",m_report.nBinsz,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr,m_report.rMinZoom,m_report.rMaxZoom); + TH2D * h_rz_niel = new TH2D("rz_niel","rz_niel",m_report.nBinsz,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr,m_report.rMinZoom,m_report.rMaxZoom); + TH2D * h_rz_h20 = new TH2D("rz_h20" ,"rz_h20" ,m_report.nBinsz,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr,m_report.rMinZoom,m_report.rMaxZoom); + + h_rz_tid ->SetXTitle("|z| [cm]"); + h_rz_eion ->SetXTitle("|z| [cm]"); + h_rz_niel ->SetXTitle("|z| [cm]"); + h_rz_h20 ->SetXTitle("|z| [cm]"); + + h_rz_tid ->SetYTitle("r [cm]"); + h_rz_eion ->SetYTitle("r [cm]"); + h_rz_niel ->SetYTitle("r [cm]"); + h_rz_h20 ->SetYTitle("r [cm]"); + + h_rz_tid ->SetZTitle("TID [Gy]"); + h_rz_eion ->SetZTitle("E_{ion}/V [MeV/cm^{3}]"); + h_rz_niel ->SetZTitle("NIEL [n_{eq}/cm^{2}]"); + h_rz_h20 ->SetZTitle("SEE [h_{>20 MeV}/cm^{2}]"); + + TH2D *h_full_rz_tid = new TH2D("full_rz_tid" ,"full_rz_tid" ,m_report.nBinsz,m_report.zMinFull,m_report.zMaxFull,m_report.nBinsr,m_report.rMinFull,m_report.rMaxFull); + TH2D *h_full_rz_eion = new TH2D("full_rz_eion","full_rz_eion",m_report.nBinsz,m_report.zMinFull,m_report.zMaxFull,m_report.nBinsr,m_report.rMinFull,m_report.rMaxFull); + TH2D *h_full_rz_niel = new TH2D("full_rz_niel","full_rz_niel",m_report.nBinsz,m_report.zMinFull,m_report.zMaxFull,m_report.nBinsr,m_report.rMinFull,m_report.rMaxFull); + TH2D *h_full_rz_h20 = new TH2D("full_rz_h20" ,"full_rz_h20" ,m_report.nBinsz,m_report.zMinFull,m_report.zMaxFull,m_report.nBinsr,m_report.rMinFull,m_report.rMaxFull); + + h_full_rz_tid ->SetXTitle("|z| [cm]"); + h_full_rz_eion ->SetXTitle("|z| [cm]"); + h_full_rz_niel ->SetXTitle("|z| [cm]"); + h_full_rz_h20 ->SetXTitle("|z| [cm]"); + + h_full_rz_tid ->SetYTitle("r [cm]"); + h_full_rz_eion ->SetYTitle("r [cm]"); + h_full_rz_niel ->SetYTitle("r [cm]"); + h_full_rz_h20 ->SetYTitle("r [cm]"); + + h_full_rz_tid ->SetZTitle("TID [Gy]"); + h_full_rz_eion ->SetZTitle("E_{ion}/V [MeV/cm^{3}]"); + h_full_rz_niel ->SetZTitle("NIEL [n_{eq}/cm^{2}]"); + h_full_rz_h20 ->SetZTitle("SEE [h_{>20 MeV}/cm^{2}]"); + + TH3D * h_3d_tid = new TH3D("h3d_tid" ,"h3d_tid" ,m_report.nBinsz3d,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr3d,m_report.rMinZoom,m_report.rMaxZoom,m_report.nBinsphi3d,m_report.phiMinZoom,m_report.phiMaxZoom); + TH3D * h_3d_eion = new TH3D("h3d_eion","h3d_eion",m_report.nBinsz3d,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr3d,m_report.rMinZoom,m_report.rMaxZoom,m_report.nBinsphi3d,m_report.phiMinZoom,m_report.phiMaxZoom); + TH3D * h_3d_niel = new TH3D("h3d_niel","h3d_niel",m_report.nBinsz3d,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr3d,m_report.rMinZoom,m_report.rMaxZoom,m_report.nBinsphi3d,m_report.phiMinZoom,m_report.phiMaxZoom); + TH3D * h_3d_h20 = new TH3D("h3d_h20" ,"h3d_h20" ,m_report.nBinsz3d,m_report.zMinZoom,m_report.zMaxZoom,m_report.nBinsr3d,m_report.rMinZoom,m_report.rMaxZoom,m_report.nBinsphi3d,m_report.phiMinZoom,m_report.phiMaxZoom); + + h_3d_tid ->SetXTitle("|z| [cm]"); + h_3d_eion ->SetXTitle("|z| [cm]"); + h_3d_niel ->SetXTitle("|z| [cm]"); + h_3d_h20 ->SetXTitle("|z| [cm]"); + + h_3d_tid ->SetYTitle("r [cm]"); + h_3d_eion ->SetYTitle("r [cm]"); + h_3d_niel ->SetYTitle("r [cm]"); + h_3d_h20 ->SetYTitle("r [cm]"); + + h_3d_tid ->SetZTitle("#phi [#circ]"); + h_3d_eion ->SetZTitle("#phi [#circ]"); + h_3d_niel ->SetZTitle("#phi [#circ]"); + h_3d_h20 ->SetZTitle("#phi [#circ]"); + + h_3d_tid ->SetTitle("TID [Gy]"); + h_3d_eion ->SetTitle("E_{ion}/V [MeV/cm^{3}]"); + h_3d_niel ->SetTitle("NIEL [n_{eq}/cm^{2}]"); + h_3d_h20 ->SetTitle("SEE [h_{>20 MeV}/cm^{2}]"); + + + // normalize to volume element per bin + for(int i=0;i<h_rz_tid->GetNbinsX();i++) { + for(int j=0;j<h_rz_tid->GetNbinsY();j++) { + int iBin = h_rz_tid->GetBin(i+1,j+1); + int vBin = m_report.nBinsr*i+j; + double r0=h_rz_tid->GetYaxis()->GetBinLowEdge(j+1); + double r1=h_rz_tid->GetYaxis()->GetBinUpEdge(j+1); + double z0=h_rz_tid->GetXaxis()->GetBinLowEdge(i+1); + double z1=h_rz_tid->GetXaxis()->GetBinUpEdge(i+1); + double vol=2*(z1-z0)*M_PI*(r1*r1-r0*r0); + double val; + // TID + val =m_report.m_rz_tid[vBin]; + h_rz_tid->SetBinContent(iBin,val/vol); + // EION + val =m_report.m_rz_eion[vBin]; + h_rz_eion->SetBinContent(iBin,val/vol); + // NIEL + val =m_report.m_rz_niel[vBin]; + h_rz_niel->SetBinContent(iBin,val/vol); + // SEE + val =m_report.m_rz_h20[vBin]; + h_rz_h20->SetBinContent(iBin,val/vol); + } + } + h_rz_tid->Write(); + h_rz_eion->Write(); + h_rz_niel->Write(); + h_rz_h20->Write(); + + // normalize to volume element per bin + for(int i=0;i<h_full_rz_tid->GetNbinsX();i++) { + for(int j=0;j<h_full_rz_tid->GetNbinsY();j++) { + int iBin = h_full_rz_tid->GetBin(i+1,j+1); + int vBin = m_report.nBinsr*i+j; + double r0=h_full_rz_tid->GetYaxis()->GetBinLowEdge(j+1); + double r1=h_full_rz_tid->GetYaxis()->GetBinUpEdge(j+1); + double z0=h_full_rz_tid->GetXaxis()->GetBinLowEdge(i+1); + double z1=h_full_rz_tid->GetXaxis()->GetBinUpEdge(i+1); + double vol=2*(z1-z0)*M_PI*(r1*r1-r0*r0); + double val; + // TID + val =m_report.m_full_rz_tid[vBin]; + h_full_rz_tid->SetBinContent(iBin,val/vol); + // EION + val =m_report.m_full_rz_eion[vBin]; + h_full_rz_eion->SetBinContent(iBin,val/vol); + // NIEL + val =m_report.m_full_rz_niel[vBin]; + h_full_rz_niel->SetBinContent(iBin,val/vol); + // SEE + val =m_report.m_full_rz_h20[vBin]; + h_full_rz_h20->SetBinContent(iBin,val/vol); + } + } + h_full_rz_tid->Write(); + h_full_rz_eion->Write(); + h_full_rz_niel->Write(); + h_full_rz_h20->Write(); + + // normalize to volume element per bin + for(int i=0;i<h_3d_tid->GetNbinsX();i++) { /* |z| */ + for(int j=0;j<h_3d_tid->GetNbinsY();j++) { /* r */ + for(int k=0;k<h_3d_tid->GetNbinsZ();k++) { /* phi */ + int vBin = m_report.nBinsr3d*m_report.nBinsphi3d*i+m_report.nBinsphi3d*j+k; + int iBin = h_3d_tid->GetBin(i+1,j+1,k+1); + double phi0=h_3d_tid->GetZaxis()->GetBinLowEdge(k+1); + double phi1=h_3d_tid->GetZaxis()->GetBinUpEdge(k+1); + double r0=h_3d_tid->GetYaxis()->GetBinLowEdge(j+1); + double r1=h_3d_tid->GetYaxis()->GetBinUpEdge(j+1); + double z0=h_3d_tid->GetXaxis()->GetBinLowEdge(i+1); + double z1=h_3d_tid->GetXaxis()->GetBinUpEdge(i+1); + double vol=2*(z1-z0)*M_PI*(r1*r1-r0*r0)*(phi1-phi0)/360.; + double val; + // TID + val =m_report.m_3d_tid[vBin]; + h_3d_tid->SetBinContent(iBin,val/vol); + // EION + val =m_report.m_3d_eion[vBin]; + h_3d_eion->SetBinContent(iBin,val/vol); + // NIEL + val =m_report.m_3d_niel[vBin]; + h_3d_niel->SetBinContent(iBin,val/vol); + // SEE + val =m_report.m_3d_h20[vBin]; + h_3d_h20->SetBinContent(iBin,val/vol); + } + } + } + h_3d_tid->Write(); + h_3d_eion->Write(); + h_3d_niel->Write(); + h_3d_h20->Write(); + + f->Close(); + + return StatusCode::SUCCESS; + } + + std::unique_ptr<RadiationMapsMaker> RadiationMapsMakerTool::makeAction(){ + ATH_MSG_DEBUG("makeAction"); + return CxxUtils::make_unique<RadiationMapsMaker>(); + } + +} // namespace G4UA diff --git a/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx b/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx index c48391f91743c4ff7b229cf7c04bed26d4195bb9..46c59b49161249c6548b327cab70f2a19b22b5bb 100644 --- a/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx +++ b/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx @@ -13,6 +13,7 @@ #include "G4UserActions/StoppedParticleActionTool.h" #include "G4UserActions/FluxRecorderTool.h" #include "G4UserActions/ScoringPlaneTool.h" +#include "G4UserActions/RadiationMapsMakerTool.h" #include "../TestActionTool.h" DECLARE_COMPONENT( G4UA::G4SimTimerTool ) @@ -30,4 +31,5 @@ DECLARE_COMPONENT( G4UA::ScoringVolumeTrackKillerTool ) DECLARE_COMPONENT( G4UA::StoppedParticleActionTool ) DECLARE_COMPONENT( G4UA::FluxRecorderTool ) DECLARE_COMPONENT( G4UA::ScoringPlaneTool ) +DECLARE_COMPONENT( G4UA::RadiationMapsMakerTool ) DECLARE_COMPONENT( G4UA::TestActionTool )