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 Link icon

    Constructors
    Constructor
    Description
     
  • Method Summary Link icon

    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 Link icon

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

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

    extract
  • Constructor Details Link icon

    • HipoExtractor Link icon

      public HipoExtractor()
  • Method Details Link icon

    • update Link icon

      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 Link icon

      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 Link icon

      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 Link icon

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

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

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

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

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

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