Commit 3caece9a authored by ale's avatar ale

rework idm_sl in corr_obs_TSM, idm in corr_obs, and added replica variable to corr_obs

parent 785a5537
......@@ -191,21 +191,21 @@ function corr_obs(cdata::CData; real::Bool=true, rw::Union{Array{Float64, 2}, No
end
#function corr_obs for R != 1
#TODO: vcfg with gaps
function corr_obs(cdata::Array{CData, 1}; real::Bool=true, rw::Union{Array{Array{Float64, 2}, 1}, Nothing}=nothing, L::Int64=1, info::Bool=false, idm::Union{Vector{Int64},Nothing}=nothing, nms::Union{Int64, Nothing}=nothing, flag_strange::Bool=false)
function corr_obs(cdata::Array{CData, 1}; real::Bool=true, rw::Union{Array{Array{Float64, 2}, 1}, Nothing}=nothing, L::Int64=1, info::Bool=false, replica::Union{Vector{Int64},Nothing}=nothing, idm::Union{Vector{Int64},Nothing}=nothing, nms::Union{Int64, Nothing}=nothing, flag_strange::Bool=false)
nr = length(cdata)
id = getfield.(cdata, :id)
vcfg = getfield.(cdata, :vcfg)
replica = Int64.(maximum.(vcfg))
replica = isnothing(replica) ? Int64.(maximum.(vcfg)) : replica
nms = isnothing(nms) ? sum(replica) : nms
nr = length(vcfg)
if isnothing(idm)
delta_vcfg = vcfg[1][2] - vcfg[1][1]
idm = collect(1:delta_vcfg:replica[1])
for ii in eachindex(cdata)[2:end]
delta_vcfg = vcfg[ii][2] - vcfg[ii][1]
aux = collect(1:delta_vcfg:replica[ii]) .+ replica[ii-1]
append!(idm, aux)
a = vcfg[1]
for i in 2:nr
a = [a; a[end] .+ vcfg[i]]
end
idm = Int64.(a)
end
if !all(id .== id[1])
......@@ -367,9 +367,22 @@ function corr_obs_TSM(cdata1::Array{CData, 1}, cdata2::Array{CData, 1}; real::Bo
replica_corr = Int64.(maximum.(vcfg_corr))
nms = isnothing(nms) ? sum(replica_sl) : nms # assuming vcfg_sl >= vcfg_corr
idm_sl = isnothing(idm_sl) ? Int64.([vcfg_sl[1]; vcfg_sl[1][end] .+ vcfg_sl[2]]) : idm_sl
idm_corr = isnothing(idm_corr) ? Int64.([vcfg_corr[1]; vcfg_corr[1][end] .+ vcfg_corr[2]]) : idm_corr
nr = length(vcfg_sl)
if isnothing(idm_sl)
a = vcfg_sl[1]
for i in 2:nr
a = [a; a[end] .+ vcfg_sl[i]]
end
idm_sl = Int64.(a)
end
if isnothing(idm_corr)
a = vcfg_corr[1]
for i in 2:nr
a = [a; a[end] .+ vcfg_corr[i]]
end
idm_corr = Int64.(a)
end
data1 = real ? getfield.(cdata1, :re_data) ./ L^3 : getfield.(cdata1, :im_data) ./ L^3
data2 = real ? getfield.(cdata2, :re_data) ./ L^3 : getfield.(cdata2, :im_data) ./ L^3
......
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