<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sincpt(method, target, et, fixref, abcorr, obsrvr, dref, dvec):
 """ Given an observer and a direction vector defining a ray, compute the surface intercept of the ray on a target body at a specified epoch, optionally corrected for light time and stellar aberration. This routine supersedes :func:`srfxpt`. http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/sincpt_c.html :param method: Computation method. :type method: str :param target: Name of target body. :type target: str :param et: Epoch in ephemeris seconds past J2000 TDB. :type et: float :param fixref: Body-fixed, body-centered target body frame. :type fixref: str :param abcorr: Aberration correction. :type abcorr: str :param obsrvr: Name of observing body. :type obsrvr: str :param dref: Reference frame of ray's direction vector. :type dref: str :param dvec: Ray's direction vector. :type dvec: 3-Element Array of floats :return: Surface intercept point on the target body, Intercept epoch, Vector from observer to intercept point. :rtype: tuple """

    method = stypes.stringToCharP(method)
    target = stypes.stringToCharP(target)
    et = ctypes.c_double(et)
    fixref = stypes.stringToCharP(fixref)
    abcorr = stypes.stringToCharP(abcorr)
    obsrvr = stypes.stringToCharP(obsrvr)
    dref = stypes.stringToCharP(dref)
    dvec = stypes.toDoubleVector(dvec)
    spoint = stypes.emptyDoubleVector(3)
    trgepc = ctypes.c_double(0)
    srfvec = stypes.emptyDoubleVector(3)
    found = ctypes.c_int(0)
    libspice.sincpt_c(method, target, et, fixref, abcorr, obsrvr, dref, dvec,
                      spoint, ctypes.byref(trgepc), srfvec, ctypes.byref(found))
    return stypes.cVectorToPython(spoint), trgepc.value, stypes.cVectorToPython(
            srfvec), bool(found.value)