To see how that works, we put an aperture in the example program 10, we see at 10 the calls
call put_an_aperture(.002d0,0.001d0) call remove_temporarily_an_aperture call Track_and_test_aperture
And we call the subroutine Track_and_test_aperture 10.5. This subroutine has the following input:
call put_back_an_aperture write(6,*) "aperture => True or false " read(5,*) aperture_flag write(6,*) " Check_madx_aperture (magnet aperture) => True or false " read(5,*) check_madx_aperture write(6,*) " Give value of the absolute_aperture " read(5,*) absolute_aperture WRITE(6,*) " GIVE A 'BIG' INITIAL VALUE (ONE NUMBER) FOR X(1:6)= R (example 0.1) " READ(5,*) R
The reader can check his understanding of the code by inputing values of the absolute_aperture and R either much bigger or much smaller than the arguments of put_an_aperture,--0.002 and 0.001 at the moment.
Some important points: