  subroutine set_fringe_inflector_params(lat,nbranch, inflector_angle, DeltaB_onB)
  use bmad
  use muon_mod
  use parameters_bmad
  implicit none
  
  type (lat_struct) lat
!  type (branch_struct), pointer:: branch ! ring
  type (ele_struct), pointer :: slave_ele, g2_ele, inf_ele, fringe_ele
  type(ele_pointer_struct), allocatable:: eles(:)

  integer i
  integer ix
  integer nbranch
  integer n_loc

  real(rp) DeltaB_onB
  real(rp) inflector_angle

  logical err

!scale inflector grid

call lat_ele_locator('FRINGE', lat, eles, n_loc, err)
fringe_ele => eles(1)%ele
fringe_ele%grid_field(1)%field_scale = fringe_ele%grid_field(1)%field_scale*(1.+DeltaB_onB)
print *,'fringe_ele%grid_field(1)%field_scale = ', fringe_ele%grid_field(1)%field_scale 
  
call lat_ele_locator('INFLECTOR', lat, eles, n_loc, err)
inf_ele => eles(1)%ele
print *, 'inf_ele%grid_field(1)%field_scale = ',  inf_ele%grid_field(1)%field_scale
inf_ele%grid_field(1)%field_scale = -inflector_field
call set_flags_for_changed_attribute(inf_ele, inf_ele%grid_field(1)%field_scale)

 call lat_ele_locator('G2', lat, eles, n_loc, err)
 g2_ele => eles(1)%ele
 g2_ele%value(x_pitch$) = inflector_angle
 g2_ele%value(x_offset$) = 0.
 call set_flags_for_changed_attribute(g2_ele, g2_ele%value(x_pitch$))
 call set_flags_for_changed_attribute(g2_ele, g2_ele%value(x_offset$))
 call lattice_bookkeeper(lat)

             print '(a,a,es12.4,a,es12.4)',inf_ele%name, ' inf_ele%grid_field(1)%field_scale = ', &
              inf_ele%grid_field(1)%field_scale
             print '(a,a,es12.4,a,es12.4)',g2_ele%name, ' g2_ele%value(x_pitch$) = ', &
              g2_ele%value(x_pitch$), ' g2_ele%value(x_offset$) = ', g2_ele%value(x_offset$)

            do ix = 1,inf_ele%n_slave
              slave_ele => pointer_to_slave(inf_ele,ix)
             print '(a,a,es12.4)',slave_ele%name, ' slave_ele%grid_field(1)%field_scale = ', &
              slave_ele%grid_field(1)%field_scale
           end do
            do ix = 1,g2_ele%n_slave
              slave_ele => pointer_to_slave(g2_ele,ix)
             print '(a,a,es12.4,a,es12.4)',slave_ele%name, ' slave_ele%value(x_pitch_tot$) = ', &
              slave_ele%value(x_pitch_tot$), ' slave_ele%value(x_offset_tot$) = ', slave_ele%value(x_offset_tot$)
           end do
        print *

 return
end

