DatabaseTopologicalFamily

class lsst.daf.butler.DatabaseTopologicalFamily(name: str, space: lsst.daf.butler.core._topology.TopologicalSpace, *, members: lsst.daf.butler.core.named.NamedValueAbstractSet[lsst.daf.butler.core.dimensions._elements.DimensionElement][lsst.daf.butler.core.dimensions._elements.DimensionElement])

Bases: lsst.daf.butler.TopologicalFamily

A TopologicalFamily implementation for the DatabaseDimension and DatabaseDimensionCombination objects that have direct database representations.

Parameters:
name : str

Name of the family.

space : TopologicalSpace

Space in which this families regions live.

members : NamedValueAbstractSet [ DimensionElement ]

The members of this family, ordered according to the priority used in choose (first-choice member first).

Attributes Summary

governor The GovernorDimension common to all members of this family (GovernorDimension).

Methods Summary

choose(endpoints) Select the best member of this family to use in a query join or data ID when more than one is present.

Attributes Documentation

governor

The GovernorDimension common to all members of this family (GovernorDimension).

Methods Documentation

choose(endpoints: lsst.daf.butler.core.named.NamedValueAbstractSet[lsst.daf.butler.core._topology.TopologicalRelationshipEndpoint][lsst.daf.butler.core._topology.TopologicalRelationshipEndpoint]) → lsst.daf.butler.core.dimensions._elements.DimensionElement

Select the best member of this family to use in a query join or data ID when more than one is present.

Usually this should correspond to the most fine-grained region.

Parameters:
endpoints : NamedValueAbstractSet [TopologicalRelationshipEndpoint]

Endpoints to choose from. May include endpoints that are not members of this family (which should be ignored).

Returns:
best : TopologicalRelationshipEndpoint

The best endpoint that is both a member of self and in endpoints.