We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Geant4
Float64
If the Geant4 extension tutorial is run with T = Float64 instead of T = Float32, we get the following error at the end of the tutorial:
T = Float64
T = Float32
wf = simulate_waveforms(events[1:100], sim, Δt = 1u"ns", max_nsteps = 2000) plot(wf[1:20].waveform, label = "")
[ Info: Detector has 2 contacts [ Info: Table has 100 physics events (4587 single charge depositions). MethodError: no method matching move_charges_inside_semiconductor!(::Vector{Vector{CartesianPoint{Float32}}}, ::Vector{Vector{Float32}}, ::SolidStateDetector{Float64, SolidStateDetectors.Semiconductor{Float64, SolidStateDetectors.ConstructiveSolidGeometry.CSGDifference{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.ClosedPrimitive, Float64, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.CSGUnion{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Float64, Nothing}}}, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}, ADLChargeDriftModel{Float64, SolidStateDetectors.HPGe, 4, SolidStateDetectors.VacuumModel{Float64}}, SolidStateDetectors.LinearImpurityDensity{Float64}, NoChargeTrappingModel{Float64}}, Vector{SolidStateDetectors.Contact{Float64, G, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}} where G}, Vector{SolidStateDetectors.Passive{Float64}}, Missing}) The function `move_charges_inside_semiconductor!` exists, but no method is defined for this combination of argument types. Closest candidates are: move_charges_inside_semiconductor!(::AbstractVector{<:AbstractArray{CartesianPoint{T}, 1}}, ::AbstractVector{<:AbstractVector{T}}, ::SolidStateDetector{T}; fraction) where T<:Union{Float16, Float32, Float64} @ SolidStateDetectors /user/.julia/packages/SolidStateDetectors/vJEoq/src/Event/Event.jl:94 move_charges_inside_semiconductor!(::Event{T}, ::SolidStateDetector{T}; fraction) where T<:Union{Float16, Float32, Float64} @ SolidStateDetectors /user/.julia/packages/SolidStateDetectors/vJEoq/src/Event/Event.jl:89 Stacktrace: [1] (::SolidStateDetectors.var"#367#373"{Int64, Int64, Int64, Vector{Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, Vector{Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}}, SolidStateDetector{Float64, SolidStateDetectors.Semiconductor{Float64, SolidStateDetectors.ConstructiveSolidGeometry.CSGDifference{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.ClosedPrimitive, Float64, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.CSGUnion{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Float64, Nothing}}}, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}, ADLChargeDriftModel{Float64, SolidStateDetectors.HPGe, 4, SolidStateDetectors.VacuumModel{Float64}}, SolidStateDetectors.LinearImpurityDensity{Float64}, NoChargeTrappingModel{Float64}}, Vector{SolidStateDetectors.Contact{Float64, G, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}} where G}, Vector{SolidStateDetectors.Passive{Float64}}, Missing}})(i_together::Int64) @ SolidStateDetectors /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:111 [2] _broadcast_getindex_evalf @ ./broadcast.jl:673 [inlined] [3] _broadcast_getindex @ ./broadcast.jl:646 [inlined] [4] getindex @ ./broadcast.jl:605 [inlined] [5] copy @ ./broadcast.jl:906 [inlined] [6] materialize @ ./broadcast.jl:867 [inlined] [7] broadcast @ ./broadcast.jl:805 [inlined] [8] #366 @ /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:103 [inlined] [9] _broadcast_getindex_evalf @ ./broadcast.jl:673 [inlined] [10] _broadcast_getindex @ ./broadcast.jl:646 [inlined] [11] getindex @ ./broadcast.jl:605 [inlined] [12] macro expansion @ ./broadcast.jl:968 [inlined] [13] macro expansion @ ./simdloop.jl:77 [inlined] [14] copyto! @ ./broadcast.jl:967 [inlined] [15] copyto! @ ./broadcast.jl:920 [inlined] [16] copy @ ./broadcast.jl:892 [inlined] [17] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, SolidStateDetectors.var"#366#372"{Int64, Int64, Vector{Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, Vector{Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}}, SolidStateDetector{Float64, SolidStateDetectors.Semiconductor{Float64, SolidStateDetectors.ConstructiveSolidGeometry.CSGDifference{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.ClosedPrimitive, Float64, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.CSGUnion{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Float64, Nothing}}}, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}, ADLChargeDriftModel{Float64, SolidStateDetectors.HPGe, 4, SolidStateDetectors.VacuumModel{Float64}}, SolidStateDetectors.LinearImpurityDensity{Float64}, NoChargeTrappingModel{Float64}}, Vector{SolidStateDetectors.Contact{Float64, G, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}} where G}, Vector{SolidStateDetectors.Passive{Float64}}, Missing}}, Tuple{Base.OneTo{Int64}}}) @ Base.Broadcast ./broadcast.jl:867 [18] broadcast @ ./broadcast.jl:805 [inlined] [19] _convertEnergyDepsToChargeDeps(pos::Vector{Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, edep::Vector{Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}}, det::SolidStateDetector{Float64, SolidStateDetectors.Semiconductor{Float64, SolidStateDetectors.ConstructiveSolidGeometry.CSGDifference{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.ClosedPrimitive, Float64, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.CSGUnion{Float64, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}, Nothing}, SolidStateDetectors.ConstructiveSolidGeometry.Cone{Float64, SolidStateDetectors.ConstructiveSolidGeometry.OpenPrimitive, Float64, Nothing}}}, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}, ADLChargeDriftModel{Float64, SolidStateDetectors.HPGe, 4, SolidStateDetectors.VacuumModel{Float64}}, SolidStateDetectors.LinearImpurityDensity{Float64}, NoChargeTrappingModel{Float64}}, Vector{SolidStateDetectors.Contact{Float64, G, @NamedTuple{E_ionisation::Quantity{Float64, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(eV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, f_fano::Float64, ϵ_r::Float64, ρ::Quantity{Float64, 𝐌 𝐋^-3, Unitful.FreeUnits{(g, cm^-3), 𝐌 𝐋^-3, nothing}}, name::String, ml::Float64, mt::Float64, De::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}, Dh::Quantity{Int64, 𝐋^2 𝐓^-1, Unitful.FreeUnits{(cm^2, s^-1), 𝐋^2 𝐓^-1, nothing}}}} where G}, Vector{SolidStateDetectors.Passive{Float64}}, Missing}; number_of_carriers::Int64, number_of_shells::Int64) @ SolidStateDetectors /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:102 [20] _convertEnergyDepsToChargeDeps @ /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:100 [inlined] [21] #_convertEnergyDepsToChargeDeps#360 @ /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:97 [inlined] [22] (::SolidStateDetectors.var"#378#380"{Float64, Simulation{Float64, Cylindrical}, Quantity{Int64, 𝐓, Unitful.FreeUnits{(ns,), 𝐓, nothing}}, Int64, Interpolations.Extrapolation{StaticArraysCore.SVector{3, Float64}, 3, Interpolations.GriddedInterpolation{StaticArraysCore.SVector{3, Float64}, 3, Array{StaticArraysCore.SVector{3, Float64}, 3}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Interpolations.Line{Nothing}, Interpolations.Periodic{Nothing}, Interpolations.Line{Nothing}}}, Bool, Bool, Int64, Int64, Bool})(phyevt::@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}) @ SolidStateDetectors /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:132 [23] #46 @ /user/.julia/packages/ProgressMeter/kVZZH/src/ProgressMeter.jl:1050 [inlined] [24] iterate @ ./generator.jl:48 [inlined] [25] _collect(c::TypedTables.Table{@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, 1, @NamedTuple{evtno::Vector{Int32}, detno::ArraysOfArrays.VectorOfVectors{Int32, Vector{Int32}, Vector{Int64}, Vector{Tuple{}}}, thit::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}, Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, edep::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, pos::ArraysOfArrays.VectorOfVectors{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}, Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}, Vector{Int64}, Vector{Tuple{}}}}}, itr::Base.Generator{TypedTables.Table{@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, 1, @NamedTuple{evtno::Vector{Int32}, detno::ArraysOfArrays.VectorOfVectors{Int32, Vector{Int32}, Vector{Int64}, Vector{Tuple{}}}, thit::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}, Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, edep::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, pos::ArraysOfArrays.VectorOfVectors{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}, Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}, Vector{Int64}, Vector{Tuple{}}}}}, ProgressMeter.var"#46#49"{Distributed.RemoteChannel{Channel{Bool}}, SolidStateDetectors.var"#378#380"{Float64, Simulation{Float64, Cylindrical}, Quantity{Int64, 𝐓, Unitful.FreeUnits{(ns,), 𝐓, nothing}}, Int64, Interpolations.Extrapolation{StaticArraysCore.SVector{3, Float64}, 3, Interpolations.GriddedInterpolation{StaticArraysCore.SVector{3, Float64}, 3, Array{StaticArraysCore.SVector{3, Float64}, 3}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Interpolations.Line{Nothing}, Interpolations.Periodic{Nothing}, Interpolations.Line{Nothing}}}, Bool, Bool, Int64, Int64, Bool}}}, ::Base.EltypeUnknown, isz::Base.HasShape{1}) @ Base ./array.jl:800 [26] collect_similar(cont::TypedTables.Table{@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, 1, @NamedTuple{evtno::Vector{Int32}, detno::ArraysOfArrays.VectorOfVectors{Int32, Vector{Int32}, Vector{Int64}, Vector{Tuple{}}}, thit::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}, Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, edep::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, pos::ArraysOfArrays.VectorOfVectors{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}, Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}, Vector{Int64}, Vector{Tuple{}}}}}, itr::Base.Generator{TypedTables.Table{@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, 1, @NamedTuple{evtno::Vector{Int32}, detno::ArraysOfArrays.VectorOfVectors{Int32, Vector{Int32}, Vector{Int64}, Vector{Tuple{}}}, thit::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}, Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, edep::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, pos::ArraysOfArrays.VectorOfVectors{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}, Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}, Vector{Int64}, Vector{Tuple{}}}}}, ProgressMeter.var"#46#49"{Distributed.RemoteChannel{Channel{Bool}}, SolidStateDetectors.var"#378#380"{Float64, Simulation{Float64, Cylindrical}, Quantity{Int64, 𝐓, Unitful.FreeUnits{(ns,), 𝐓, nothing}}, Int64, Interpolations.Extrapolation{StaticArraysCore.SVector{3, Float64}, 3, Interpolations.GriddedInterpolation{StaticArraysCore.SVector{3, Float64}, 3, Array{StaticArraysCore.SVector{3, Float64}, 3}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Interpolations.Line{Nothing}, Interpolations.Periodic{Nothing}, Interpolations.Line{Nothing}}}, Bool, Bool, Int64, Int64, Bool}}}) @ Base ./array.jl:709 [27] map(f::Function, A::TypedTables.Table{@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, 1, @NamedTuple{evtno::Vector{Int32}, detno::ArraysOfArrays.VectorOfVectors{Int32, Vector{Int32}, Vector{Int64}, Vector{Tuple{}}}, thit::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}, Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, edep::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, pos::ArraysOfArrays.VectorOfVectors{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}, Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}, Vector{Int64}, Vector{Tuple{}}}}}) @ Base ./abstractarray.jl:3371 [28] macro expansion @ /user/.julia/packages/ProgressMeter/kVZZH/src/ProgressMeter.jl:1049 [inlined] [29] macro expansion @ ./task.jl:498 [inlined] [30] macro expansion @ /user/.julia/packages/ProgressMeter/kVZZH/src/ProgressMeter.jl:1048 [inlined] [31] macro expansion @ ./task.jl:498 [inlined] [32] progress_map(::Function, ::Vararg{Any}; mapfun::typeof(map), progress::ProgressMeter.Progress, channel_bufflen::Int64, kwargs::@Kwargs{}) @ ProgressMeter /user/.julia/packages/ProgressMeter/kVZZH/src/ProgressMeter.jl:1041 [33] progress_map @ /user/.julia/packages/ProgressMeter/kVZZH/src/ProgressMeter.jl:1032 [inlined] [34] _simulate_charge_drifts(mcevents::TypedTables.Table{@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, 1, @NamedTuple{evtno::Vector{Int32}, detno::ArraysOfArrays.VectorOfVectors{Int32, Vector{Int32}, Vector{Int64}, Vector{Tuple{}}}, thit::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}, Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, edep::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, pos::ArraysOfArrays.VectorOfVectors{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}, Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}, Vector{Int64}, Vector{Tuple{}}}}}, sim::Simulation{Float64, Cylindrical}, Δt::Quantity{Int64, 𝐓, Unitful.FreeUnits{(ns,), 𝐓, nothing}}, max_nsteps::Int64, electric_field::Interpolations.Extrapolation{StaticArraysCore.SVector{3, Float64}, 3, Interpolations.GriddedInterpolation{StaticArraysCore.SVector{3, Float64}, 3, Array{StaticArraysCore.SVector{3, Float64}, 3}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}, Vector{Float64}, Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Interpolations.Line{Nothing}, Interpolations.Periodic{Nothing}, Interpolations.Line{Nothing}}}, diffusion::Bool, self_repulsion::Bool, number_of_carriers::Int64, number_of_shells::Int64, verbose::Bool) @ SolidStateDetectors /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:131 [35] simulate_waveforms(mcevents::TypedTables.Table{@NamedTuple{evtno::Int32, detno::Vector{Int32}, thit::Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, edep::Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, pos::Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}}, 1, @NamedTuple{evtno::Vector{Int32}, detno::ArraysOfArrays.VectorOfVectors{Int32, Vector{Int32}, Vector{Int64}, Vector{Tuple{}}}, thit::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}, Vector{Quantity{Float32, 𝐓, Unitful.FreeUnits{(s,), 𝐓, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, edep::ArraysOfArrays.VectorOfVectors{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}, Vector{Quantity{Float32, 𝐋^2 𝐌 𝐓^-2, Unitful.FreeUnits{(keV,), 𝐋^2 𝐌 𝐓^-2, nothing}}}, Vector{Int64}, Vector{Tuple{}}}, pos::ArraysOfArrays.VectorOfVectors{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}, Vector{StaticArraysCore.SVector{3, Quantity{Float32, 𝐋, Unitful.FreeUnits{(mm,), 𝐋, nothing}}}}, Vector{Int64}, Vector{Tuple{}}}}}, sim::Simulation{Float64, Cylindrical}; Δt::Quantity{Int64, 𝐓, Unitful.FreeUnits{(ns,), 𝐓, nothing}}, max_nsteps::Int64, diffusion::Bool, self_repulsion::Bool, number_of_carriers::Int64, number_of_shells::Int64, verbose::Bool) @ SolidStateDetectors /user/.julia/packages/SolidStateDetectors/vJEoq/src/MCEventsProcessing/MCEventsProcessing.jl:73 [36] top-level scope @ In[12]:1
Seems like the CartesianPoints in the simulated events are not adapted to the floating point precision required by the Simulation.
CartesianPoints
Simulation
The text was updated successfully, but these errors were encountered:
G4JLApplication
Successfully merging a pull request may close this issue.
If the
Geant4
extension tutorial is run withT = Float64
instead ofT = Float32
, we get the following error at the end of the tutorial:Seems like the
CartesianPoints
in the simulated events are not adapted to the floating point precision required by theSimulation
.The text was updated successfully, but these errors were encountered: