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])

Bases: lsst.daf.butler.TopologicalFamily

Database topological family implementation.

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 family’s 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 Return GovernorDimension common to all members of this family.

Methods Summary

choose(endpoints) Select the best member of this family to use.

Attributes Documentation

governor

Return 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.dimensions._elements.DimensionElement

Select the best member of this family to use.

These are to be used 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.