Sha256: 21e41e8a01ef07ab88ba14700afb363b5ca43471617e3e56649f23e4dda82626

Contents?: true

Size: 1.52 KB

Versions: 27

Compression:

Stored size: 1.52 KB

Contents

class Calib
  def self.analyse_file(filename)
    str = File.read(filename)
    str.sub!(/calibra.*\s+/, '')
    cal = $~[0]
    strs = str.split(/(?=reduced_qflux)/); strs.shift
    return strs.map{|s| new_from_string(cal,s)}
  end
  def self.new_from_string(cal,str)
    pp str
    cal = cal.sub(/cal\w+/,'').split(/\s+/).delete_if{|s| s=~/\A\s*\Z/}.map{|s| s.to_i}
    hash = str.scan(
      /((?:(?:reduced|full)_[pq]flux)|[pq]flux factor)([\deE\s.+-]+)/
    ).inject({}){|h,(k,v)| 
      arr = v.split(/\s+/).delete_if{|s| s=~/\A\s*\Z/}.map{|s| s.to_f}
      h[k.gsub(/ /, '_')]=arr.pieces(arr.size>cal.size*3?2:3); h}
    pp hash
    hash[:calibration_jobs] = cal
    new(hash)
  end
  attr_accessor :calibration_jobs
  def initialize(hash)
    hash.each{|k,v| instance_variable_set("@".to_sym + k, v)}
  end
  def pflux_graphkit(i)
    #k = (0..0).to_a.map{|i|
    k = GraphKit.quick_create([@calibration_jobs, raw_pflux_factor(i)], [(0...(@pflux_factor[i].size)).to_a, @pflux_factor[i]])
    #}.sum
    k.data.each{|dk| dk.gp.with = 'lp'}
    k.data[1].title = 'factor'
    k
  end
  def qflux_graphkit(i)
    #k = (0..0).to_a.map{|i|
    k = GraphKit.quick_create([@calibration_jobs, raw_qflux_factor(i)], [(0...(@qflux_factor[i].size)).to_a, @qflux_factor[i]])
    #}.sum
    k.data.each{|dk| dk.gp.with = 'lp'}
    k.data[1].title = 'factor'
    k
  end
  def raw_qflux_factor(i)
    (@full_qflux[i].to_gslv/@reduced_qflux[i].to_gslv).to_a
  end
  def raw_pflux_factor(i)
    (@full_pflux[i].to_gslv/@reduced_pflux[i].to_gslv).to_a
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
trinitycrmod-0.8.14 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.13 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.12 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.11 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.10 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.9 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.8 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.7 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.5 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.3 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.2 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.1 lib/trinitycrmod/calib.rb
trinitycrmod-0.8.0 lib/trinitycrmod/calib.rb
trinitycrmod-0.7.11 lib/trinitycrmod/calib.rb
trinitycrmod-0.7.10 lib/trinitycrmod/calib.rb
trinitycrmod-0.7.9 lib/trinitycrmod/calib.rb
trinitycrmod-0.7.8 lib/trinitycrmod/calib.rb
trinitycrmod-0.7.7 lib/trinitycrmod/calib.rb
trinitycrmod-0.7.6 lib/trinitycrmod/calib.rb
trinitycrmod-0.7.5 lib/trinitycrmod/calib.rb