Source code for pyfeyn2.types

import logging
from typing import List

import cssutils

cssutils.log.setLevel(logging.CRITICAL)

default_sheet = cssutils.parseString(
    """
        /* General */
        [type=fermion] {
            line: fermion;
        }
        [type=boson] {
            line: boson;
        }
        [type=vector] {
            line: vector;
        }
        [type=scalar] {
            line: scalar;
        }
        /* SM */
        [type=photon] {
            line: photon;
        }
        [type=higgs] {
            line: higgs;
        }
        [type=gluon] {
            line: gluon;
        }
        [type=ghost] {
            line: ghost;
        }
        /* BSM */
        [type=graviton] {
            line: graviton;
        }
        [type=gluino] {
            line: gluino;
        }
        [type=squark]  {
            line: squark;
        }
        [type=slepton] {
            line: slepton;
        }
        [type=gaugino] {
            line: gaugino;
        }
        [type=neutralino] {
            line: neutralino;
        }
        [type=chargino] {
            line: chargino;
        }
        [type=higgsino] {
            line: higgsino;
        }
        [type=gravitino] {
            line: gravitino;
        }
        /* util */
        [type=phantom] {
            line: phantom;
        }
        """
)


[docs]def get_default_sheet() -> cssutils.css.CSSStyleSheet: """Return the default sheet.""" return default_sheet
[docs]def get_types() -> List[str]: """Return the default types.""" ret = [] for rule in default_sheet: if rule.type == rule.STYLE_RULE: ret += [rule.selectorText[1:]] return sorted(ret)