code: def register_sensor(self, child):
          
          child_name = self._get_sensor_reference(child)
          if child_name in self._registered_sensors:
              raise ValueError("Sensor %r already registered with aggregate"
                               " tree" % child)
          self._registered_sensors[child_name] = child
          completed = []
          for parent, (_rule, names, sensors) in \
                  self._incomplete_aggregates.iteritems():
              if child_name in names:
                  names.remove(child_name)
                  sensors.add(child)
                  if not names:
                      completed.append(parent)
          for parent in completed:
              rule_function, _names, sensors = \
                  self._incomplete_aggregates[parent]
              del self._incomplete_aggregates[parent]
              self.add(parent, rule_function, sensors)
docs: Register a sensor required by an aggregate sensor registered with
          add_delayed.
  
          Parameters
          ----------
          child : :class:`katcp.Sensor` object
              A child sensor required by one or more delayed aggregate sensors.