def minEdge(elm):
    """Example:  minEdge("Ag")
   Returns the lowest energy edge which is likely to be visible in an 
   EDS detector for the specified element"""
    elm = dtsa2.element(elm)
    if elm.getAtomicNumber() >= MinMElement:
        res = epq.AtomicShell(elm, epq.AtomicShell.MV)
    elif elm.getAtomicNumber() >= MinLElement:
        res = epq.AtomicShell(elm, epq.AtomicShell.LIII)
    else:
        res = epq.AtomicShell(elm, epq.AtomicShell.K)
    return res
def maxEdge(elm, e0, over=1.5):
    """Example:  maxEdge("Ag", 20.0, 1.5)
   Returns the highest energy edge which is excited with the overvoltage
   specified (1.5) for the specified beam energy (20.0)."""
    elm = dtsa2.element(elm)
    e0 = epq.ToSI.keV(e0)
    res = None
    if elm.getAtomicNumber() > MinMElement:
        sh = epq.AtomicShell.MV
        if epq.AtomicShell.getEdgeEnergy(elm, sh) * over <= e0:
            res = epq.AtomicShell(elm, sh)
    if elm.getAtomicNumber() > MinLElement:
        sh = epq.AtomicShell.LIII
        if epq.AtomicShell.getEdgeEnergy(elm, sh) * over <= e0:
            res = epq.AtomicShell(elm, sh)
    sh = epq.AtomicShell.K
    if epq.AtomicShell.getEdgeEnergy(elm, sh) * over <= e0:
        res = epq.AtomicShell(elm, sh)
    return res