Coverage for python/lsst/summit/utils/type_utils.py: 100%

35 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-04-10 05:48 -0700

1from typing import Protocol 

2 

3import pandas as pd 

4from astropy import units as u 

5 

6HAS_EFD_CLIENT = True 

7try: 

8 from lsst_efd_client import EfdClient 

9except ImportError: 

10 EfdClient = None 

11 HAS_EFD_CLIENT = False 

12 

13 

14class Event(Protocol): 

15 """TMA Event.""" 

16 

17 @property 

18 def dayObs(self) -> int: 

19 """Day of the observation.""" 

20 

21 @property 

22 def seqNum(self) -> int: 

23 """Day of the observation.""" 

24 

25 @property 

26 def version(self) -> int: 

27 """Version of the TMAEventMaker.""" 

28 

29 

30class M1M3ICSAnalysis(Protocol): 

31 """M1M3ICSAnalysis.""" 

32 

33 @property 

34 def event(self) -> Event: 

35 """Event.""" 

36 

37 @property 

38 def inner_pad(self) -> u.Quantity: 

39 """Inner pad.""" 

40 

41 @property 

42 def outer_pad(self) -> u.Quantity: 

43 """Outer pad.""" 

44 

45 @property 

46 def n_sigma(self) -> int: 

47 """Number of sigma.""" 

48 

49 @property 

50 def client(self) -> EfdClient: 

51 """EFD client.""" 

52 

53 @property 

54 def number_of_hardpoints(self) -> int: 

55 """Number of hardpoints.""" 

56 

57 @property 

58 def measured_forces_topics(self) -> list: 

59 """Measured forces topics.""" 

60 

61 @property 

62 def df(self) -> pd.DataFrame: 

63 """Dataframe.""" 

64 

65 @property 

66 def stats(self) -> pd.DataFrame: 

67 """Statistics."""