<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def setcal(self, cal, cal_error, offset, offset_err, data_type):
 """Set the dataset calibration coefficients. Args:: cal the calibraton factor (attribute 'scale_factor') cal_error calibration factor error (attribute 'scale_factor_err') offset offset value (attribute 'add_offset') offset_err offset error (attribute 'add_offset_err') data_type data type of the values resulting from applying the calibration formula to the dataset values (one of the SDC.xxx constants) (attribute 'calibrated_nt') Returns:: None See method 'getcal' for the definition of the calibration formula. Calibration coefficients are part of the so-called standard SDS attributes. Calling 'setcal' is equivalent to setting the following attributes, which correspond to the method parameters, in order:: scale_factor, scale_factor_err, add_offset, add_offset_err, calibrated_nt C library equivalent: SDsetcal """


        status = _C.SDsetcal(self._id, cal, cal_error,
                             offset, offset_err, data_type)
        _checkErr('setcal', status, 'cannot execute')