frameAPI Documentation

1.11.40

Extended TCL Commands

The list of extended TCL commands can be found here.

Introduction

  1. Representation of a Frame as ILWD
    1. Frame Header
    2. ADC Data
    3. Detector
    4. Message Log Data
    5. History Data
    6. Raw Data
    7. Post-processed Data
    8. Simulated Data
    9. Serial Data
    10. Static Data
    11. Trigger Data
    12. Summary Data
  2. Querying
  3. I/O Commands
  4. Conversion Commands

1. Representation of a Frame as ILWD

Frame Header

<ilwd name='LIGOFrame' size='9'>
    <int_4s name='run'>run</int_4s>
    <int_4u name='frame'>frame</int_4u>
    <int_4u name='dataquality'>dataQuality</int_4u>
    <int_4u name='GTime' size='2'>GTimeS GTimeN</int_4u>
    <int_2u name='ULeapS'>ULeapS</int_2u>
    <int_4s name='localTime'>localTime</int_4s>
    <real_8 name='dt'>dt</real_8>
    <ilwd name='rawdata:rawData:RawData:Frame'>
         <ilwd name=':${lctype}data:Container(${uctype}Data)' size='$nchans'>
    <ilwd name=':type:Container(Vect):Frame' size='?'>
        ... Vect data ...
    </ilwd>
    <ilwd name=':user:Container(Vect):Frame' size='?'>
        ... Vect data ...
    </ilwd>
    <ilwd name='detector name:detectSim:Detector:Frame' size='?'>
        ... Detector data ...
    </ilwd>
    <ilwd name='detector name:detectProc:Detector:Frame' size='?'>
        ... Detector data ...
    </ilwd>
    <ilwd name=':history:Container(History):Frame' size='?'>
        ... History data ...
    </ilwd>
    <ilwd name='RawData name:rawData:RawData:Frame' size='?'>
        ... Raw data ...
    </ilwd>
    <ilwd name=':procData:Container(ProcData):Frame' size='?'>
        ... Processed data ...
    </ilwd>
    <ilwd name=':strain:Container(ProcData):Frame' size='?'>
        ... Strain data ...
    </ilwd>
    <ilwd name=':simData:Container(SimData):Frame' size='?'>
        ... Simulated data ...
    </ilwd>
    <ilwd name=':trigData:Container(TrigData):Frame' size='?'>
        ... Trigger data ...
    </ilwd>
    <ilwd name=':summaryData:Container(summary):Frame' size='?'>
        ... Summary data ...
    </ilwd>
    <ilwd name=':auxData:Container(Vect):Frame' size='?'>
        ... Auxiliary data ...
    </ilwd>
</ilwd>
	

ADC Data

<ilwd name='channel name::AdcData:GTimeS:GTimeN:Frame' size='14'>
    <lstring name='comment' size='?'>comment</lstring>
    <int_4u name='crate'>crate</int_4u>
    <int_4u name='channel'>channel</int_4u>
    <int_4u name='nBits'>nBits</int_4u>
    <real_4 name='bias'>bias</real_4>
    <real_4 name='slope'>slope</real_4>
    <lstring name='units' size='?'>units</lstring>
    <real_8 name='sampleRate'>sampleRate </real_8>
    <int_4u name='timeOffset' size=2'>timeOffsetS timeOffsetN</int_4u>
    <real_8 name='fShift'>fShift</real_8>
    <int_2u name='overRange'>overRange</int_2u>
    <real_8 name='dt'>dt(from Frame Header)</real_8>
    <ilwd name=':data:Container(Vect):Frame' size='?'>
         ... vector data ...
    </ilwd>
    <ilwd name=':aux:Container(Vect):Frame' size='?'>
         ... aux data ...
    </ilwd>
 </ilwd>
	

Detector

<ilwd name='detector name::Detector:Frame' size='12'>
    <int_2s name='longitudeD'>longitudeD</int_2s>
    <int_2s name='longitudeM'>longitudeM</int_2s>
    <real_4 name='longitudeS'>longitudeS</real_4>
    <int_2s name='latitudeD'>latitudeD</int_2s>
    <int_2s name='latitudeM'>latitudeM</int_2s>
    <real_4 name='latitudeS'>latitudeS</real_4>
    <real_4 name='elevation'>elevation</real_4>
    <real_4 name='armXazimuth'>armXazimuth</real_4>
    <real_4 name='armYazimuth'>armYazimuth</real_4>
    <real_4 name='armLength'>armLength</real_4>
    <ilwd name=':statdata:Container(StatData):Frame' size='?'>
         ... statdata ...
    </ilwd>
    <ilwd name=':more:Container(Vect):Frame' size='?'>
         ... more data ...
    </ilwd>
</ilwd>
	

Message Log Data

<ilwd name='alarmMsg:Frame' size='2'>
    <lstring name='message' size='?'>message</lstring>
    <int_4u name='severity'>severity</int_4u>
</ilwd>
	

History Data

<ilwd name='nameHistory:Frame' size='2'>
    <int_4u name='time'>time</int_4u>
    <lstring name='comment' size='?'>comment</lstring>
</ilwd>
	

Raw Data

