Author: [log in to unmask] Date: Mon Nov 16 16:37:02 2015 New Revision: 3961 Log: Add some doc. Modified: java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java Modified: java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java ============================================================================= --- java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java (original) +++ java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java Mon Nov 16 16:37:02 2015 @@ -259,7 +259,7 @@ LOGGER.finest("this is a data multisample for apv " + SvtEvioUtils.getApvFromMultiSample(samples) + " ch " + SvtEvioUtils.getChannelNumber(samples)); - // Extract data words from multisample header + // Extract data words from multisample header and update index multisampleHeaderIndex += this.extractMultisampleHeaderData(samples, multisampleHeaderIndex, multisampleHeaderData); // If a set of samples is associated with an APV header or tail, skip it @@ -294,6 +294,12 @@ + /** + * Process the headers that were extracted from the SVT data. + * @param headers - list of all headers + * @param lcsimEvent - the current LCSIM event being processed + * @throws SvtEvioHeaderException + */ protected abstract void processSvtHeaders(List<SvtHeaderDataInfo> headers, EventHeader lcsimEvent) throws SvtEvioHeaderException; /** @@ -311,6 +317,13 @@ } + /** + * Copy the multisample header data for the samples into a long array. + * @param samples + * @param index + * @param multisampleHeaderData + * @return + */ protected int extractMultisampleHeaderData(int[] samples, int index, int[] multisampleHeaderData) { LOGGER.finest("extractMultisampleHeaderData: index " + index); if( SvtEvioUtils.isMultisampleHeader(samples) && !SvtEvioUtils.isMultisampleTail(samples) ) { @@ -323,11 +336,23 @@ } } + /** + * Checks that the SVT header data count is consistent with the bank size. + * @param sampleCount - sample count from the size. + * @param headerData - header extracted from the bank. + * @throws SvtEvioHeaderException + */ protected void checkSvtSampleCount(int sampleCount, SvtHeaderDataInfo headerData) throws SvtEvioHeaderException { if( sampleCount != SvtEvioUtils.getSvtTailMultisampleCount(headerData.getTail())*4) throw new SvtEvioHeaderException("multisample count is not consistent with bank size."); } + /** + * Add the multisample headers to the {@link SvtHeaderDataInfo} object. + * @param headerData - object to add multisample headers to. + * @param n - number of multisample headers + * @param multisampleHeaders - multisample headers to copy + */ protected void setMultiSampleHeaders(SvtHeaderDataInfo headerData, int n, int[] multisampleHeaders) { //copy out the headers that are non-zero int[] vals = new int[n];