# Path: sloth/groups/baseh5.py
# class EntryGroup(BaseGroup):
#     """Generic group entry in the tree structure
# 
#     .. note:: This is equivalent to :class:`silx.io.spech5.ScanGroup`
# 
#     """
# 
#     def __init__(self, name, parent=None, attrs=None, logger=None):
#         """Constructor: simply adding default NXentry class"""
#         _attrs = {"NX_class": "NXentry"}
#         if attrs is not None:
#             attrs.update(_attrs)
#         else:
#             attrs = _attrs
#         super(EntryGroup, self).__init__(
#             name, parent=parent, attrs=attrs, logger=logger
#         )
# 
# Path: sloth/groups/baseh5.py
# class BaseDataset(commonh5.Dataset):
#     """Base dataset used to insert data in a group"""
# 
#     def __init(self, name, data, parent=None, attrs=None):
#         """Constructor simply adding default NXdata class"""
#         _attrs = {"NX_class": "NXdata"}
#         if attrs is not None:
#             attrs.update(_attrs)
#         else:
#             attrs = _attrs
#         super(BaseDataset, self).__init__(name, data, parent=parent, attrs=attrs)
# 
#     def __str__(self, level=0):
#         """Dataset representation"""
#         ret = f"{'|'*level}----{self.basename}\n"
#         return ret


from .baseh5 import EntryGroup
from .baseh5 import BaseDataset

- The scan is the base thing. It is composed of:

    - *axes*: single or multiple variables changed over time, like a set of
        motors following a trajectory
            *type*: 1D arrays, all the same shape

    - *signals*: signals read by detectors during movent of the axes or
        generated by analysis, that is, for each point in the axes, corresponds
        a point in the signals. Differently that axes, signals may refer to
        multi-dimensional data like images or MCA datasets
            *type*: 1D, 2D or ND arrays for each element in axes

    - *scalars*: key-value type data (0D) not changing over the scan shape.


BaseScan
--------


"""


class Axis(BaseDataset):
    """Axis"""

    def __init__(self):
        pass



# Path: sloth/groups/baseh5.py
# class EntryGroup(BaseGroup):
#     """Generic group entry in the tree structure
# 
#     .. note:: This is equivalent to :class:`silx.io.spech5.ScanGroup`
# 
#     """
# 
#     def __init__(self, name, parent=None, attrs=None, logger=None):
#         """Constructor: simply adding default NXentry class"""
#         _attrs = {"NX_class": "NXentry"}
#         if attrs is not None:
#             attrs.update(_attrs)
#         else:
#             attrs = _attrs
#         super(EntryGroup, self).__init__(
#             name, parent=parent, attrs=attrs, logger=logger
#         )
# 
# Path: sloth/groups/baseh5.py
# class BaseDataset(commonh5.Dataset):
#     """Base dataset used to insert data in a group"""
# 
#     def __init(self, name, data, parent=None, attrs=None):
#         """Constructor simply adding default NXdata class"""
#         _attrs = {"NX_class": "NXdata"}
#         if attrs is not None:
#             attrs.update(_attrs)
#         else:
#             attrs = _attrs
#         super(BaseDataset, self).__init__(name, data, parent=parent, attrs=attrs)
# 
#     def __str__(self, level=0):
#         """Dataset representation"""
#         ret = f"{'|'*level}----{self.basename}\n"
#         return ret


# Path: sloth/groups/base_scan.py
from .baseh5 import EntryGroup
from .baseh5 import BaseDataset


- The scan is the base thing. It is composed of:

    - *axes*: single or multiple variables changed over time, like a set of
        motors following a trajectory
            *type*: 1D arrays, all the same shape

    - *signals*: signals read by detectors during movent of the axes or
        generated by analysis, that is, for each point in the axes, corresponds
        a point in the signals. Differently that axes, signals may refer to
        multi-dimensional data like images or MCA datasets
            *type*: 1D, 2D or ND arrays for each element in axes

    - *scalars*: key-value type data (0D) not changing over the scan shape.


BaseScan
--------


"""


class Axis(BaseDataset):
    """Axis"""

    def __init__(self):
        pass



class Signal(BaseDataset):