/**
  * Process the M/Z data and set the peaks histogram and the intensity histogram
  *
  * @param mzData the m/z chartData
  */
 private void processSpectrumMzData(PeakList mzData, PeakList intensity) {
   String spectrumID = mzData.getSpectrumID().toString();
   SpectrumData spectrum = getOrCreateSpectrum(spectrumID);
   Map<Integer, PrideHistogram> mzHist;
   if (spectrum.isIdentified()) {
     mzHist = mzIdentifiedHist;
   } else {
     mzHist = mzUnidentifiedHist;
   }
   try {
     int charge = (int) Math.ceil(spectrum.getPrecursorCharge());
     PrideHistogram histogram;
     if (mzHist.containsKey(charge)) {
       histogram = mzHist.get(charge);
     } else {
       histogram = new PrideHistogram();
       mzHist.put(charge, histogram);
     }
     for (int pos = 0; pos < mzData.getDoubleArray().length; pos++) {
       // for (double value : mzData.getDoubleArray()) {
       double value = mzData.getDoubleArray()[pos];
       int bin = (int) Math.round(value / MZHistogramChartSpectra.BIN_SIZE);
       double intensityValue = intensity.getDoubleArray()[pos];
       if (histogram.containsKey(bin)) {
         histogram.put(bin, histogram.get(bin) + intensityValue);
       } else {
         histogram.put(bin, intensityValue);
       }
     }
   } catch (SpectrumDataException e) {
     // Do NOT take into account this spectrum because it has not precursor charge
   }
 }
  /**
   * Process the intensity data and set the peaks histogram and the intensity histogram
   *
   * @param intensity the intensity peaks data
   */
  private void processSpectrumIntensityData(PeakList intensity) {
    double[] intensityArray = intensity.getDoubleArray();

    int bin = intensityArray.length;
    if (peaksHist.containsKey(bin)) peaksHist.put(bin, peaksHist.get(bin) + 1);
    else peaksHist.put(bin, 1);

    SpectrumData spectrum = getOrCreateSpectrum(intensity.getSpectrumID().toString());
    Map<Integer, Integer> intensityHist;
    if (spectrum.isIdentified()) {
      intensityHist = intensityIdentifiedHist;
    } else {
      intensityHist = intensityUnidentifiedHist;
    }

    for (double value : intensityArray) {
      bin = (int) Math.round(value / 5.0);
      if (intensityHist.containsKey(bin)) {
        intensityHist.put(bin, intensityHist.get(bin) + 1);
      } else {
        intensityHist.put(bin, 1);
      }
    }
  }