code: def zero_pad_data_extend(self, job_data_seg, curr_seg):
          
          if self.zero_padding is False:
              return job_data_seg
          else:
              start_pad = int(self.get_opt( 'segment-start-pad'))
              end_pad = int(self.get_opt('segment-end-pad'))
              new_data_start = max(curr_seg[0], job_data_seg[0] - start_pad)
              new_data_end = min(curr_seg[1], job_data_seg[1] + end_pad)
              new_data_seg = segments.segment([new_data_start, new_data_end])
              return new_data_seg
docs: When using zero padding, *all* data is analysable, but the setup
          functions must include the padding data where it is available so that
          we are not zero-padding in the middle of science segments. This
          function takes a job_data_seg, that is chosen for a particular node
          and extends it with segment-start-pad and segment-end-pad if that
          data is available.