Geant4 Support

SolidStateDetectors.jl provides an extension for Geant4.jl. The extension allows users to generate realistic event distributions resulting from particles emitted by a specified source, which could then in turn also be used as input for a waveform simulation.

To use the extension, both SolidStateDetectors and Geant4 have to be loaded.

using SolidStateDetectors
using Geant4

In order to run Geant4 simulations, a Geant4.G4JLApplication needs to be defined, which needs to include both the detector geometry and the particle source. The extension features a function that creates a Geant4.G4JLApplication object from a SSD Simulation object and a particle source.

using Plots
using ArraysOfArrays, Unitful

Two types of particle source are pre-defined in SolidStateDetectors:

1. MonoenergeticSource

This source emits particles with a fixed type and energy.

source_1 = MonoenergeticSource(
    "gamma",                              # Type of particle beam
    2.615u"MeV",                          # Energy of particle
    CartesianPoint(0.065, 0., 0.05),      # Location of the source
    CartesianVector(-1,0,0),              # Direction of the source
    10u"°"                                # Opening angle of the source emission
)
MonoenergeticSource("gamma", 2.615 MeV, CartesianPoint{Float64}(0.065, 0.0, 0.05), [-1.0, 0.0, 0.0], 10°)
  • The particle type is given as a string (e.g. "e-" or "gamma") and directly passed to Geant4. See the Geant4 documentation on how to name the desired particle type.
  • The energy of the emitted particles is passed as a number with the required unit.
  • The position of the particle source relative to the origin is defined by a CartesianPoint (in units of m).
  • The source emits particles in a given direction, specified by a CartesianVector object. If the user provides no direction, the emission will be isotropic.
  • If an opening_angle is provided, the particles are emitted in a directed cone with the specified opening angle.

2. IsotopeSource

This source emits particles based on the radioactive decay chain of a given isotope.

source_2 = IsotopeSource(
    82,                                # Number of protons
    212,                               # Total number of nucleons
    0.0,                               # Excitation energy
    0.0,                               # Ion charge
    CartesianPoint(0.06, 0, 0.05),     # Location of the source
    CartesianVector(-1,0,0),           # Direction of the source
    10u"°"                             # Opening angle of the source emission
)
IsotopeSource(82, 212, 0.0, 0.0, CartesianPoint{Float64}(0.06, 0.0, 0.05), [-1.0, 0.0, 0.0], 10°)

The source is defined using

  • The number of protons Z and the number of nucleons A in the isotope.
  • The excitation energy
  • The charge of the isotope
  • The position, direction and opening angle from the source can be defined in the same way as for a MonoenergeticSource

The particle source can now be plotted together with the detector, as well as the direction in which particles are emitted.

