uvw_to_xyz Subroutine

public subroutine uvw_to_xyz(uvw, xyz)

Convert machine coordinate uvw to beam coordinate xyz

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(3):: uvw
real(kind=Float64), intent(out), dimension(3):: xyz

Called by

proc~~uvw_to_xyz~~CalledByGraph proc~uvw_to_xyz uvw_to_xyz proc~read_npa read_npa proc~read_npa->proc~uvw_to_xyz proc~convert_sightline_to_xyz convert_sightline_to_xyz proc~convert_sightline_to_xyz->proc~uvw_to_xyz proc~read_mc read_mc proc~read_mc->proc~uvw_to_xyz proc~pnpa_mc pnpa_mc proc~pnpa_mc->proc~uvw_to_xyz proc~get_plasma get_plasma proc~pnpa_mc->proc~get_plasma proc~get_fields get_fields proc~pnpa_mc->proc~get_fields proc~attenuate attenuate proc~pnpa_mc->proc~attenuate proc~store_npa store_npa proc~pnpa_mc->proc~store_npa proc~read_chords read_chords proc~read_chords->proc~uvw_to_xyz proc~get_plasma->proc~uvw_to_xyz proc~get_position get_position proc~get_plasma->proc~get_position proc~store_photons store_photons proc~store_photons->proc~uvw_to_xyz proc~store_photons->proc~get_fields proc~cyl_to_xyz cyl_to_xyz proc~cyl_to_xyz->proc~uvw_to_xyz proc~get_fields->proc~uvw_to_xyz proc~get_fields->proc~get_position proc~read_beam read_beam proc~read_beam->proc~uvw_to_xyz proc~npa_mc npa_mc proc~npa_mc->proc~uvw_to_xyz proc~npa_mc->proc~get_fields proc~npa_mc->proc~attenuate proc~npa_mc->proc~store_npa proc~fida_mc fida_mc proc~fida_mc->proc~uvw_to_xyz proc~fida_mc->proc~get_plasma proc~fida_mc->proc~get_fields proc~store_fida_photons store_fida_photons proc~fida_mc->proc~store_fida_photons proc~track track proc~fida_mc->proc~track proc~dcx_spec dcx_spec proc~dcx_spec->proc~get_plasma proc~dcx_spec->proc~store_photons proc~store_fida_photons->proc~store_photons proc~mc_fastion_pass_grid mc_fastion_pass_grid proc~mc_fastion_pass_grid->proc~get_fields proc~get_distribution get_distribution proc~mc_fastion_pass_grid->proc~get_distribution proc~dcx dcx proc~dcx->proc~get_plasma proc~dcx->proc~store_photons proc~dcx->proc~track proc~pnpa_f pnpa_f proc~pnpa_f->proc~get_plasma proc~pnpa_f->proc~mc_fastion_pass_grid proc~pnpa_f->proc~attenuate proc~pnpa_f->proc~store_npa proc~track->proc~get_plasma proc~track->proc~get_fields proc~attenuate->proc~get_plasma proc~halo_spec halo_spec proc~halo_spec->proc~get_plasma proc~halo_spec->proc~store_photons proc~pfida_mc pfida_mc proc~pfida_mc->proc~get_plasma proc~pfida_mc->proc~get_fields proc~pfida_mc->proc~store_fida_photons proc~track_cylindrical track_cylindrical proc~pfida_mc->proc~track_cylindrical proc~npa_weights npa_weights proc~npa_weights->proc~get_fields proc~npa_weights->proc~attenuate proc~get_ep_denf get_ep_denf proc~npa_weights->proc~get_ep_denf proc~read_distribution read_distribution proc~read_distribution->proc~read_mc proc~neutron_f neutron_f proc~neutron_f->proc~get_plasma proc~neutron_f->proc~get_fields proc~store_fw_photons store_fw_photons proc~store_fw_photons->proc~get_fields proc~make_diagnostic_grids make_diagnostic_grids proc~make_diagnostic_grids->proc~get_fields proc~make_diagnostic_grids->proc~track proc~make_diagnostic_grids->proc~track_cylindrical proc~fida_f fida_f proc~fida_f->proc~get_plasma proc~fida_f->proc~store_fida_photons proc~fida_f->proc~track proc~mc_fastion mc_fastion proc~fida_f->proc~mc_fastion proc~track_cylindrical->proc~get_plasma proc~track_cylindrical->proc~get_fields proc~cfpd_f cfpd_f proc~cfpd_f->proc~convert_sightline_to_xyz proc~cfpd_f->proc~get_plasma proc~cfpd_f->proc~get_fields proc~cfpd_f->proc~get_ep_denf proc~neutron_mc neutron_mc proc~neutron_mc->proc~get_plasma proc~neutron_mc->proc~get_fields proc~store_nbi_photons store_nbi_photons proc~store_nbi_photons->proc~store_photons proc~cold_spec cold_spec proc~cold_spec->proc~get_plasma proc~cold_spec->proc~store_photons proc~npa_f npa_f proc~npa_f->proc~get_plasma proc~npa_f->proc~attenuate proc~npa_f->proc~mc_fastion proc~npa_f->proc~store_npa proc~pfida_f pfida_f proc~pfida_f->proc~get_plasma proc~pfida_f->proc~store_fida_photons proc~pfida_f->proc~mc_fastion_pass_grid proc~pfida_f->proc~track_cylindrical proc~mc_fastion->proc~get_fields proc~mc_fastion->proc~get_distribution program~fidasim fidasim program~fidasim->proc~read_npa program~fidasim->proc~pnpa_mc program~fidasim->proc~read_chords program~fidasim->proc~read_beam program~fidasim->proc~npa_mc program~fidasim->proc~fida_mc program~fidasim->proc~dcx_spec program~fidasim->proc~dcx program~fidasim->proc~pnpa_f program~fidasim->proc~halo_spec program~fidasim->proc~pfida_mc program~fidasim->proc~npa_weights program~fidasim->proc~read_distribution program~fidasim->proc~neutron_f program~fidasim->proc~make_diagnostic_grids program~fidasim->proc~fida_f program~fidasim->proc~cfpd_f program~fidasim->proc~neutron_mc program~fidasim->proc~cold_spec program~fidasim->proc~npa_f program~fidasim->proc~pfida_f proc~ndmc ndmc program~fidasim->proc~ndmc proc~bremsstrahlung bremsstrahlung program~fidasim->proc~bremsstrahlung proc~halo halo program~fidasim->proc~halo proc~fida_weights_mc fida_weights_mc program~fidasim->proc~fida_weights_mc proc~nbi_spec nbi_spec program~fidasim->proc~nbi_spec proc~fida_weights_los fida_weights_los program~fidasim->proc~fida_weights_los proc~ndmc->proc~get_plasma proc~ndmc->proc~get_fields proc~ndmc->proc~track proc~ndmc->proc~store_nbi_photons proc~bremsstrahlung->proc~get_plasma proc~get_position->proc~cyl_to_xyz proc~store_npa->proc~get_fields proc~halo->proc~get_plasma proc~halo->proc~store_photons proc~halo->proc~track proc~fida_weights_mc->proc~get_plasma proc~fida_weights_mc->proc~get_fields proc~fida_weights_mc->proc~track proc~fida_weights_mc->proc~store_fw_photons proc~fida_weights_mc->proc~get_ep_denf proc~nbi_spec->proc~store_photons proc~fida_weights_los->proc~get_plasma proc~fida_weights_los->proc~get_fields proc~fida_weights_los->proc~track proc~fida_weights_los->proc~get_ep_denf proc~get_distribution->proc~get_position proc~get_ep_denf->proc~get_position

Contents

Source Code


Source Code

subroutine uvw_to_xyz(uvw,xyz)
    !+ Convert machine coordinate `uvw` to beam coordinate `xyz`
    real(Float64), dimension(3), intent(in)  :: uvw
    real(Float64), dimension(3), intent(out) :: xyz

    real(Float64), dimension(3) :: origin, uvw_p
    real(Float64), dimension(3,3) :: basis

    origin = beam_grid%origin
    basis = beam_grid%inv_basis
    uvw_p = uvw - origin
    xyz = matmul(basis,uvw_p)

end subroutine uvw_to_xyz