<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def register_halfmaxes(self, telescope, band, lower, upper):
 """Register precomputed half-max points."""


        if (telescope, band) in self._halfmaxes:
            raise AlreadyDefinedError('half-max points for %s/%s already '
                                      'defined', telescope, band)
        self._note(telescope, band)
        self._halfmaxes[telescope,band] = (lower, upper)
        return self