edu.sc.seis.seisFile.mseed
Class DataHeader

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

public class DataHeader
extends ControlHeader

Container class for SEED Fixed Section Data Header information.


Field Summary
protected  byte activityFlags
           
protected  byte[] channelIdentifier
           
protected  java.lang.String channelIdentifierString
           
protected  int dataBlocketteOffset
           
protected  int dataOffset
           
protected  byte dataQualityFlags
           
protected  byte ioClockFlags
           
protected  byte[] locationIdentifier
           
protected  java.lang.String locationIdentifierString
           
protected  byte[] networkCode
           
protected  java.lang.String networkCodeString
           
protected  byte numBlockettes
           
protected  int numSamples
           
protected  int sampleRateFactor
           
protected  int sampleRateMultiplier
           
protected  byte[] startTime
           
protected  byte[] stationIdentifier
           
protected  java.lang.String stationIdentifierString
           
protected  int timeCorrection
           
 
Fields inherited from class edu.sc.seis.seisFile.mseed.ControlHeader
continuationCode, sequenceNum, typeCode
 
Constructor Summary
DataHeader(int sequenceNum, char typeCode, boolean continuationCode)
          creates a DataHeader object with listed sequence number, type code, and continuation code boolean.
 
Method Summary
 byte getActivityFlags()
          Get the value of activityFlags.
 BtimeRange getBtimeRange()
           
 java.lang.String getChannelIdentifier()
          Get the value of channelIdentifier.
 int getDataBlocketteOffset()
          Get the value of dataBlocketteOffset.
 int getDataOffset()
          Get the value of dataOffset.
 byte getDataQualityFlags()
          Get the value of dataQualityFlags.
 java.lang.String getEndTime()
          get the value of end time.
 byte getIOClockFlags()
          Get the value of IOClockFlags.
 Btime getLastSampleBtime()
          return a Btime structure containing the derived last sample time for this record
 java.lang.String getLastSampleTime()
          get the value of end time.
 java.lang.String getLocationIdentifier()
          Get the value of locationIdentifier.
 java.lang.String getNetworkCode()
          Get the value of networkCode.
 byte getNumBlockettes()
          Get the value of numBlockettes.
 int getNumSamples()
          Get the value of numSamples.
 Btime getPredictedNextStartBtime()
          returns the predicted start time of the next record, ie begin + numSample*period
 float getSampleRate()
          get the sample rate.
 int getSampleRateFactor()
          Get the value of sampleRateFactor.
 int getSampleRateMultiplier()
          Get the value of sampleRateMultiplier.
 short getSize()
           
 Btime getStartBtime()
           
 java.lang.String getStartTime()
          Get the value of startTime.
 java.lang.String getStationIdentifier()
          Get the value of stationIdentifier.
 int getTimeCorrection()
          Get the value of timeCorrection.
protected  void read(byte[] buf, int offset)
          populates this object with Fixed Section Data Header info.
static DataHeader read(java.io.DataInput in, int sequenceNum, char typeCode, boolean continuationCode)
          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.
 void setActivityFlags(byte v)
          Set the value of activityFlags.
 void setChannelIdentifier(java.lang.String v)
          Set the value of channelIdentifier.
 void setDataBlocketteOffset(short v)
          Set the value of dataBlocketteOffset.
 void setDataOffset(short v)
          Set the value of dataOffset.
 void setDataQualityFlags(byte v)
          Set the value of dataQualityFlags.
 void setIOClockFlags(byte v)
          Set the value of IOClockFlags.
 void setLocationIdentifier(java.lang.String v)
          Set the value of locationIdentifier.
 void setNetworkCode(java.lang.String v)
          Set the value of networkCode.
 void setNumBlockettes(byte v)
          Set the value of numBlockettes.
 void setNumSamples(short v)
          Set the value of numSamples.
 void setSampleRateFactor(short v)
          Set the value of sampleRateFactor.
 void setSampleRateMultiplier(short v)
          Set the value of sampleRateMultiplier.
 void setStartBtime(Btime btime)
           
 void setStationIdentifier(java.lang.String v)
          Set the value of stationIdentifier.
 void setTimeCorrection(int v)
          Set the value of timeCorrection.
 java.lang.String toString()
          Present a default string representation of the contents of this object
protected  void write(java.io.DataOutput dos)
          write DataHeader contents to a DataOutput stream
 void writeASCII(java.io.PrintWriter out)
          Writes an ASCII version of the record header.
 void writeASCII(java.io.PrintWriter out, java.lang.String indent)
           
 
Methods inherited from class edu.sc.seis.seisFile.mseed.ControlHeader
getSequenceNum, getTypeCode, isContinuation, main, read, tester
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

stationIdentifier

protected byte[] stationIdentifier

stationIdentifierString

protected java.lang.String stationIdentifierString

locationIdentifier

protected byte[] locationIdentifier

locationIdentifierString

protected java.lang.String locationIdentifierString

channelIdentifier

protected byte[] channelIdentifier

channelIdentifierString

protected java.lang.String channelIdentifierString

networkCode

protected byte[] networkCode

networkCodeString

protected java.lang.String networkCodeString

startTime

protected byte[] startTime

numSamples

protected int numSamples

sampleRateFactor

protected int sampleRateFactor

sampleRateMultiplier

protected int sampleRateMultiplier

activityFlags

protected byte activityFlags

ioClockFlags

protected byte ioClockFlags

dataQualityFlags

protected byte dataQualityFlags

numBlockettes

protected byte numBlockettes

timeCorrection

protected int timeCorrection

dataOffset

protected int dataOffset

dataBlocketteOffset

protected int dataBlocketteOffset
Constructor Detail

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 Detail

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

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

public float getSampleRate()
get the sample rate. derived from sample rate factor and the sample rate multiplier

Returns:
sample rate

getPredictedNextStartBtime

public Btime getPredictedNextStartBtime()
returns the predicted start time of the next record, ie begin + numSample*period


getBtimeRange

public BtimeRange getBtimeRange()

getLastSampleBtime

public Btime getLastSampleBtime()
return a Btime structure containing the derived last sample time for this record


getStartTime

public java.lang.String getStartTime()
Get the value of startTime.

Returns:
Value of startTime.

getEndTime

public java.lang.String getEndTime()
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.

Returns:
the value of end time

getLastSampleTime

public java.lang.String getLastSampleTime()
get the value of end time. derived from Start time, sample rate, and number of samples.

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.

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