def METHOD_NAME(self, x): 
    x_max = x['x'] + np.square(x['v'])/(-self.parameters['g']*2) # Use speed and position to estimate maximum height
    x_max = np.where(x['v'] > 0, x['x'], x_max) # 1 until falling begins
    return {
        'falling': np.maximum(x['v']/self.parameters['throwing_speed'],0),  # Throwing speed is max speed
        'impact': np.maximum(x['x']/x_max,0)  # then it's fraction of height
    }