subroutine read_xbsm_map(detector,bunches, turns, adc) implicit none character*4 detector integer adc(0:31,0:4096, 183), turns, bunches integer adc_temp(0:31,0:4096,183) integer i,j integer tempdat(0:31) if(index(detector,'3C-2')/=0 .or. index(detector,'3C-4')/= 0)then !3CV1Map tempdat(5) =0 tempdat(11) =1 tempdat(14) =2 tempdat(0) =3 tempdat(13) =4 tempdat(3) =5 tempdat(6) =6 tempdat(8) =7 tempdat(4) =8 tempdat(10) =9 tempdat(15) =10 tempdat(1) =11 tempdat(12) =12 tempdat(2) =13 tempdat(7) =14 tempdat(9) =15 tempdat(31) =16 tempdat(17) =17 tempdat(20) =18 tempdat(26) =19 tempdat(23) =20 tempdat(25) =21 tempdat(28) =22 tempdat(18) =23 tempdat(30) =24 tempdat(16) =25 tempdat(21) =26 tempdat(27) =27 tempdat(22) =28 tempdat(24) =29 tempdat(29) =30 tempdat(19) =31 print '(a)',' Detector '//detector//'. Use 3CV1 map.' endif if(index(detector,'3C-3')/=0 .or. index(detector,'3C-1')/= 0)then !3CV2 Map ! newList = [0 for i in range(nDiodes)] tempdat(11) =0 tempdat(5) =1 tempdat(0) =2 tempdat(14) =3 tempdat(3) =4 tempdat(13) =5 tempdat(8)= 6 tempdat(6)= 7 tempdat(10)= 8 tempdat(4)= 9 tempdat(1)=10 tempdat(15)=11 tempdat(2)=12 tempdat(12)=13 tempdat(9)=14 tempdat(7)=15 tempdat(17)=16 tempdat(31)=17 tempdat(26)=18 tempdat(20)=19 tempdat(25)=20 tempdat(23)=21 tempdat(18)=22 tempdat(28)=23 tempdat(16)=24 tempdat(30)=25 tempdat(27)=26 tempdat(21)=27 tempdat(24)=28 tempdat(22)=29 tempdat(19)=30 tempdat(29)=31 print '(a)',' Detector '//detector//'. Use 3CV2 map.' endif if(index(detector,'3A')/= 0) then !3A Map ! newList = [0 for i in range(nDiodes)] tempdat(12)= 0 tempdat(2)= 1 tempdat(4)= 2 tempdat(10)= 3 tempdat(13)= 4 tempdat(3)= 5 tempdat(5)= 6 tempdat(11)= 7 tempdat(14)= 8 tempdat(0)= 9 tempdat(6)=10 tempdat(8)=11 tempdat(15)=12 tempdat(1)=13 tempdat(7)=14 tempdat(9)=15 tempdat(31)=16 tempdat(17)=17 tempdat(23)=18 tempdat(25)=19 tempdat(30)=20 tempdat(16)=21 tempdat(22)=22 tempdat(24)=23 tempdat(29)=24 tempdat(19)=25 tempdat(21)=26 tempdat(27)=27 tempdat(28)=28 tempdat(18)=29 tempdat(20)=30 tempdat(26)=31 print '(a)',' Detector '//detector//'. Use 3A map.' endif do i=0,31 adc_temp(tempdat(i), 0:4096,1:183) = adc(i,0:4096,1:183) end do do i=0,31 adc(i,:,:) = adc_temp(i,:,:) end do return end