Commit f5454718 authored by Javier's avatar Javier

nnoise_trunc added

parent ba711cd5
...@@ -101,7 +101,8 @@ read_mesons(path, "G5", "G5", id="H100") ...@@ -101,7 +101,8 @@ read_mesons(path, "G5", "G5", id="H100")
read_mesons(path, "G5_d2", "G5_d2", legacy=true) read_mesons(path, "G5_d2", "G5_d2", legacy=true)
``` ```
""" """
function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union{String, Nothing}=nothing; id::Union{String, Nothing}=nothing, legacy::Bool=false) function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union{String, Nothing}=nothing; id::Union{String, Nothing}=nothing, legacy::Bool=false,
nnoise_trunc::Union{Int64, Nothing}=nothing)
t1 = isnothing(g1) ? nothing : findfirst(x-> x==g1, gamma_name) - 1 t1 = isnothing(g1) ? nothing : findfirst(x-> x==g1, gamma_name) - 1
t2 = isnothing(g2) ? nothing : findfirst(x-> x==g2, gamma_name) - 1 t2 = isnothing(g2) ? nothing : findfirst(x-> x==g2, gamma_name) - 1
if isnothing(id) if isnothing(id)
...@@ -119,6 +120,8 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union ...@@ -119,6 +120,8 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union
tvals = g_header.tvals tvals = g_header.tvals
nnoise = g_header.nnoise nnoise = g_header.nnoise
nnoise_trunc = isnothing(nnoise_trunc) ? nnoise : min(nnoise, nnoise_trunc)
fsize = filesize(path) fsize = filesize(path)
datsize = 4 + sum(getfield.(c_header, :dsize)) * tvals * nnoise #data_size / ncnfg datsize = 4 + sum(getfield.(c_header, :dsize)) * tvals * nnoise #data_size / ncnfg
...@@ -144,13 +147,13 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union ...@@ -144,13 +147,13 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union
tmp = Array{Float64}(undef, tvals*nnoise) tmp = Array{Float64}(undef, tvals*nnoise)
read!(data, tmp) read!(data, tmp)
tmp2 = reshape(tmp, (nnoise, tvals)) tmp2 = reshape(tmp, (nnoise, tvals))
tmp2 = mean(tmp2, dims=1) tmp2 = mean(tmp2[1:nnoise_trunc, :], dims=1)
data_re[c, icfg, :] = tmp2[1, :] data_re[c, icfg, :] = tmp2[1, :]
elseif c_header[k].is_real == 0 elseif c_header[k].is_real == 0
tmp = Array{Float64}(undef, 2*tvals*nnoise) tmp = Array{Float64}(undef, 2*tvals*nnoise)
read!(data, tmp) read!(data, tmp)
tmp2 = reshape(tmp, (2, nnoise, tvals)) tmp2 = reshape(tmp, (2, nnoise, tvals))
tmp2 = mean(tmp2, dims=2) tmp2 = mean(tmp2[:, 1:nnoise_trunc, :], dims=2)
data_re[c, icfg, :] = tmp2[1, 1, :] data_re[c, icfg, :] = tmp2[1, 1, :]
data_im[c, icfg, :] = tmp2[2, 1, :] data_im[c, icfg, :] = tmp2[2, 1, :]
...@@ -172,8 +175,9 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union ...@@ -172,8 +175,9 @@ function read_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union
return res return res
end end
function read_mesons(path::Vector{String}, g1::Union{String, Nothing}=nothing, g2::Union{String, Nothing}=nothing; id::Union{String, Nothing}=nothing, legacy::Bool=false) function read_mesons(path::Vector{String}, g1::Union{String, Nothing}=nothing, g2::Union{String, Nothing}=nothing; id::Union{String, Nothing}=nothing, legacy::Bool=false,
res = read_mesons.(path, g1, g2, id=id, legacy=legacy) nnoise_trunc::Union{Int64, Nothing}=nothing)
res = read_mesons.(path, g1, g2, id=id, legacy=legacy, nnoise_trunc=nnoise_trunc)
nrep = length(res) nrep = length(res)
ncorr = length(res[1]) ncorr = length(res[1])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment