Module: SeisRuby::Data::Sac::Head
- Defined in:
- lib/seis_ruby/data/sac/head.rb
Defined Under Namespace
Modules: EnumeratedValueConverter, FloatConverter, IntegerConverter, LogicalConverter, StringConverter Classes: Field
Constant Summary collapse
- NAMES =
SAC header field names.
[ :delta, :depmin, :depmax, :scale, :odelta, :b, :e, :o, :a, :internal1, :t0, :t1, :t2, :t3, :t4, :t5, :t6, :t7, :t8, :t9, :f, :resp0, :resp1, :resp2, :resp3, :resp4, :resp5, :resp6, :resp7, :resp8, :resp9, :stla, :stlo, :stel, :stdp, :evla, :evlo, :evel, :evdp, :mag, :user0, :user1, :user2, :user3, :user4, :user5, :user6, :user7, :user8, :user9, :dist, :az, :baz, :gcarc, :internal2, :internal3, :depmen, :cmpaz, :cmpinc, :xminimum, :xmaximum, :yminimum, :ymaximum, :adjtm, :unused1, :unused2, :unused3, :unused4, :unused5, :unused6, :nzyear, :nzjday, :nzhour, :nzmin, :nzsec, :nzmsec, :nvhdr, :norid, :nevid, :npts, :nsnpts, :nwfid, :nxsize, :nysize, :unused7, :iftype, :idep, :iztype, :unused8, :iinst, :istreg, :ievreg, :ievtyp, :iqual, :isynth, :imagtyp, :imagsrc, :unused9, :unused10, :unused11, :unused12, :unused13, :unused14, :unused15, :unused16, :leven, :lpspol, :lovrok, :lcalda, :unused17, :kstnm, :kevnm, :khole, :ko, :ka, :kt0, :kt1, :kt2, :kt3, :kt4, :kt5, :kt6, :kt7, :kt8, :kt9, :kf, :kuser0, :kuser1, :kuser2, :kcmpnm, :knetwk, :kdatrd, :kinst, ]
- ENUMERATED_VALUES =
Enumerated values and their meanings.
[ :itime, :irlim, :iamph, :ixy, :iunkn, :idisp, :ivel, :iacc, :ib, :iday, :io, :ia, :it0, :it1, :it2, :it3, :it4, :it5, :it6, :it7, :it8, :it9, :iradnv, :itannv, :iradev, :itanev, :inorth, :ieast, :ihorza, :idown, :iup, :illlbb, :iwwsn1, :iwwsn2, :ihglp, :isro, :inucl, :ipren, :ipostn, :iquake, :ipreq, :ipostq, :ichem, :iother, :igood, :iglch, :idrop, :ilowsn, :irldta, :ivolts, :ixyz, :imb, :ims, :iml, :imw, :imd, :imx, :ineic, :ipde, :iisc, :ireb, :iusgs, :ibrk, :icaltech, :illnl, :ievloc, :ijsop, :iuser, :iunknown, :iqb, :iqb1, :iqb2, :iqbx, :iqmt, :ieq, :ieq1, :ieq2, :ime, :iex, :inu, :inc, :io, :il, :ir, :it, :iu, ].map.with_index.with_object({}){|(v, i), h| h[i + 1] = v}
- CONVERTERS =
[FloatConverter]*70\ + [IntegerConverter]*15\ + [EnumeratedValueConverter]*20\ + [LogicalConverter]*5\ + [StringConverter]*23
- FIELDS =
NAMES\ .zip(CONVERTERS)\ .map{|name, converter| Field.new(name, converter)}
Class Method Summary collapse
Class Method Details
.convert_from_head(array) ⇒ Hash
156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/seis_ruby/data/sac/head.rb', line 156 def convert_from_head(array) name_val = FIELDS\ .zip(array)\ .map{|field, val| begin [field.name, field.converter.from_head(val)] rescue ArgumentError => e $stderr.puts "Field name: #{field.name.inspect}" raise e end } Hash[name_val] end |
.convert_to_head(hash) ⇒ Array
172 173 174 |
# File 'lib/seis_ruby/data/sac/head.rb', line 172 def convert_to_head(hash) FIELDS.map{|field| field.converter.to_head(hash[field.name])} end |