Class HipoExtractor

java.lang.Object
org.jlab.detector.pulse.HipoExtractor
All Implemented Interfaces:
IExtractor
Direct Known Subclasses:
Mode3, ModeAHDC

public abstract class HipoExtractor extends Object implements IExtractor
For now, a place to store standard boilerplate for waveform/pulse HIPO manipulations. No bounds checking regarding number of samples. Here an IndexedTable object from CCDB is used to pass initialization parameters to the extractor. If that object is null, the @{link org.jlab.detector.pulse.IExtractor.extract} method should know what to do, e.g., hardcoded, channel-independent parameters. FIXME: Passing the #samples around is obviously bad, and there's probably a few non-horrible ways that can be addressed without changing bank format.
Author:
baltzell
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected static void
    copyIndices(org.jlab.io.base.DataBank src, org.jlab.io.base.DataBank dest, int isrc, int idest)
     
    protected static void
    copyIndices(org.jlab.jnp.hipo4.data.Bank src, org.jlab.jnp.hipo4.data.Bank dest, int isrc, int idest)
     
    protected static int[]
    getIndices(org.jlab.io.base.DataBank bank, int row)
     
    protected static int[]
    getIndices(org.jlab.jnp.hipo4.data.Bank bank, int row)
     
    protected List<Pulse>
    getPulses(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.io.base.DataBank wfBank)
     
    protected List<Pulse>
    getPulses(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.jnp.hipo4.data.Bank wfBank)
     
    void
    update(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.io.base.DataEvent event, String wfBankName, String adcBankName)
    This could be overriden, e.g., for non-standard ADC banks.
    protected void
    update(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.jnp.hipo4.data.Bank wfBank, org.jlab.jnp.hipo4.data.Bank adcBank)
    This could be overriden, e.g., for non-standard ADC banks.
    void
    update(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.jnp.hipo4.data.Event event, org.jlab.jnp.hipo4.data.SchemaFactory schema, String wfBankName, String adcBankName)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.jlab.detector.pulse.IExtractor

    extract
  • Constructor Details

    • HipoExtractor

      public HipoExtractor()
  • Method Details

    • update

      public void update(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.jnp.hipo4.data.Event event, org.jlab.jnp.hipo4.data.SchemaFactory schema, String wfBankName, String adcBankName)
      Parameters:
      n - number of samples in readout
      it - CCDB table containing extraction initialization parameters
      event - the event to modify
      schema - bank schema factory
      wfBankName - name of the input waveform bank
      adcBankName - name of the output ADC bank
    • update

      public void update(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.io.base.DataEvent event, String wfBankName, String adcBankName)
      This could be overriden, e.g., for non-standard ADC banks.
      Parameters:
      n - number of samples in readout
      it - CCDB table containing extraction initialization parameters
      event - the event to modify
      wfBankName - name of the input waveform bank
      adcBankName - name of the output ADC bank
    • update

      protected void update(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.jnp.hipo4.data.Bank wfBank, org.jlab.jnp.hipo4.data.Bank adcBank)
      This could be overriden, e.g., for non-standard ADC banks.
      Parameters:
      n - number of samples in readout
      it - CCDB table containing extraction initialization parameters
      wfBank - input waveform bank
      adcBank - output ADC bank
    • copyIndices

      protected static void copyIndices(org.jlab.jnp.hipo4.data.Bank src, org.jlab.jnp.hipo4.data.Bank dest, int isrc, int idest)
    • copyIndices

      protected static void copyIndices(org.jlab.io.base.DataBank src, org.jlab.io.base.DataBank dest, int isrc, int idest)
    • getIndices

      protected static int[] getIndices(org.jlab.jnp.hipo4.data.Bank bank, int row)
    • getIndices

      protected static int[] getIndices(org.jlab.io.base.DataBank bank, int row)
    • getPulses

      protected List<Pulse> getPulses(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.io.base.DataBank wfBank)
    • getPulses

      protected List<Pulse> getPulses(int n, org.jlab.utils.groups.IndexedTable it, org.jlab.jnp.hipo4.data.Bank wfBank)