class IonizationPotentialTool {

    public static double predictIP(IAtomContainer container, IAtom atom) throws CDKException {
        double value = 0;

        // at least one lone pair orbital is necessary to ionize
        if (container.getConnectedLonePairsCount(atom) == 0) return value;

        // control if the IAtom belongs in some family
        if (familyHalogen(atom))
            value = getDTHalogenF(getQSARs(container, atom));
        else if (familyOxygen(atom))
            value = getDTOxygenF(getQSARs(container, atom));
        else if (familyNitrogen(atom)) value = getDTNitrogenF(getQSARs(container, atom));

        return value;
    }

}