code: public double calculateSigmaElectronegativity(IAtomContainer ac, IAtom atom, int maxIterations, int maxResonStruc) {
          maxI = maxIterations;
          maxRS = maxResonStruc;
  
          double electronegativity = 0;
  
          try {
              if (!ac.equals(acOldS)) {
                  molSigma = ac.getBuilder().newInstance(IAtomContainer.class, ac);
                  peoe.setMaxGasteigerIters(maxI);
                  peoe.assignGasteigerMarsiliSigmaPartialCharges(molSigma, true);
                  marsiliFactors = peoe.assignGasteigerSigmaMarsiliFactors(molSigma);
  
                  acOldS = ac;
              }
              int stepSize = peoe.getStepSize();
              int atomPosition = ac.indexOf(atom);
              int start = (stepSize * (atomPosition) + atomPosition);
  
              electronegativity = ((marsiliFactors[start])
                      + (molSigma.getAtom(atomPosition).getCharge() * marsiliFactors[start + 1]) + (marsiliFactors[start + 2] * ((molSigma
                      .getAtom(atomPosition).getCharge() * molSigma.getAtom(atomPosition).getCharge()))));
              return electronegativity;
  
          } catch (Exception e) {
              logger.error(e);
          }
  
          return electronegativity;
      }
docs: calculate the electronegativity of orbitals sigma.
  
  @param ac                    IAtomContainer
  @param atom                  atom for which effective atom electronegativity should be calculated
  @param maxIterations         The maximal number of Iterations
  @param maxResonStruc         The maximal number of Resonance Structures
  
  @return piElectronegativity