<ilwd name='nameRawData:Frame' size='4'>
    <ilwd name=':serData:Container(SerData):Frame' size='?'>
        ... Serial data ...
    </ilwd>
    <ilwd name=':adcData:Container(AdcData):Frame' size='?'>
        ... ADC data ...
    </ilwd>
    <ilwd name=':logMsg:Container(Msg):Frame' size='?'>
        ... Message data ...
    </ilwd>
    <ilwd name=':more:Container(Vect):Frame' size='?'>
        ... more data ...
    </ilwd>
</ilwd>
	

Post-processed Data

<ilwd name='data or channel name::ProcData:GTimeS:GTimeN:Frame' size='7'>
    <lstring name='comment' size='?'>comment</lstring>
    <real_8 name='sampleRate'>sampleRate </real_8>
    <int_4u name='timeOffset' size=2'>timeOffsetS timeOffsetN</int_4u>
    <real_8 name='fShift'>fShift</real_8>
    <real_8 name='dt'>dt(from Frame Header)</real_8>
    <ilwd name=':data:Container(Vect):Frame' size='?'>
        ... vector data ...
    </ilwd>
    <ilwd name=':aux:Container(Vect):Frame' size='?'>
        ... aux data ...
    </ilwd>
</ilwd>
	

Simulated Data

<ilwd name='nameSimData:GTimeS:GTimeN:Frame' size='5'>
    <lstring name='comment' size='?'>comment</lstring>
    <real_8 name='sampleRate'>sampleRate </real_8>
    <real_8 name='dt'>dt(from Frame Header)</real_8>
    <ilwd name=':data:Container(Vect):Frame' size='?'>
        ... vector data ...
    </ilwd>
    <ilwd name=':input:Container(Vect):Frame' size='?'>
        ... input data ...
    </ilwd>
</ilwd>
	

Serial Data

<ilwd name='station name::SerData:GTimeS:GTimeN:Frame' size='6'>
    <int_4u name='time' size=2'>timeSec timeNsec</int_4u>
    <real_8 name='sampleRate'>sampleRate </real_8>
    <lstring name='data' size='?'> data </lstring>
    <real_8 name='dt'>dt(from Frame Header)</real_8>
    <ilwd name=':serial:Container(Vect):Frame' size='?'>
        ... serial data ...
    </ilwd>
    <ilwd name=':more:Container(Vect):Frame' size='?'>
        ... more data ...
    </ilwd>
</ilwd>
	

Static Data

<ilwd name='nameStatData:GTimeS:GTimeN:Frame' size='5'>
    <lstring name='comment' size='?'>comment</lstring>
    <int_4u name='timeStart'>timeStart</int_4u>
    <int_4u name='timeEnd'>timeEnd</int_4u>
    <int_4u name='version'>version</int_4u>
    <ilwd name=':data:Container(Vect):Frame' size='?'>
        ... stat data ...
    </ilwd>
</ilwd>
	

Trigger Data

<ilwd name='trigger name::TrigData:GTimeS:GTimeN:Frame' size='8'>
    <lstring name='comment' size='?'>comment</lstring>
    <lstring name='inputs' size='?'>inputs</lstring>
    <int_4u name='GTime' size='2'>GTimeS GTimeN</int_4u>
    <int_4u name='bvalue'>bvalue</int_4u>
    <real_4 name='rvalue'>rvalue</real_4>
    <real_4 name='probability'>probability</real_4>
    <lstring name='statistics' size='?'>statistics</lstring>
    <ilwd name=':data:Container(Vect):Frame' size='?'>
        ... vector data ...
    </ilwd>
</ilwd>
	

Summary Data

<ilwd name='nameSummary:Frame' size='3'>
    <lstring name='comment' size='?'>comment</lstring>
    <lstring name='test' size='?'>test</lstring>
    <ilwd name=':moments:Container(Vect):Frame' size='?'>
        ... moments data ...
    </ilwd>
</ilwd>

2. I/O Commands

FrameAPI provides basic and enhanced extended TCL commands for frame data input and output. Basic commands are openFrameFile, closeFrameFile, readFrame, writeFrame. There exist threaded versions readFrame_t, readFrame_r and writeFrame_r, writeFrame_r. Enhanced I/O interface is readDaqFrame, updateDaqFrame, catDaqFrame and daqTriggerAdcName. These "DAQ" commands were written to allow faster input of frame data files generated by the LIGO frame builder.

3. Conversion Commands

FrameAPI has extended TCL commands for converting various FrameCPP objects into the ILWD library elements.: Adc2container, Detector2container, History2container, Proc2container, Ser2container, Sim2container, frameDetectorProc, frameDetectorSim, frameHeader2container, frameHistory, fullFrame2container, fullFrame2container_r, fullFrame2container_t. It is possible to convert ILWD data back to a FrameCPP object: ilwd2frame, ilwd2frame_r, ilwd2frame_t. There are commands for the concatenation of time series data structures or full frames: concatAdcDataList, concatFrameList, concatProcDataList, concatSerDataList, concatSimDataList.


Generated on Tue Nov 25 21:36:56 2008 for frameAPI by  doxygen 1.5.4