@spiceErrorCheck<EOL>def gfevnt(udstep, udrefn, gquant, qnpars, lenvals, qpnams,<EOL>qcpars, qdpars, qipars, qlpars, op, refval,<EOL>tol, adjust, rpt, udrepi, udrepu, udrepf,<EOL>nintvls, bail, udbail, cnfine, result=None):
assert isinstance(cnfine, stypes.SpiceCell)<EOL>assert cnfine.is_double()<EOL>if result is None:<EOL><INDENT>result = stypes.SPICEDOUBLE_CELL(<NUM_LIT>)<EOL><DEDENT>else:<EOL><INDENT>assert isinstance(result, stypes.SpiceCell)<EOL>assert result.is_double()<EOL><DEDENT>gquant  = stypes.stringToCharP(gquant)<EOL>qnpars  = ctypes.c_int(qnpars)<EOL>lenvals = ctypes.c_int(lenvals)<EOL>qpnams  = stypes.listToCharArrayPtr(qpnams, xLen=lenvals, yLen=qnpars)<EOL>qcpars  = stypes.listToCharArrayPtr(qcpars, xLen=lenvals, yLen=qnpars)<EOL>qdpars  = stypes.toDoubleVector(qdpars)<EOL>qipars  = stypes.toIntVector(qipars)<EOL>qlpars  = stypes.toIntVector(qlpars)<EOL>op      = stypes.stringToCharP(op)<EOL>refval  = ctypes.c_double(refval)<EOL>tol     = ctypes.c_double(tol)<EOL>adjust  = ctypes.c_double(adjust)<EOL>rpt     = ctypes.c_int(rpt)<EOL>nintvls = ctypes.c_int(nintvls)<EOL>bail    = ctypes.c_int(bail)<EOL>libspice.gfevnt_c(udstep, udrefn, gquant, qnpars, lenvals, qpnams, qcpars,<EOL>qdpars, qipars, qlpars, op, refval, tol,<EOL>adjust, rpt, udrepi, udrepu, udrepf, nintvls, bail,<EOL>udbail, ctypes.byref(cnfine), ctypes.byref(result))<EOL>return result<EOL>
Determine time intervals when a specified geometric quantity
satisfies a specified mathematical condition.

http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/gfevnt_c.html

:param udstep: Name of the routine that computes and returns a
:type udstep: spiceypy.utils.callbacks.UDSTEP
:param udrefn: Name of the routine that computes a refined time
:type udrefn: spiceypy.utils.callbacks.UDREFN
:param gquant: Type of geometric quantity
:type gquant: str
:param qnpars: Number of quantity definition parameters
:type qnpars: int
:param lenvals: Length of strings in qpnams and qcpars
:type lenvals: int
:param qpnams: Names of quantity definition parameters
:type qpnams: List
:param qcpars: Array of character quantity definition parameters
:type qcpars: List
:param qdpars: Array of double precision quantity definition
:type qdpars: N-Element Array of floats
:param qipars: Array of integer quantity definition parameters
:type qipars: N-Element Array of str
:param qlpars: Array of logical quantity definition parameters
:type qlpars: N-Element Array of int
:param op: Operator that either looks for an extreme value
:type op: str
:param refval: Reference value
:type refval: float
:param tol: Convergence tolerance in seconds
:type tol: float
:param adjust: Absolute extremum adjustment value
:type adjust: float
:param rpt: Progress reporter on TRUE or off FALSE
:type rpt: int
:param udrepi: Function that initializes progress reporting
:type udrepi: spiceypy.utils.callbacks.UDREPI
:param udrepu: Function that updates the progress report
:type udrepu: spiceypy.utils.callbacks.UDREPU
:param udrepf: Function that finalizes progress reporting
:type udrepf: spiceypy.utils.callbacks.UDREPF
:param nintvls: Workspace window interval count
:type nintvls: int
:param bail: Logical indicating program interrupt monitoring
:type bail: int
:param udbail: Name of a routine that signals a program interrupt
:type udbail: spiceypy.utils.callbacks.UDBAIL
:param cnfine: SPICE window to which the search is restricted
:type cnfine: spiceypy.utils.support_types.SpiceCell
:param result: Optional SPICE window containing results
:type result: spiceypy.utils.support_types.SpiceCell