T = Float32
sim = Simulation{T}(SSD_examples[:InvertedCoaxInCryostat])
plot(sim.detector, size = (500,500))
plot!(source_1)
[ Info: No charge drift model specified. Using default ElectricFieldChargeDriftModel.

detector

A Geant4.G4JLApplication is built from a SSD Simulation sim and one of the previously defined particle sources, e.g. source_1.

Internally, the translated geometry description is written to a temporary GDML file. This file will in turn be read in by Geant4.jl and deleted afterwards. However, if needed, the resulting GDML file can also be saved by using the Geant4.G4JLDetector(sim, "output_filename.gdml", save_gdml = true) function.

app = G4JLApplication(sim, source_1, verbose = false);

Having defined a G4JLApplication, it is now possible to generate events using the run_geant4_simulation function. The function will continue running until the desired number of energy depositions have been recorded.

N_events = 50000
events = run_geant4_simulation(app, N_events)
Table with 5 columns and 50000 rows:
      evtno  detno                 thit                  edep                  ⋯
    ┌───────────────────────────────────────────────────────────────────────────
 1  │ 1      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 2  │ 2      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 3  │ 3      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 4  │ 4      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 5  │ 5      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 6  │ 6      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 7  │ 7      Int32[1, 1, 1, 1, 1]  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 8  │ 8      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 9  │ 9      Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 10 │ 10     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 11 │ 11     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 12 │ 12     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 13 │ 13     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 14 │ 14     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 15 │ 15     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 16 │ 16     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 17 │ 17     Int32[1, 1, 1, 1, 1…  Quantity{Float32, 𝐓…  Quantity{Float32, 𝐋…  ⋯
 ⋮  │   ⋮             ⋮                     ⋮                     ⋮            ⋱

Each entry of the table corresponds to one event and consists of five fields:

  • evtno: Event number
  • detno: Index of the detector where the energy was deposited
  • thit: Time of the interaction
  • edep: Amount of energy that was deposited in the detector
  • pos: Position where the interaction happened

By extracting the position of each energy deposition from events, the spatial distribution of the events inside the detector can be visualized:

plot(sim.detector, show_passives = false, size = (500,500), fmt = :png)
plot!(source_1)
plot!(flatview(events[1:1000].pos), ms = 0.5, msw = 0, color=:black, label = "")

events

The output of run_geant4_simulation can be stored using the LegendHDF5IO package:

using LegendHDF5IO

lh5open("simulation_output.lh5", "w") do h
    LegendHDF5IO.writedata(h.data_store, "SimulationData", events)
end

events_in = lh5open("simulation_output.lh5", "r") do h
    LegendHDF5IO.readdata(h.data_store, "SimulationData")
end

In order to visualize the energy spectrum of the events in a histogram, the following code can be used:

using StatsBase
h = fit(Histogram, ustrip.(u"keV", sum.(events.edep)), Weights(fill(10,length(events.edep))), 0:10:3000)
plot(h, title = "Energy spectrum", bins = 500, yscale = :log10, st = :step, label = "")
xlims!(0,3000, xlabel = "E in keV", ylabel = "counts")

spectrum

Now that a realistic event distribution has been generated, it can be used as input for the waveform simulation. To perform the waveform simulation, the detectors electric field and weighting potential have to be calculated first.

sim.detector = SolidStateDetector(sim.detector, ADLChargeDriftModel(T=T))
calculate_electric_potential!(sim, refinement_limits = [0.4,0.2,0.1,0.06], verbose = false)
calculate_electric_field!(sim, n_points_in_φ = 10)
calculate_weighting_potential!(sim, 1, refinement_limits = [0.4,0.2,0.1,0.06], verbose = false)

The previously generated events from the Geant4 simulation can now be used as input for the simulate_waveforms function:

wf = simulate_waveforms(events[1:100], sim, Δt = 1u"ns", signal_unit = u"keV", max_nsteps = 2000)
plot(wf[1:20].waveform, label = "")
[ Info: Detector has 2 contacts
[ Info: Table has 100 physics events (3980 single charge depositions).

Progress:   2%|▉                                        |  ETA: 0:02:40
Progress:  27%|███████████▏                             |  ETA: 0:00:11
Progress:  47%|███████████████████▎                     |  ETA: 0:00:05
Progress:  63%|█████████████████████████▉               |  ETA: 0:00:03
Progress:  79%|████████████████████████████████▍        |  ETA: 0:00:01
Progress:  94%|██████████████████████████████████████▌  |  ETA: 0:00:00
Progress: 100%|█████████████████████████████████████████| Time: 0:00:05
[ Info: Generating waveforms...

waveforms

We can add some baseline and tail to the pulses to match their lengths (in this case to 2000ns):

w = add_baseline_and_extend_tail.(wf.waveform, 100, 2000)
plot(w[1:20], label = "")

wf_and_amplitude

The electric field calculated with SolidStateDetectors.jl can also be passed to the G4JLApplication via the field keyword argument to include it in the Geant4 simulation

app = G4JLApplication(sim, source_1, field = G4JLElectricField(sim), verbose = false)
events_ef = run_geant4_simulation(app, N_events)
stephist(sum.(events.edep), bins = 2614.7:0.005:2615.3, label = "Excluding electric field\nin Geant4")
stephist!(sum.(events_ef.edep), bins = 2614.7:0.005:2615.3, label = "Including electric field\nin Geant4")
xlims!(2614.7,2615.3, xlabel = "E", unitformat = " in ", ylabel = "counts", title = "Energy spectrum")
ylims!(0,580, legend = :topleft)

Running Geant4 simulations   0%|                         |  ETA: 0:07:00
Running Geant4 simulations   0%|▏                        |  ETA: 0:01:02
Running Geant4 simulations   1%|▏                        |  ETA: 0:00:47
Running Geant4 simulations   1%|▎                        |  ETA: 0:00:49
Running Geant4 simulations   1%|▍                        |  ETA: 0:00:44
Running Geant4 simulations   2%|▍                        |  ETA: 0:00:41
Running Geant4 simulations   2%|▌                        |  ETA: 0:00:39
Running Geant4 simulations   2%|▋                        |  ETA: 0:00:38
Running Geant4 simulations   3%|▋                        |  ETA: 0:00:37
Running Geant4 simulations   3%|▊                        |  ETA: 0:00:36
Running Geant4 simulations   3%|▊                        |  ETA: 0:00:36
Running Geant4 simulations   3%|▉                        |  ETA: 0:00:36
Running Geant4 simulations   4%|█                        |  ETA: 0:00:36
Running Geant4 simulations   4%|█                        |  ETA: 0:00:36
Running Geant4 simulations   4%|█▏                       |  ETA: 0:00:39
Running Geant4 simulations   5%|█▏                       |  ETA: 0:00:38
Running Geant4 simulations   5%|█▎                       |  ETA: 0:00:37
Running Geant4 simulations   5%|█▍                       |  ETA: 0:00:37
Running Geant4 simulations   6%|█▍                       |  ETA: 0:00:36
Running Geant4 simulations   6%|█▌                       |  ETA: 0:00:36
Running Geant4 simulations   6%|█▌                       |  ETA: 0:00:35
Running Geant4 simulations   7%|█▋                       |  ETA: 0:00:35
Running Geant4 simulations   7%|█▊                       |  ETA: 0:00:35
Running Geant4 simulations   7%|█▊                       |  ETA: 0:00:34
Running Geant4 simulations   8%|█▉                       |  ETA: 0:00:34
Running Geant4 simulations   8%|██                       |  ETA: 0:00:36
Running Geant4 simulations   8%|██                       |  ETA: 0:00:35
Running Geant4 simulations   8%|██▏                      |  ETA: 0:00:35
Running Geant4 simulations   9%|██▎                      |  ETA: 0:00:35
Running Geant4 simulations   9%|██▎                      |  ETA: 0:00:34
Running Geant4 simulations   9%|██▍                      |  ETA: 0:00:34
Running Geant4 simulations  10%|██▍                      |  ETA: 0:00:34
Running Geant4 simulations  10%|██▌                      |  ETA: 0:00:33
Running Geant4 simulations  10%|██▋                      |  ETA: 0:00:33
Running Geant4 simulations  11%|██▋                      |  ETA: 0:00:33
Running Geant4 simulations  11%|██▊                      |  ETA: 0:00:33
Running Geant4 simulations  11%|██▉                      |  ETA: 0:00:33
Running Geant4 simulations  12%|██▉                      |  ETA: 0:00:32
Running Geant4 simulations  12%|███                      |  ETA: 0:00:33
Running Geant4 simulations  12%|███                      |  ETA: 0:00:33
Running Geant4 simulations  13%|███▏                     |  ETA: 0:00:33
Running Geant4 simulations  13%|███▎                     |  ETA: 0:00:33
Running Geant4 simulations  13%|███▎                     |  ETA: 0:00:32
Running Geant4 simulations  14%|███▍                     |  ETA: 0:00:32
Running Geant4 simulations  14%|███▌                     |  ETA: 0:00:32
Running Geant4 simulations  14%|███▌                     |  ETA: 0:00:32
Running Geant4 simulations  15%|███▋                     |  ETA: 0:00:31
Running Geant4 simulations  15%|███▊                     |  ETA: 0:00:31
Running Geant4 simulations  15%|███▊                     |  ETA: 0:00:31
Running Geant4 simulations  15%|███▉                     |  ETA: 0:00:31
Running Geant4 simulations  16%|████                     |  ETA: 0:00:32
Running Geant4 simulations  16%|████                     |  ETA: 0:00:31
Running Geant4 simulations  16%|████▏                    |  ETA: 0:00:31
Running Geant4 simulations  17%|████▎                    |  ETA: 0:00:31
Running Geant4 simulations  17%|████▎                    |  ETA: 0:00:31
Running Geant4 simulations  17%|████▍                    |  ETA: 0:00:31
Running Geant4 simulations  18%|████▌                    |  ETA: 0:00:30
Running Geant4 simulations  18%|████▌                    |  ETA: 0:00:30
Running Geant4 simulations  18%|████▋                    |  ETA: 0:00:30
Running Geant4 simulations  19%|████▊                    |  ETA: 0:00:30
Running Geant4 simulations  19%|████▊                    |  ETA: 0:00:29
Running Geant4 simulations  19%|████▉                    |  ETA: 0:00:29
Running Geant4 simulations  20%|█████                    |  ETA: 0:00:29
Running Geant4 simulations  20%|█████                    |  ETA: 0:00:29
Running Geant4 simulations  20%|█████▏                   |  ETA: 0:00:30
Running Geant4 simulations  21%|█████▏                   |  ETA: 0:00:29
Running Geant4 simulations  21%|█████▎                   |  ETA: 0:00:29
Running Geant4 simulations  21%|█████▍                   |  ETA: 0:00:29
Running Geant4 simulations  22%|█████▍                   |  ETA: 0:00:29
Running Geant4 simulations  22%|█████▌                   |  ETA: 0:00:29
Running Geant4 simulations  22%|█████▋                   |  ETA: 0:00:28
Running Geant4 simulations  23%|█████▋                   |  ETA: 0:00:28
Running Geant4 simulations  23%|█████▊                   |  ETA: 0:00:28
Running Geant4 simulations  23%|█████▉                   |  ETA: 0:00:28
Running Geant4 simulations  24%|█████▉                   |  ETA: 0:00:28
Running Geant4 simulations  24%|██████                   |  ETA: 0:00:28
Running Geant4 simulations  24%|██████                   |  ETA: 0:00:28
Running Geant4 simulations  25%|██████▏                  |  ETA: 0:00:28
Running Geant4 simulations  25%|██████▎                  |  ETA: 0:00:28
Running Geant4 simulations  25%|██████▎                  |  ETA: 0:00:28
Running Geant4 simulations  26%|██████▍                  |  ETA: 0:00:27
Running Geant4 simulations  26%|██████▌                  |  ETA: 0:00:27
Running Geant4 simulations  26%|██████▌                  |  ETA: 0:00:27
Running Geant4 simulations  26%|██████▋                  |  ETA: 0:00:27
Running Geant4 simulations  27%|██████▊                  |  ETA: 0:00:27
Running Geant4 simulations  27%|██████▊                  |  ETA: 0:00:27
Running Geant4 simulations  27%|██████▉                  |  ETA: 0:00:27
Running Geant4 simulations  28%|██████▉                  |  ETA: 0:00:26
Running Geant4 simulations  28%|███████                  |  ETA: 0:00:26
Running Geant4 simulations  28%|███████▏                 |  ETA: 0:00:26
Running Geant4 simulations  29%|███████▏                 |  ETA: 0:00:26
Running Geant4 simulations  29%|███████▎                 |  ETA: 0:00:26
Running Geant4 simulations  29%|███████▍                 |  ETA: 0:00:26
Running Geant4 simulations  30%|███████▍                 |  ETA: 0:00:26
Running Geant4 simulations  30%|███████▌                 |  ETA: 0:00:26
Running Geant4 simulations  30%|███████▋                 |  ETA: 0:00:26
Running Geant4 simulations  31%|███████▋                 |  ETA: 0:00:26
Running Geant4 simulations  31%|███████▊                 |  ETA: 0:00:25
Running Geant4 simulations  31%|███████▊                 |  ETA: 0:00:25
Running Geant4 simulations  32%|███████▉                 |  ETA: 0:00:25
Running Geant4 simulations  32%|████████                 |  ETA: 0:00:25
Running Geant4 simulations  32%|████████                 |  ETA: 0:00:25
Running Geant4 simulations  33%|████████▏                |  ETA: 0:00:25
Running Geant4 simulations  33%|████████▎                |  ETA: 0:00:24
Running Geant4 simulations  33%|████████▎                |  ETA: 0:00:25
Running Geant4 simulations  34%|████████▍                |  ETA: 0:00:25
Running Geant4 simulations  34%|████████▌                |  ETA: 0:00:24
Running Geant4 simulations  34%|████████▌                |  ETA: 0:00:24
Running Geant4 simulations  35%|████████▋                |  ETA: 0:00:24
Running Geant4 simulations  35%|████████▊                |  ETA: 0:00:24
Running Geant4 simulations  35%|████████▊                |  ETA: 0:00:24
Running Geant4 simulations  35%|████████▉                |  ETA: 0:00:24
Running Geant4 simulations  36%|█████████                |  ETA: 0:00:23
Running Geant4 simulations  36%|█████████                |  ETA: 0:00:23
Running Geant4 simulations  36%|█████████▏               |  ETA: 0:00:23
Running Geant4 simulations  37%|█████████▎               |  ETA: 0:00:23
Running Geant4 simulations  37%|█████████▎               |  ETA: 0:00:23
Running Geant4 simulations  37%|█████████▍               |  ETA: 0:00:23
Running Geant4 simulations  38%|█████████▌               |  ETA: 0:00:23
Running Geant4 simulations  38%|█████████▌               |  ETA: 0:00:23
Running Geant4 simulations  38%|█████████▋               |  ETA: 0:00:23
Running Geant4 simulations  39%|█████████▋               |  ETA: 0:00:23
Running Geant4 simulations  39%|█████████▊               |  ETA: 0:00:22
Running Geant4 simulations  39%|█████████▉               |  ETA: 0:00:22
Running Geant4 simulations  40%|█████████▉               |  ETA: 0:00:22
Running Geant4 simulations  40%|██████████               |  ETA: 0:00:22
Running Geant4 simulations  40%|██████████▏              |  ETA: 0:00:22
Running Geant4 simulations  41%|██████████▏              |  ETA: 0:00:22
Running Geant4 simulations  41%|██████████▎              |  ETA: 0:00:22
Running Geant4 simulations  41%|██████████▍              |  ETA: 0:00:21
Running Geant4 simulations  42%|██████████▍              |  ETA: 0:00:21
Running Geant4 simulations  42%|██████████▌              |  ETA: 0:00:21
Running Geant4 simulations  42%|██████████▌              |  ETA: 0:00:21
Running Geant4 simulations  43%|██████████▋              |  ETA: 0:00:21
Running Geant4 simulations  43%|██████████▊              |  ETA: 0:00:21
Running Geant4 simulations  43%|██████████▊              |  ETA: 0:00:21
Running Geant4 simulations  44%|██████████▉              |  ETA: 0:00:21
Running Geant4 simulations  44%|███████████              |  ETA: 0:00:21
Running Geant4 simulations  44%|███████████              |  ETA: 0:00:21
Running Geant4 simulations  44%|███████████▏             |  ETA: 0:00:20
Running Geant4 simulations  45%|███████████▎             |  ETA: 0:00:20
Running Geant4 simulations  45%|███████████▎             |  ETA: 0:00:20
Running Geant4 simulations  45%|███████████▍             |  ETA: 0:00:20
Running Geant4 simulations  46%|███████████▌             |  ETA: 0:00:20
Running Geant4 simulations  46%|███████████▌             |  ETA: 0:00:20
Running Geant4 simulations  46%|███████████▋             |  ETA: 0:00:20
Running Geant4 simulations  47%|███████████▊             |  ETA: 0:00:19
Running Geant4 simulations  47%|███████████▊             |  ETA: 0:00:20
Running Geant4 simulations  47%|███████████▉             |  ETA: 0:00:19
Running Geant4 simulations  48%|███████████▉             |  ETA: 0:00:19
Running Geant4 simulations  48%|████████████             |  ETA: 0:00:19
Running Geant4 simulations  48%|████████████▏            |  ETA: 0:00:19
Running Geant4 simulations  49%|████████████▏            |  ETA: 0:00:19
Running Geant4 simulations  49%|████████████▎            |  ETA: 0:00:19
Running Geant4 simulations  49%|████████████▍            |  ETA: 0:00:19
Running Geant4 simulations  50%|████████████▍            |  ETA: 0:00:18
Running Geant4 simulations  50%|████████████▌            |  ETA: 0:00:18
Running Geant4 simulations  50%|████████████▋            |  ETA: 0:00:18
Running Geant4 simulations  51%|████████████▋            |  ETA: 0:00:18
Running Geant4 simulations  51%|████████████▊            |  ETA: 0:00:18
Running Geant4 simulations  51%|████████████▉            |  ETA: 0:00:18
Running Geant4 simulations  52%|████████████▉            |  ETA: 0:00:18
Running Geant4 simulations  52%|█████████████            |  ETA: 0:00:18
Running Geant4 simulations  52%|█████████████▏           |  ETA: 0:00:18
Running Geant4 simulations  53%|█████████████▏           |  ETA: 0:00:17
Running Geant4 simulations  53%|█████████████▎           |  ETA: 0:00:17
Running Geant4 simulations  53%|█████████████▎           |  ETA: 0:00:17
Running Geant4 simulations  54%|█████████████▍           |  ETA: 0:00:17
Running Geant4 simulations  54%|█████████████▌           |  ETA: 0:00:17
Running Geant4 simulations  54%|█████████████▌           |  ETA: 0:00:17
Running Geant4 simulations  55%|█████████████▋           |  ETA: 0:00:17
Running Geant4 simulations  55%|█████████████▊           |  ETA: 0:00:16
Running Geant4 simulations  55%|█████████████▉           |  ETA: 0:00:16
Running Geant4 simulations  56%|█████████████▉           |  ETA: 0:00:16
Running Geant4 simulations  56%|██████████████           |  ETA: 0:00:16
Running Geant4 simulations  56%|██████████████           |  ETA: 0:00:16
Running Geant4 simulations  57%|██████████████▏          |  ETA: 0:00:16
Running Geant4 simulations  57%|██████████████▎          |  ETA: 0:00:16
Running Geant4 simulations  57%|██████████████▎          |  ETA: 0:00:16
Running Geant4 simulations  58%|██████████████▍          |  ETA: 0:00:16
Running Geant4 simulations  58%|██████████████▌          |  ETA: 0:00:15
Running Geant4 simulations  58%|██████████████▌          |  ETA: 0:00:15
Running Geant4 simulations  59%|██████████████▋          |  ETA: 0:00:15
Running Geant4 simulations  59%|██████████████▊          |  ETA: 0:00:15
Running Geant4 simulations  59%|██████████████▊          |  ETA: 0:00:15
Running Geant4 simulations  60%|██████████████▉          |  ETA: 0:00:15
Running Geant4 simulations  60%|███████████████          |  ETA: 0:00:15
Running Geant4 simulations  60%|███████████████          |  ETA: 0:00:15
Running Geant4 simulations  60%|███████████████▏         |  ETA: 0:00:14
Running Geant4 simulations  61%|███████████████▎         |  ETA: 0:00:14
Running Geant4 simulations  61%|███████████████▎         |  ETA: 0:00:14
Running Geant4 simulations  61%|███████████████▍         |  ETA: 0:00:14
Running Geant4 simulations  62%|███████████████▍         |  ETA: 0:00:14
Running Geant4 simulations  62%|███████████████▌         |  ETA: 0:00:14
Running Geant4 simulations  62%|███████████████▋         |  ETA: 0:00:14
Running Geant4 simulations  63%|███████████████▋         |  ETA: 0:00:14
Running Geant4 simulations  63%|███████████████▊         |  ETA: 0:00:14
Running Geant4 simulations  63%|███████████████▉         |  ETA: 0:00:13
Running Geant4 simulations  64%|███████████████▉         |  ETA: 0:00:13
Running Geant4 simulations  64%|████████████████         |  ETA: 0:00:13
Running Geant4 simulations  64%|████████████████▏        |  ETA: 0:00:13
Running Geant4 simulations  65%|████████████████▏        |  ETA: 0:00:13
Running Geant4 simulations  65%|████████████████▎        |  ETA: 0:00:13
Running Geant4 simulations  65%|████████████████▍        |  ETA: 0:00:13
Running Geant4 simulations  66%|████████████████▍        |  ETA: 0:00:12
Running Geant4 simulations  66%|████████████████▌        |  ETA: 0:00:12
Running Geant4 simulations  66%|████████████████▋        |  ETA: 0:00:12
Running Geant4 simulations  67%|████████████████▋        |  ETA: 0:00:12
Running Geant4 simulations  67%|████████████████▊        |  ETA: 0:00:12
Running Geant4 simulations  67%|████████████████▊        |  ETA: 0:00:12
Running Geant4 simulations  68%|████████████████▉        |  ETA: 0:00:12
Running Geant4 simulations  68%|█████████████████        |  ETA: 0:00:12
Running Geant4 simulations  68%|█████████████████        |  ETA: 0:00:12
Running Geant4 simulations  69%|█████████████████▏       |  ETA: 0:00:11
Running Geant4 simulations  69%|█████████████████▎       |  ETA: 0:00:11
Running Geant4 simulations  69%|█████████████████▎       |  ETA: 0:00:11
Running Geant4 simulations  69%|█████████████████▍       |  ETA: 0:00:11
Running Geant4 simulations  70%|█████████████████▌       |  ETA: 0:00:11
Running Geant4 simulations  70%|█████████████████▌       |  ETA: 0:00:11
Running Geant4 simulations  70%|█████████████████▋       |  ETA: 0:00:11
Running Geant4 simulations  71%|█████████████████▊       |  ETA: 0:00:11
Running Geant4 simulations  71%|█████████████████▊       |  ETA: 0:00:11
Running Geant4 simulations  71%|█████████████████▉       |  ETA: 0:00:10
Running Geant4 simulations  72%|█████████████████▉       |  ETA: 0:00:10
Running Geant4 simulations  72%|██████████████████       |  ETA: 0:00:10
Running Geant4 simulations  72%|██████████████████▏      |  ETA: 0:00:10
Running Geant4 simulations  73%|██████████████████▏      |  ETA: 0:00:10
Running Geant4 simulations  73%|██████████████████▎      |  ETA: 0:00:10
Running Geant4 simulations  73%|██████████████████▍      |  ETA: 0:00:10
Running Geant4 simulations  74%|██████████████████▍      |  ETA: 0:00:10
Running Geant4 simulations  74%|██████████████████▌      |  ETA: 0:00:09
Running Geant4 simulations  74%|██████████████████▋      |  ETA: 0:00:09
Running Geant4 simulations  75%|██████████████████▋      |  ETA: 0:00:09
Running Geant4 simulations  75%|██████████████████▊      |  ETA: 0:00:09
Running Geant4 simulations  75%|██████████████████▉      |  ETA: 0:00:09
Running Geant4 simulations  76%|██████████████████▉      |  ETA: 0:00:09
Running Geant4 simulations  76%|███████████████████      |  ETA: 0:00:09
Running Geant4 simulations  76%|███████████████████      |  ETA: 0:00:09
Running Geant4 simulations  77%|███████████████████▏     |  ETA: 0:00:09
Running Geant4 simulations  77%|███████████████████▎     |  ETA: 0:00:08
Running Geant4 simulations  77%|███████████████████▎     |  ETA: 0:00:08
Running Geant4 simulations  77%|███████████████████▍     |  ETA: 0:00:08
Running Geant4 simulations  78%|███████████████████▌     |  ETA: 0:00:08
Running Geant4 simulations  78%|███████████████████▌     |  ETA: 0:00:08
Running Geant4 simulations  79%|███████████████████▋     |  ETA: 0:00:08
Running Geant4 simulations  79%|███████████████████▊     |  ETA: 0:00:08
Running Geant4 simulations  79%|███████████████████▊     |  ETA: 0:00:08
Running Geant4 simulations  80%|███████████████████▉     |  ETA: 0:00:07
Running Geant4 simulations  80%|████████████████████     |  ETA: 0:00:07
Running Geant4 simulations  80%|████████████████████     |  ETA: 0:00:07
Running Geant4 simulations  81%|████████████████████▏    |  ETA: 0:00:07
Running Geant4 simulations  81%|████████████████████▎    |  ETA: 0:00:07
Running Geant4 simulations  81%|████████████████████▎    |  ETA: 0:00:07
Running Geant4 simulations  81%|████████████████████▍    |  ETA: 0:00:07
Running Geant4 simulations  82%|████████████████████▌    |  ETA: 0:00:07
Running Geant4 simulations  82%|████████████████████▌    |  ETA: 0:00:07
Running Geant4 simulations  82%|████████████████████▋    |  ETA: 0:00:06
Running Geant4 simulations  83%|████████████████████▊    |  ETA: 0:00:06
Running Geant4 simulations  83%|████████████████████▊    |  ETA: 0:00:06
Running Geant4 simulations  83%|████████████████████▉    |  ETA: 0:00:06
Running Geant4 simulations  84%|█████████████████████    |  ETA: 0:00:06
Running Geant4 simulations  84%|█████████████████████    |  ETA: 0:00:06
Running Geant4 simulations  84%|█████████████████████▏   |  ETA: 0:00:06
Running Geant4 simulations  85%|█████████████████████▏   |  ETA: 0:00:06
Running Geant4 simulations  85%|█████████████████████▎   |  ETA: 0:00:05
Running Geant4 simulations  85%|█████████████████████▍   |  ETA: 0:00:05
Running Geant4 simulations  86%|█████████████████████▍   |  ETA: 0:00:05
Running Geant4 simulations  86%|█████████████████████▌   |  ETA: 0:00:05
Running Geant4 simulations  86%|█████████████████████▋   |  ETA: 0:00:05
Running Geant4 simulations  87%|█████████████████████▋   |  ETA: 0:00:05
Running Geant4 simulations  87%|█████████████████████▊   |  ETA: 0:00:05
Running Geant4 simulations  87%|█████████████████████▊   |  ETA: 0:00:05
Running Geant4 simulations  88%|█████████████████████▉   |  ETA: 0:00:05
Running Geant4 simulations  88%|██████████████████████   |  ETA: 0:00:04
Running Geant4 simulations  88%|██████████████████████   |  ETA: 0:00:04
Running Geant4 simulations  89%|██████████████████████▏  |  ETA: 0:00:04
Running Geant4 simulations  89%|██████████████████████▎  |  ETA: 0:00:04
Running Geant4 simulations  89%|██████████████████████▎  |  ETA: 0:00:04
Running Geant4 simulations  90%|██████████████████████▍  |  ETA: 0:00:04
Running Geant4 simulations  90%|██████████████████████▌  |  ETA: 0:00:04
Running Geant4 simulations  90%|██████████████████████▌  |  ETA: 0:00:04
Running Geant4 simulations  91%|██████████████████████▋  |  ETA: 0:00:03
Running Geant4 simulations  91%|██████████████████████▊  |  ETA: 0:00:03
Running Geant4 simulations  91%|██████████████████████▊  |  ETA: 0:00:03
Running Geant4 simulations  91%|██████████████████████▉  |  ETA: 0:00:03
Running Geant4 simulations  92%|██████████████████████▉  |  ETA: 0:00:03
Running Geant4 simulations  92%|███████████████████████  |  ETA: 0:00:03
Running Geant4 simulations  92%|███████████████████████▏ |  ETA: 0:00:03
Running Geant4 simulations  93%|███████████████████████▏ |  ETA: 0:00:03
Running Geant4 simulations  93%|███████████████████████▎ |  ETA: 0:00:03
Running Geant4 simulations  93%|███████████████████████▍ |  ETA: 0:00:02
Running Geant4 simulations  94%|███████████████████████▍ |  ETA: 0:00:02
Running Geant4 simulations  94%|███████████████████████▌ |  ETA: 0:00:02
Running Geant4 simulations  94%|███████████████████████▋ |  ETA: 0:00:02
Running Geant4 simulations  95%|███████████████████████▋ |  ETA: 0:00:02
Running Geant4 simulations  95%|███████████████████████▊ |  ETA: 0:00:02
Running Geant4 simulations  95%|███████████████████████▊ |  ETA: 0:00:02
Running Geant4 simulations  96%|███████████████████████▉ |  ETA: 0:00:02
Running Geant4 simulations  96%|████████████████████████ |  ETA: 0:00:01
Running Geant4 simulations  96%|████████████████████████ |  ETA: 0:00:01
Running Geant4 simulations  97%|████████████████████████▏|  ETA: 0:00:01
Running Geant4 simulations  97%|████████████████████████▎|  ETA: 0:00:01
Running Geant4 simulations  97%|████████████████████████▎|  ETA: 0:00:01
Running Geant4 simulations  97%|████████████████████████▍|  ETA: 0:00:01
Running Geant4 simulations  98%|████████████████████████▌|  ETA: 0:00:01
Running Geant4 simulations  98%|████████████████████████▌|  ETA: 0:00:01
Running Geant4 simulations  98%|████████████████████████▋|  ETA: 0:00:01
Running Geant4 simulations  99%|████████████████████████▊|  ETA: 0:00:00
Running Geant4 simulations  99%|████████████████████████▊|  ETA: 0:00:00
Running Geant4 simulations  99%|████████████████████████▉|  ETA: 0:00:00
Running Geant4 simulations  99%|█████████████████████████|  ETA: 0:00:00
Running Geant4 simulations 100%|█████████████████████████| Time: 0:00:36

spectrum_electric_field


This page was generated using Literate.jl.