parameters: (self, state, r_min = 60, r_max = 280, max_iter = 20, x_start = 0.0, y_start = 0.0,
                   tolerance = 1.251e-4, find_direction = FindDirectionEnum.ALL, reduction_method = True, verbose=False,
                   component=DetectorType.LAB)
docstring: This is the start of the beam centre finder algorithm.
  
          :param state: This is a sans state, to find the beam centre for.
          :param r_min: This is the inner radius of the quartile mask in mm.
          :param r_max: This is the outer radius of the quartile mask in mm.
          :param max_iter: This is the maximum number of iterations.
          :param x_start: This is the starting position of the search on the x axis in metres or degrees.
          :param y_start: This is the starting position of the search on the y axis in metres.
          :param tolerance: This is the tolerance for the search.
          :param fine_direction: This is an enumerator controlling which axis or both should be searched.
          :param reduction_method: This is a bool controlling which centre finder algorithm to use. By default the
          reduction method is used.
docstring_summary: This is the start of the beam centre finder algorithm.
docstring_tokens: This is the start of the beam centre finder algorithm .
function: def __call__(self, state, r_min = 60, r_max = 280, max_iter = 20, x_start = 0.0, y_start = 0.0,
                   tolerance = 1.251e-4, find_direction = FindDirectionEnum.ALL, reduction_method = True, verbose=False,
                   component=DetectorType.LAB):
          """
          This is the start of the beam centre finder algorithm.
  
          :param state: This is a sans state, to find the beam centre for.
          :param r_min: This is the inner radius of the quartile mask in mm.
          :param r_max: This is the outer radius of the quartile mask in mm.
          :param max_iter: This is the maximum number of iterations.
          :param x_start: This is the starting position of the search on the x axis in metres or degrees.
          :param y_start: This is the starting position of the search on the y axis in metres.
          :param tolerance: This is the tolerance for the search.
          :param fine_direction: This is an enumerator controlling which axis or both should be searched.
          :param reduction_method: This is a bool controlling which centre finder algorithm to use. By default the
          reduction method is used.
          """
          self.validate_inputs(state, r_min, r_max, max_iter, x_start, y_start, tolerance)
  
          if reduction_method:
              return self._execute_reduction_method(state, r_min, r_max, max_iter, x_start, y_start, tolerance,
                                                    find_direction, verbose, component)
          else:
              return self._execute_mass_method(state, r_min, max_iter, x_start, y_start, tolerance, component)
function_tokens: def __call__ ( self , state , r_min = 60 , r_max = 280 , max_iter = 20 , x_start = 0.0 , y_start = 0.0 , tolerance = 1.251e-4 , find_direction = FindDirectionEnum . ALL , reduction_method = True , verbose = False , component = DetectorType . LAB ) : self . validate_inputs ( state , r_min , r_max , max_iter , x_start , y_start , tolerance ) if reduction_method : return self . _execute_reduction_method ( state , r_min , r_max , max_iter , x_start , y_start , tolerance , find_direction , verbose , component ) else : return self . _execute_mass_method ( state , r_min , max_iter , x_start , y_start , tolerance , component )