docs: def parseScan(self, scan):
          """
          All input follows the BEGIN IONS row and ends before END IONS
          """
          setupScan = True
          foundCharge = False
          foundMass = False
          foundTitle = False
          scanObj = ScanObject()
          scanObj.ms_level = 2
          for row in scan.split('\n'):
              if not row:
                  continue
              entry = row.strip().split('=')
              if len(entry) >= 2:
                  if entry[0] == 'PEPMASS':
                      scanObj.mass = float(entry[1])
                      foundMass = True
                  elif entry[0] == 'CHARGE':
                      scanObj.charge = entry[1]
                      foundCharge = True
                  elif entry[0] == 'TITLE':
  #                    if self.titleMap:
  #                        pos = entry[1].find(',')
  #                        title = self.titleMap[int(entry[1][:entry[1].find(',')])]
  #                    else:
                      title = '='.join(entry[1:])
                      foundTitle = True
                      scanObj.title = title
                      scanObj.id = title
                  elif entry[0] == 'RTINSECONDS':
                      scanObj.rt = float(entry[1])
              else:
                  mz,intensity = self.scanSplit.split(row.strip())
                  scanObj.scans.append((float(mz),float(intensity)))
          if foundCharge and foundMass and foundTitle:
              return scanObj
          return None