diff --git a/python/lsst/summit/testing/analysis/type_utils.py b/python/lsst/summit/testing/analysis/type_utils.py new file mode 100644 index 0000000..4882992 --- /dev/null +++ b/python/lsst/summit/testing/analysis/type_utils.py @@ -0,0 +1,57 @@ +from typing import Protocol + +import pandas as pd +from astropy import units as u +from lsst.summit.utils.efdUtils import EfdClient + + +class Event(Protocol): + @property + def dayObs(self) -> int: + """Day of the observation.""" + + @property + def seqNum(self) -> int: + """Day of the observation.""" + + @property + def version(self) -> int: + """Version of the TMAEventMaker""" + + +class M1M3ICSAnalysis(Protocol): + @property + def event(self) -> Event: + """Event""" + + @property + def inner_pad(self) -> u.Quantity: + """Inner pad""" + + @property + def outer_pad(self) -> u.Quantity: + """Outer pad""" + + @property + def n_sigma(self) -> int: + """Number of sigma""" + + @property + def client(self) -> EfdClient: + """EFD client""" + + @property + def number_of_hardpoints(self) -> int: + """Number of hardpoints""" + + @property + def measured_forces_topics(self) -> list: + """Measured forces topics""" + + @property + def df(self) -> pd.DataFrame: + """Dataframe""" + + @property + def stats(self) -> pd.DataFrame: + """Statistics"""