Class DataHeader

java.lang.Object
edu.sc.seis.seisFile.mseed.ControlHeader
edu.sc.seis.seisFile.mseed.DataHeader

public class DataHeader
extends ControlHeader
Container class for SEED Fixed Section Data Header information.
  • Field Details

  • Constructor Details

    • DataHeader

      public DataHeader​(int sequenceNum, char typeCode, boolean continuationCode)
      creates a DataHeader object with listed sequence number, type code, and continuation code boolean.
      Parameters:
      sequenceNum - sequence number of the record represented by this object.
      typeCode - character representing the type of record represented by this object
      continuationCode - true if this record is flagged as a continuation from its previous SEED record
  • Method Details

    • writeASCII

      public void writeASCII​(java.io.PrintWriter out) throws java.io.IOException
      Writes an ASCII version of the record header. This is not meant to be a definitive ascii representation, merely to give something to print for debugging purposes. Ideally each field of the header should be printed in the order is appears in the header in a visually appealing way.
      Overrides:
      writeASCII in class ControlHeader
      Parameters:
      out - a Writer
      Throws:
      java.io.IOException
    • writeASCII

      public void writeASCII​(java.io.PrintWriter out, java.lang.String indent) throws java.io.IOException
      Overrides:
      writeASCII in class ControlHeader
      Throws:
      java.io.IOException
    • read

      public static DataHeader read​(java.io.DataInput in, int sequenceNum, char typeCode, boolean continuationCode) throws java.io.IOException, SeedFormatException
      Instantiate an object of this class and read an FSDH byte stream into it, parsing the contents into the instance variables of this object, which represent the individual FSDH fields.
      Note, first 8 bytes are assumed to already have been read.
      Parameters:
      in - SEED data stream offset 8 bytes from beginning of record.
      sequenceNum - 6 digit ascii sequence tag at the beginning of SEED record.
      typeCode - character representing the type of record being read
      continuationCode - true if this record is flagged as a continuation from its previous SEED record.
      Returns:
      an object of this class with fields filled from 'in' parameter
      Throws:
      java.io.IOException
      SeedFormatException
    • read

      protected void read​(byte[] buf, int offset)
      populates this object with Fixed Section Data Header info. this routine modified to include byte offset, should the station identifier start at a byte offset (such as 8 from the beginning of a data record).
      Parameters:
      buf - data buffer containing FSDH information
      offset - byte offset to begin reading buf
    • write

      protected void write​(java.io.DataOutput dos) throws java.io.IOException
      write DataHeader contents to a DataOutput stream
      Overrides:
      write in class ControlHeader
      Parameters:
      dos - DataOutput stream to write to
      Throws:
      java.io.IOException
    • getSize

      public short getSize()
      Overrides:
      getSize in class ControlHeader
    • getQualityIndicator

      public char getQualityIndicator()
      same as getTypeCode() in ControlHeader, just a convenience method as the type code is called a Data header/quality indicator in the seed documentation for data header.
    • getStationIdentifier

      public java.lang.String getStationIdentifier()
      Get the value of stationIdentifier.
      Returns:
      Value of stationIdentifier.
    • setStationIdentifier

      public void setStationIdentifier​(java.lang.String v)
      Set the value of stationIdentifier.
      Parameters:
      v - Value to assign to stationIdentifier.
    • getLocationIdentifier

      public java.lang.String getLocationIdentifier()
      Get the value of locationIdentifier.
      Returns:
      Value of locationIdentifier.
    • setLocationIdentifier

      public void setLocationIdentifier​(java.lang.String v)
      Set the value of locationIdentifier.
      Parameters:
      v - Value to assign to locationIdentifier.
    • getChannelIdentifier

      public java.lang.String getChannelIdentifier()
      Get the value of channelIdentifier.
      Returns:
      Value of channelIdentifier.
    • setChannelIdentifier

      public void setChannelIdentifier​(java.lang.String v)
      Set the value of channelIdentifier.
      Parameters:
      v - Value to assign to channelIdentifier.
    • getNetworkCode

      public java.lang.String getNetworkCode()
      Get the value of networkCode.
      Returns:
      Value of networkCode.
    • setNetworkCode

      public void setNetworkCode​(java.lang.String v)
      Set the value of networkCode.
      Parameters:
      v - Value to assign to networkCode.
    • getStartBtime

      public Btime getStartBtime()
    • setStartBtime

      public void setStartBtime​(Btime btime)
    • getSampleRate

      @Deprecated public float getSampleRate()
      Deprecated.
      Use DataRecord.getSampleRate() as it also checks for a possible blockette100 value.
      get the sample rate. derived from sample rate factor and the sample rate multiplier. Note this may not be the true sample rate if the record contains a blockette 100.
      Returns:
      sample rate
    • getPredictedNextStartBtime

      @Deprecated public Btime getPredictedNextStartBtime()
      Deprecated.
      Use DataRecord.getPredictedNextStartBtime() as it also checks for a possible blockette100 value.
      returns the predicted start time of the next record, ie begin + numSample*period Note that this may not be correct if the record also contains a more accurate sample rate in a blockette100.
    • getBtimeRange

      @Deprecated public BtimeRange getBtimeRange()
      Deprecated.
      Use DataRecord.getBtimeRange() as it also checks for a possible blockette100 value.
    • getLastSampleBtime

      @Deprecated public Btime getLastSampleBtime()
      Deprecated.
      Use DataRecord.getLastSampleBtime() as it also checks for a possible blockette100 value.
      return a Btime structure containing the derived last sample time for this record. Note that this may not be correct if the record also contains a more accurate sample rate in a blockette100.
    • getStartTime

      public java.lang.String getStartTime()
      Get the value of startTime.
      Returns:
      Value of startTime.
    • getEndTime

      @Deprecated public java.lang.String getEndTime()
      Deprecated.
      Use DataRecord.getEndTime() as it also checks for a possible blockette100 value.
      get the value of end time. derived from Start time, sample rate, and number of samples. Note this is not the time of the last sample, but rather the predicted begin time of the next record. Note that this may not be correct if the record also contains a more accurate sample rate in a blockette100.
      Returns:
      the value of end time
    • getLastSampleTime

      @Deprecated public java.lang.String getLastSampleTime()
      Deprecated.
      Use DataRecord.getLastSampleTime() as it also checks for a possible blockette100 value.
      get the value of end time. derived from Start time, sample rate, and number of samples. Note that this may not be correct if the record also contains a more accurate sample rate in a blockette100.
      Returns:
      the value of end time
    • getNumSamples

      public int getNumSamples()
      Get the value of numSamples.
      Returns:
      Value of numSamples.
    • setNumSamples

      public void setNumSamples​(short v)
      Set the value of numSamples.
      Parameters:
      v - Value to assign to numSamples.
    • getSampleRateFactor

      public int getSampleRateFactor()
      Get the value of sampleRateFactor.
      Returns:
      Value of sampleRateFactor.
    • setSampleRateFactor

      public void setSampleRateFactor​(short v)
      Set the value of sampleRateFactor.
      Parameters:
      v - Value to assign to sampleRateFactor.
    • getSampleRateMultiplier

      public int getSampleRateMultiplier()
      Get the value of sampleRateMultiplier.
      Returns:
      Value of sampleRateMultiplier.
    • setSampleRateMultiplier

      public void setSampleRateMultiplier​(short v)
      Set the value of sampleRateMultiplier.
      Parameters:
      v - Value to assign to sampleRateMultiplier.
    • setSampleRate

      public void setSampleRate​(double samplePerSecond)
    • calcSampleRateFromMultipilerFactor

      public float calcSampleRateFromMultipilerFactor()
      get the sample rate. derived from sample rate factor and the sample rate multiplier. Note this may not be the true sample rate if the record contains a blockette 100. Returns zero if either of the multiplier or factor are zero, usually in the case of log/ascii/opaque data.
      Returns:
      sample rate
    • calcSeedMultipilerFactor

      public static short[] calcSeedMultipilerFactor​(double sps)
    • getActivityFlags

      public byte getActivityFlags()
      Get the value of activityFlags.
      Returns:
      Value of activityFlags.
    • setActivityFlags

      public void setActivityFlags​(byte v)
      Set the value of activityFlags.
      Parameters:
      v - Value to assign to activityFlags.
    • getIOClockFlags

      public byte getIOClockFlags()
      Get the value of IOClockFlags.
      Returns:
      Value of IOClockFlags.
    • setIOClockFlags

      public void setIOClockFlags​(byte v)
      Set the value of IOClockFlags.
      Parameters:
      v - Value to assign to IOClockFlags.
    • getDataQualityFlags

      public byte getDataQualityFlags()
      Get the value of dataQualityFlags.
      Returns:
      Value of dataQualityFlags.
    • setDataQualityFlags

      public void setDataQualityFlags​(byte v)
      Set the value of dataQualityFlags.
      Parameters:
      v - Value to assign to dataQualityFlags.
    • getNumBlockettes

      public byte getNumBlockettes()
      Get the value of numBlockettes.
      Returns:
      Value of numBlockettes.
    • setNumBlockettes

      public void setNumBlockettes​(byte v)
      Set the value of numBlockettes.
      Parameters:
      v - Value to assign to numBlockettes.
    • getTimeCorrection

      public int getTimeCorrection()
      Get the value of timeCorrection.
      Returns:
      Value of timeCorrection.
    • setTimeCorrection

      public void setTimeCorrection​(int v)
      Set the value of timeCorrection.
      Parameters:
      v - Value to assign to timeCorrection.
    • getDataOffset

      public int getDataOffset()
      Get the value of dataOffset.
      Returns:
      Value of dataOffset.
    • setDataOffset

      public void setDataOffset​(short v)
      Set the value of dataOffset.
      Parameters:
      v - Value to assign to dataOffset.
    • getDataBlocketteOffset

      public int getDataBlocketteOffset()
      Get the value of dataBlocketteOffset.
      Returns:
      Value of dataBlocketteOffset.
    • setDataBlocketteOffset

      public void setDataBlocketteOffset​(short v)
      Set the value of dataBlocketteOffset.
      Parameters:
      v - Value to assign to dataBlocketteOffset.
    • toString

      public java.lang.String toString()
      Present a default string representation of the contents of this object
      Overrides:
      toString in class ControlHeader
      Returns:
      formatted string of object contents