A system for determining the position of a movable member capable of axial movement within a range of axial positions with respect to a fixed member, the system comprising: a first magnet secured to the movable member at a first axial position and associated with a first magnetic field; a secondary magnet secured to the movable member at a secondary axial position and associated with a secondary magnetic field; a sensor assembly comprising magnetic sensors arranged in an array on the fixed member, the array extending along the direction of axial movement of the movable member and arranged in a generally linear series with each magnetic field sensor interspaced approximately a uniform amount from an adjacent magnetic field sensor in the array; a first magnetic sensor spaced apart from the sensor assembly on the fixed member such that the first magnetic sensor detects the first magnetic field of the first magnet in a first state and an absence of the first magnetic field in a second state; and a data processor programmed for determining an axial position of the moveable member based on the first magnetic field and the secondary magnetic field sensed by the sensor assembly and the first magnetic sensor, wherein the data processor is programmed to use at least one of a magnitude and an orientation of the magnetic field detected by each magnetic sensor in the sensor assembly to determine the axial position of the movable member with respect to the fixed member and to use the output of the first magnetic sensor to determine whether the axial positions detected by the sensor assembly are within a first range of axial positions or in a second range of axial positions. a first magnet secured to the movable member at a first axial position and associated with a first magnetic field; a secondary magnet secured to the movable member at a secondary axial position and associated with a secondary magnetic field; a sensor assembly comprising magnetic sensors arranged in an array on the fixed member, the array extending along the direction of axial movement of the movable member and arranged in a generally linear series with each magnetic field sensor interspaced approximately a uniform amount from an adjacent magnetic field sensor in the array; a first magnetic sensor spaced apart from the sensor assembly on the fixed member such that the first magnetic sensor detects the first magnetic field of the first magnet in a first state and an absence of the first magnetic field in a second state; and a data processor programmed for determining an axial position of the moveable member based on the first magnetic field and the secondary magnetic field sensed by the sensor assembly and the first magnetic sensor, wherein the data processor is programmed to use at least one of a magnitude and an orientation of the magnetic field detected by each magnetic sensor in the sensor assembly to determine the axial position of the movable member with respect to the fixed member and to use the output of the first magnetic sensor to determine whether the axial positions detected by the sensor assembly are within a first range of axial positions or in a second range of axial positions.