Daphne Acquisition Examples Page 1 SHIELD.EHA 3 October 1990 bru start ; ; User dependent I/O configuration information ; NADC = 11 ; Camac slot of Ortec 811 ADC NOUT = 16 ; Camac slot of Jorway output ; register ; ; User written initialization routine ; Must always end with a subroutine return instruction (BRUR) ; INIT CNAF 1,NADC,12,11 ; Reset ADC BRUR ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User written main subroutine ; Invoked when an event is detected ; Must always conclude with a subroutine return instruction (BRUR) ; MAIN DLAY 1000 ; Delay 100 usec in 100 nsec units ; ; Read and out the NaI. ; CNAF 1,NADC,3,2 ; Read NaI (address 3) OUT CA1 ; Send result to fifo ; ; Read and out the front scintillator. ; CNAF 1,NADC,6,2 ; Read front scintillator (address 6) OUT CA1 ; Send result to fifo ; ; Read and out the shield. ; CNAF 1,NADC,7,2 ; Read Shield (address 7) OUT CA1 ; Send result to fifo ; ; All done. Return to the main routine. ; BRUR ; Done, return to main routine. INCLUDE DAPEH:STANDARD Daphne Acquisition Examples Page 2 SHIELD.SETUP 3 October 1990 $! $! Define 1D histograms. $! $ h1/nozero 2048 /name=nai $ h1/nozero 2048 /name=front $ h1/nozero 2048 /name=shield $! $! Define 1D maps. $! $ m1 1 nai /gain=1 /name=nai $ m1 2 front /gain=1 /name=front $ m1 3 shield /gain=1 /name=shield $! $! Define 2D histograms. $! $ h2/nozero 1024 256 /name=nai_shield $ h2/nozero 1024 256 /name=nai_fr $ h2/nozero 256 256 /name=fr_shield $! $! Define 2D maps. $! $ m2 1 3 nai_shield /xgain=2 /ygain=8 /name=nai_shield $ m2 1 2 nai_fr /xgain=2 /ygain=8 /name=nai_fr $ m2 2 3 fr_shield /xgain=8 /ygain=8 /name=fr_shield Daphne Acquisition Examples Page 3 PSD.EHA 3 October 1990 ; ; program to acquire dynode and anode signals from nai detector and produce ; psd spectra ; bru start ; ; definitions: ; dyn=11 ;dyn adc in slot 11 an=10 ;anode qdc in slot 10 ; ; initialization routine: ; init cnaf 1,dyn,12,11 ;clear adc cnaf 1,an,0,9 ;clear qdc brur ; ; main event handler: ; main dlay 1060 ;wait longest conversion time (106 USEC) cnaf 1,dyn,0,0 ;read first dyn channel out ca1 ;send to fifo cnaf 1,dyn,1,0 ;read second dyn channel out ca1 ;send to fifo cnaf 1,an,0,0 ;read first anode channel out ca1 ;send to fifo cnaf 1,an,1,0 ;read second anode channel out ca1 ;send to fifo cnaf 1,dyn,12,11 ;clear adc cnaf 1,an,0,9 ;clear qdc brur ;return ; include dapeh:standard ;add standard programming Daphne Acquisition Examples Page 4 PSD.FOR 3 October 1990 subroutine user (eventType,nWords,ev) implicit undefined (a-z) c integer*2 eventType integer*2 nWords integer*2 ev (*) c++ c {give names and order of parameters in event } c { as read-out by the Event Handler } c c eventArray=record c dyn1: word; {parameter 1 - dynode 1} c dyn2: word; {parameter 2 - dynode 2} c an1: word; {parameter 3 - anode 1} c an2: word; {parameter 4 - anode 2} c c-- integer*2 dyn1,dyn2,an1,an2 parameter (dyn1 =1) parameter (dyn2 =2) parameter (an1 =3) parameter (an2 =4) c real temp c c {allocate space for up to 30 pseudo-parameters } c {the pseudo-parameters are placed in the "pEV" } c { which is then used by the sorting routines } c integer*2 pev (30) c if (ev(an1) .ne. 0) then temp=(ev(an2)/ev(an1) - 0.50) * 4000.0 if (temp .gt. 2048.0) temp=2048.0 if (temp .lt. 0.0) temp=0.0 pev(1)=temp else pev(1)=0 end if c if (ev(dyn1) .ne. 0) then temp=(ev(dyn2)/ev(dyn1) - 0.50) * 4000.0 if (temp .gt. 2048.0) temp=2048.0 if (temp .lt. 0.0) temp=0.0 pev(2)=temp else pev(2)=0 end if c return c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c entry userIn c call defPEV (pev,pev(30)) return end Daphne Acquisition Examples Page 5 PSD Setup Files 3 October 1990 PSD.1D $ h1 1024/name=an1 $ h1 1024/name=an2 $ h1 1024/name=dyn1 $ h1 1024/name=dyn2 $ h1 1024/name=pev1 $ h1 1024/name=pev2 $ m1 1 dyn1/gain=2 /name=dyn1 $ m1 2 dyn2/gain=2 /name=dyn2 $ m1 3 an1/gain=2 /name=an1 $ m1 4 an2/gain=2 /name=an2 $ m1 1/pseduo pev1/gain=2 /name=pev1 $ m1 2/pseudo pev2/gain=2 /name=pev2 PSD.2D $ h2 128/name=an $ h2 128/name=dyn $ h2 128/name=pev1xan $ h2 128/name=pev2xdyn $ m2 3/xgain=16 4/ygain=16 an/name=an $ m2 1/xgain=16 2/ygain=16 dyn/name=dyn $ m2 3/xgain=16 1/pseudo /ygain=16 pev1xan/name=pev1xan $ m2 1/xgain=16 2/pseudo /ygain=16 pev2xdyn/name=pev2xdyn Daphne Acquisition Examples Page 6 U238.EHA 3 October 1990 bru start ; ; User dependent I/O configuration information ; NADC = 2 ; Camac slot of Ortec 811 ADC NTDC = 4 ; Camac slot of LRS 2228A TDC NREG = 6 ; Camac slot of LRS 2341A 16 ; fold register NOUT = 16 ; Camac slot of Jorway output ; register ; ; User written initialization routine ; Must always end with a subroutine return instruction (BRUR) ; INIT CNAF 1,NADC,12,11 ; Reset ADC CNAF 1,NTDC,0,9 ; Reset TDC CNAF 1,NREG,0,9 ; Reset coincidence register MOV 64,CA1 ; This sections is used to sent a pulse CNAF 1,NOUT,0,20 ; to output register 7 that will be used CNAF 1,NOUT,0,22 ; to signal beginning of acquisition. BRUR ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User written main subroutine ; Invoked when an event is detected ; Must always conclude with a subroutine return instruction (BRUR) ; MAIN DLAY 1000 ; Delay 100 usec in 100 nsec units ; Read, clear and out coincidence register and move CA1 in PAT CNAF 1,NREG,0,2 MOV CA1,PAT OUT CA1 ; ; Read and out the Si detectors. ; I=0 SILOOP LOOP 8 ; Read now Si's 1 - 8 I=I+1 IF (PAT.NONE.[I]) END_SI ; Test corresponding bit in ; pattern register. CNAF 1,NADC,I-1,0 ; Read and out ADC for Si # I OUT CA1 CNAF 1,NTDC,I-1,0 ; Read and out TDC for Si # I OUT CA1 END_SI ENDLOOP Daphne Acquisition Examples Page 7 U238.EHA 3 October 1990 ; ; All detectors are read out and data send to ep's. ; Reset all modules ; RESET CNAF 1,NREG,0,9 ;reset coincidence register. CNAF 1,NADC,12,11 ;reset ADC CNAF 1,NTDC,0,9 ;reset TDC ; MOV 16,CA1 ; This sections is used to sent a pulse CNAF 1,NOUT,0,20 ; to output register 5 that will be used CNAF 1,NOUT,0,22 ; to signal the end of the event. ; ; Reset done. Return to the main routine. ; BRUR ; Done, return to main routine. ; INCLUDE DAPEH:STANDARD Daphne Acquisition Examples Page 8 U238.FOR 3 October 1990 subroutine user (et,np,ev) implicit undefined (a-z) c--- c EP routine for the Ni + U experiment. c This routine unpacks the event vector and c stores the data for the detectors that have c fired in the pseudo event vector. c In addition, a hit pattern for the silicons c is generated. c c et - event type c np - number of parameters c ev - event vector c c pev(#): c # = 1,3,5,7,9,11,13,15 : Esi # 1,..,8 c # = 2,4,6,8,10,12,14,16 : Tsi # 1,..,8 c # = 17,18,19,20,21,22 : Hit pattern Si 1 - 6. c c Created: January 1988 c Frank Wolfs, ANL c--- integer*2 et integer*2 np integer*2 ev(*) c integer*2 nPEV parameter (nPEV=30) integer*2 pev(nPEV) c integer*2 evEND c integer*2 i c integer*2 desc(5,9) c integer*2 isset(8) c--- c Get the data for desc. c--- c c pat bit nwords pseudo isSet data (desc(i, 1),i=1,5)/ 1, 1, 2, 1, 1/ data (desc(i, 2),i=1,5)/ 1, 2, 2, 3, 2/ data (desc(i, 3),i=1,5)/ 1, 3, 2, 5, 3/ data (desc(i, 4),i=1,5)/ 1, 4, 2, 7, 4/ data (desc(i, 5),i=1,5)/ 1, 5, 2, 9, 5/ data (desc(i, 6),i=1,5)/ 1, 6, 2, 11, 6/ data (desc(i, 7),i=1,5)/ 1, 7, 2, 13, 7/ data (desc(i, 8),i=1,5)/ 1, 8, 2, 15, 8/ data (desc(i, 9),i=1,5)/ -1,-1, -1, -1, -1/ c--- c Clear the pseudo event vector. c--- call zeroI2(npev,pev) Daphne Acquisition Examples Page 9 U238.FOR 3 October 1990 c--- c Unpack the current event. c--- call unpack(desc,ev,1,evEnd,pev,isSet) c--- c Generate hit pattern. c--- do 100,i=1,6 if (isSet(i).eq.1) pev(16 + i) = i 100 continue c--- c All done; return to calling program. c--- return c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c entry userin c--- c User initialization routine c Called once at the beginning of aqcuisition and used c to initialise various things. c c Define pseudo event vector. c--- call defPEV (pev(1),pev(nPEV)) c--- c All done; return to calling program. c--- return end Daphne Acquisition Examples Page 10 U238.SETUP 3 October 1990 $set verify $ $! Setup file data acquisition for the Ni + U experiments. $! $! Created: January 1988 $! Frank Wolfs, ANL $! $ $! Define maximum number of h1, m1 etc. etc. $ $ max/h1=400/m1=600/tab=40 $ $! Pseudo events in use. $ $ pseudoevent $ $! Define the 1d histos containing the silicon spectra $! (both energy and timing). $ $ h1/nozero 2048 /name=E1 $ h1/nozero 2048 /name=T1 $ h1/nozero 2048 /name=E2 $ h1/nozero 2048 /name=T2 $ h1/nozero 2048 /name=E3 $ h1/nozero 2048 /name=T3 $ h1/nozero 2048 /name=E4 $ h1/nozero 2048 /name=T4 $ h1/nozero 2048 /name=E5 $ h1/nozero 2048 /name=T5 $ h1/nozero 2048 /name=E6 $ h1/nozero 2048 /name=T6 $ h1/nozero 2048 /name=EBW $ h1/nozero 2048 /name=TBW $ h1/nozero 2048 /name=EMON $ h1/nozero 2048 /name=TMON $ $! Define the 1D maps mapping to the silicon spectra. $ $ m1 1/pseudo E1 /gain=1 /name=E1 $ m1 2/pseudo T1 /gain=1 /name=T1 $ m1 3/pseudo E2 /gain=1 /name=E2 $ m1 4/pseudo T2 /gain=1 /name=T2 $ m1 5/pseudo E3 /gain=1 /name=E3 $ m1 6/pseudo T3 /gain=1 /name=T3 $ m1 7/pseudo E4 /gain=1 /name=E4 $ m1 8/pseudo T4 /gain=1 /name=T4 $ m1 9/pseudo E5 /gain=1 /name=E5 $ m1 10/pseudo T5 /gain=1 /name=T5 $ m1 11/pseudo E6 /gain=1 /name=E6 $ m1 12/pseudo T6 /gain=1 /name=T6 $ m1 13/pseudo EBW /gain=1 /name=EBW $ m1 14/pseudo TBW /gain=1 /name=TBW $ m1 15/pseudo EMON /gain=1 /name=EMON $ m1 16/pseudo TMON /gain=1 /name=TMON Daphne Acquisition Examples Page 11 U238.SETUP 3 October 1990 $ $! Create the hit pattern for silicon 1 - 6. $ $ h1/nozero 8 /name=HitSi $ m1 17/pseudo HitSi /gain=1 /name=HitSi1 $ m1 18/pseudo HitSi /gain=1 /name=HitSi2 $ m1 19/pseudo HitSi /gain=1 /name=HitSi3 $ m1 20/pseudo HitSi /gain=1 /name=HitSi4 $ m1 21/pseudo HitSi /gain=1 /name=HitSi5 $ m1 22/pseudo HitSi /gain=1 /name=HitSi6 $ $! Create 2d histo of E versus T for the backward silicon. $ $ h2 512 512 /name=ETbw $ $! Map into ETbw $ $ m2 13/pseudo 14/pseudo ETbw /xgain=4 /ygain=4 /name=ETbw $ $! Create 2d histo of E versus T for the monitor silicon. $ $ h2 512 512 /name=ETmon $ $! Map into ETmon $ $ m2 15/pseudo 16/pseudo ETmon /xgain=4 /ygain=4 /name=ETmon $ $! Create 2d histo of E versus T for Si # 1 - 6. $ $ h2 512 512 /name=E1T1 $ h2 512 512 /name=E2T2 $ h2 512 512 /name=E3T3 $ h2 512 512 /name=E4T4 $ h2 512 512 /name=E5T5 $ h2 512 512 /name=E6T6 $ $! Create 2d maps of E versus T for Si # 1 - 6. $ $ m2 1/pseudo 2/pseudo E1T1 /xgain=4 /ygain=4 /name=E1T1 $ m2 3/pseudo 4/pseudo E2T2 /xgain=4 /ygain=4 /name=E2T2 $ m2 5/pseudo 6/pseudo E3T3 /xgain=4 /ygain=4 /name=E3T3 $ m2 7/pseudo 8/pseudo E4T4 /xgain=4 /ygain=4 /name=E4T4 $ m2 9/pseudo 10/pseudo E5T5 /xgain=4 /ygain=4 /name=E5T5 $ m2 11/pseudo 12/pseudo E6T6 /xgain=4 /ygain=4 /name=E6T6 Daphne Acquisition Examples Page 12 NIZR.EHA 3 October 1990 bru start ; ; User dependent I/O configuration information ; NADC=4 ;camac slot of Ortec 811 ADC NTDC=6 ;camac slot of LRS 2228A TDC NADC2=8 ;Ortec 811 ADC, channel plate NNOR1=9 ;Northern ADC - cp-aval timing NNOR2=10 ;Northern ADC - cp-rf timing ; ; User written initialization routine ; Must always end with a subroutine return instruction (BRUR) ; INIT CNAF 1,NADC,7,2 ;reset ADC CNAF 1,NTDC,7,2 ;reset TDC CNAF 1,NNOR1,0,0 ;reset NORTHERN ADC input gate CNAF 1,NNOR2,0,0 ;reset NORTHERN ADC input gate BRUR ; ; User written main subroutine ; Invoked when an event is detected ; Must always conclude with a subroutine return instruction (BRUR) ; MAIN DLAY 1000 ;delay 100 usec in 100 nsec units CNAF 1,NADC,0,2 ;channel 0 e OUT CA1 CNAF 1,NADC,1,2 ;channel 1 z OUT CA1 CNAF 1,NADC,2,2 ;channel 2 angle OUT CA1 CNAF 1,NADC,3,2 ;channel 3 tof OUT CA1 CNAF 1,NADC,4,2 ;channel 4 esi OUT CA1 CNAF 1,NADC,5,2 ;channel 5 tsi OUT CA1 CNAF 1,NADC,6,2 ;channel 6 mon OUT CA1 CNAF 1,NADC,7,2 ;channel 7 blank OUT CA1 ; ; Read out the TDC ; CNAF 1,NTDC,4,2 ;channel 4 hepo OUT CA1 CNAF 1,NTDC,5,2 ;channel 5 hepi OUT CA1 CNAF 1,NTDC,6,2 ;channel 6 lepo OUT CA1 CNAF 1,NTDC,7,2 ;channel 7 lepi OUT CA1 Daphne Acquisition Examples Page 13 NIZR.EHA 3 October 1990 ; ; Read out CHANNEL PLATE position signals ; CNAF 1,NADC2,0,2 ; CPL - left side OUT CA1 CNAF 1,NADC2,1,2 ; CPR - right side OUT CA1 ; ; Timing signals using channel plate ; CNAF 1,NNOR1,0,0 ; CP - AVALANCHE TIMING OUT CA1 CNAF 1,NNOR2,0,0 ; CP - RF TIMING OUT CA1 ; ; Reset cp adc ; CNAF 1,NADC2,12,11 ; BRUR ;return to main routine INCLUDE DAPEH:STANDARD Daphne Acquisition Examples Page 14 NIZR.FOR 3 October 1990 subroutine user (type,words,ev) implicit undefined(a-z) c++ c subroutine user (type,word,ev) c c Called once for each event before the event is sorted. c Places the value computed in the pseudo event vector c specified in userin or may overwrite data in the real c event. c c This routine must be present c c ev - input/integer*2 array c the size of the event is determined at the c time of acquisition c-- include 'fltdef.inc' c integer*2 ev(*) integer*2 pev(50) c--- c Local variables. c--- integer*4 status integer*4 type integer*4 words c integer*4 iseed c real*8 rand real*8 delran c real*4 hepo,hepi,lepo,lepi real*4 hesum,lesum,he,le real*4 pospp real*4 tof real*4 mon real*4 e,z,angle real*4 esi,tsi real*4 cpl,cpr,cpsum,cppos c logical poshe logical posle c--- c Get parameters from the real event vector. c--- e = float(ev(1)) z = float(ev(2)) angle = float(ev(3)) tof = float(ev(4)) esi = float(ev(5)) tsi = float(ev(6)) mon = float(ev(7)) hepo = shepo*float(ev(9)) hepi = shepi*float(ev(10)) lepo = slepo*float(ev(11)) lepi = slepi*float(ev(12)) c Daphne Acquisition Examples Page 15 NIZR.FOR 3 October 1990 cpl = float(ev(13)) cpr = float(ev(14)) c--- c Start with the userfunction. c c Reset the pseudo event values: c pev(1) = hesum, c pev(2) = lesum, c pev(3) = he, c pev(4) = le, c pev(5) = pospp. c pev(6) = cpsum c pev(7) = cppos c--- pev(1) = 0 pev(2) = 0 pev(3) = 0 pev(4) = 0 pev(5) = 0 pev(6) = 0 pev(7) = 0 c--- c If monitors fired, return. c--- if (mon.gt.100..and.mon.lt.2000.) return c--- c Derive channel plate sum and position c--- cpsum = cpl + cpr if( cpsum .gt. 10 ) then cppos = 1000. * cpl / cpsum pev(6) = cpsum + 0.5 pev(7) = cppos + 0.5 endif c--- c Determine which end of the PPAC produced a position signal. c c Logical variables defined are: c poshe = true: high energy end of PPAC gave signal, c posle = true: low energy end of PPAC gave signal. c--- poshe = .false. posle = .false. c if ((hepo.gt.100..and.hepo.lt.2000.).or. 1 (hepi.gt.100..and.hepi.lt.2000.)) poshe = .true. c if ((lepo.gt.100..and.lepo.lt.2000.).or. 1 (lepi.gt.100..and.lepi.lt.2000.)) posle = .true. c--- c If both the high and the low energy end of the ppac gave c a signal something is wrong and the event should be c rejected. c--- if (poshe.and.posle) return Daphne Acquisition Examples Page 16 NIZR.FOR 3 October 1990 c--- c Generate hesum and lesum: c hesum = hepo + hepi, c lesum = lepo + lepi. c These parameters should be constant and equal to the total c delay of the delay line, and can be used to calculate the c position along the focal plane in case only one end of the c delay line produced a signal. c--- hesum = 0. if (poshe) hesum = 0.75*(hepo + hepi) c lesum = 0. if (posle) lesum = 0.75*(lepo + lepi) c--- c Calculate the position along the low energy end or c along the high energy end of the detector. c--- he = 0. if ((hepo.gt.100..and.hepo.lt.2000.).and. 1 (hepi.gt.100..and.hepi.lt.2000.)) 1 then he = 0.75*(hepi - hepo) + 1024 endif c le = 0. if ((lepo.gt.100..and.lepo.lt.2000.).and. 1 (lepi.gt.100..and.lepi.lt.2000.)) 1 then le = 0.75*(lepo - lepi) + 1024 endif c--- c For some data positions on the focal plane only one c position signal will be present because of thresholds c etc. etc. c However, since we know that hesum and lesum are constant we c can in principle calculate the missing position signal. c Once he and le are obtained, they can be converted into a c distance along the focal plane, measured at the position of c the parallel plate counter. c--- pospp = 0. c if (poshe) 1 then if (hepi.lt.100..or.hepi.gt.2000.) 1 he = hecent - 1.5*hepo + 1024. if (hepo.lt.100..or.hepo.gt.2000.) 1 he = 1.5*hepi - hecent + 1024. pospp = scalhe*he + ocalhe endif Daphne Acquisition Examples Page 17 NIZR.FOR 3 October 1990 if (posle) 1 then if (lepo.lt.100..or.lepo.gt.2000.) 1 le = lecent - 1.5*lepi + 1024. if (lepi.lt.100..or.lepi.gt.2000.) 1 le = 1.5*lepo - lecent + 1024. pospp = scalle*le + ocalle endif c--- c Store pseudo events in pev. c Note: delran is used to round off he, le and pospp. c The function call to srand is used to reinitialize c the seed for successice invocations of rand. c--- pev(1) = nint(hesum) pev(2) = nint(lesum) delran = 0. pev(3) = nint(he + real(delran)) delran = 0. pev(4) = nint(le + real(delran)) delran = 0. pev(5) = nint(spos*pospp + opos + real(delran)) c return c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c entry userin c++ c entry userin c c The userin routine is called once before the first event c is sorted the user may perform any application dependent c initialization in this routine. c c This routine must be present c--- call defPEV(pev(1),pev(50)) c--- c Define the floating parameters. c--- call defflt(fltarr,fltzzz) c--- c Define the randum numbers seed. c--- iseed = 29381 return end Daphne Acquisition Examples Page 18 NIZR.SETUP 3 October 1990 $ ! $ ! Event structure: $ ! $ ! 1: e-anode (long shaping time) $ ! 2: z-anode (short shaping time) $ ! 3: tof vs anode signal( angle) $ ! 4: tof vs beam pulse $ ! 5: E-si $ ! 6: T-si $ ! 7: Monitor $ ! 8: blank $ ! 9: HE outer position $ ! 10: HE inner position $ ! 11: LE outer position $ ! 12: LE inner position $ ! 13: cp left position $ ! 14: cp right position $ ! 15: cp-avalance timing $ ! 16: cp-rf timing $ ! $ ! Pseudo event structure: $ ! 1: hesum = hepi + hepo $ ! 2: lesum = lepi + lepo $ ! 3: he = hepi - hepo $ ! 4: le = lepi - lepo $ ! 5: pospp = position along the focal plane. $ ! 6: cpsum - sum of cp position signals $ ! 7: cppos - channel plate position $ $ set noon $ set verify $ ! $ ! Define 1d histograms. $ ! $ h1 2048 /name=E ! E-Bragg $ h1 2048 /name=Z ! Z-Bragg $ h1 2048 /name=angle ! angle $ h1 2048 /name=tof ! Tof vs Beam pulse $ h1 2048 /name=Esi ! E-silicon $ h1 2048 /name=Tsi ! T-silicon $ h1 2048 /name=mon ! Monitor $ h1 2048 /name=hepo ! HE outer time $ h1 2048 /name=hepi ! HE inner time $ h1 2048 /name=lepo ! LE outer time $ h1 2048 /name=lepi ! LE inner time $ h1 2048 /name=hesum ! HE TDC sum $ h1 2048 /name=lesum ! LE TDC sum $ h1 2048 /name=he ! position along he end of ppac $ h1 2048 /name=le ! position along le end of ppac $ h1 2048 /name=pospp ! position along the ppac $ h1 2048 /name=tofq1 ! tof spectrum gated on one atomic charge state $ h1 2048 /name=angleq1 Daphne Acquisition Examples Page 19 NIZR.SETUP 3 October 1990 $ ! $ ! Define 1d maps. $ ! $ m1 1 E /gain=1 /name=E $ m1 2 Z /gain=1 /name=Z $ m1 3 angle /gain=1 /name=angle $ m1 4 tof /gain=1 /name=tof $ m1 5 Esi /gain=1 /name=Esi $ m1 6 Tsi /gain=1 /name=Tsi $ m1 7 mon /gain=1 /name=mon $ m1 9 hepo /gain=1 /name=hepo $ m1 10 hepi /gain=1 /name=hepi $ m1 11 lepo /gain=1 /name=lepo $ m1 12 lepi /gain=1 /name=lepi $ m1 1/pseudo hesum /gain=1 /name=hesum $ m1 2/pseudo lesum /gain=1 /name=lesum $ m1 3/pseudo he /gain=1 /name=he $ m1 4/pseudo le /gain=1 /name=le $ m1 5/pseudo pospp /gain=1 /name=pospp $ m1 4 tofq1 /gain=1 /name=tofq1 $ m1 3 angleq1 /gain=1 /name=angleq1 $ ! $ ! Define 1d windows: $ ! q1: select one charge state using the position spectrum $ ! pospp. $ ! $ !!! w1 /map=pospp /name=q1 /low=512 /high=512 $ ! $ ! Define 2d histograms. $ ! $ !!! goto skiph2 $ h2 512 512 /name=e_z $ h2 128 128 /name=hepo_hepi $ h2 128 128 /name=lepo_lepi $ h2 128 128 /name=e_angle $ h2 512 512 /name=pospp_tof $ h2 512 512 /name=pospp_angle $ h2 512 512 /name=pospp_e $ h2 512 512 /name=angle_tof $ ! $ ! Define 2d maps. $ ! $ m2 1 2 e_z /xgain=4 /ygain=4 /name=e_z $ m2 9 10 hepo_hepi /xgain=16 /ygain=16 /name=hepo_hepi $ m2 11 12 lepo_lepi /xgain=16 /ygain=16 /name=lepo_lepi $ m2 1 3 e_angle /xgain=16 /ygain=16 /name=e_angle $ m2 5/pseudo 4 pospp_tof /xgain=4 /ygain=4 /name=pospp_tof $ m2 5/pseudo 3 pospp_angle /xgain=4 /ygain=4 /name=pospp_angle $ m2 5/pseudo 1 pospp_e /xgain=4 /ygain=4 /name=pospp_e $ m2 3 4 angle_tof /xgain=4 /ygain=4 /name=angle_tof Daphne Acquisition Examples Page 20 NIZR.SETUP 3 October 1990 $ ! $ ! Define the conditions. $ ! $ !!! con nizr $ ! $ ! Gate 1d and 2d histograms. $ ! $ !!! g1h/con=q1 tofq1 $ !!! g1h/con=q1 angleq1 Daphne Acquisition Examples Page 21 NIZR_FLT.COM and NIZR_FIX.COM 3 October 1990 NIZR_FLT.COM $ flt/def shepo 1.009 $ flt/def shepi 1. $ flt/def slepo 1.001 $ flt/def slepi 1. $ flt/def hecent 1387.54 $ flt/def lecent 1381.86 $ flt/def scalhe 0.02105 $ flt/def ocalhe 91.79 $ flt/def scalle 0.02368 $ flt/def ocalle 57.53 $ flt/def spos 20 $ flt/def opos -1000 $ flt/list/fortran/output=fltdef.inc Daphne Acquisition Examples Page 22 ELEC.EHA 3 October 1990 ; ; ----------------------------------- ; 149Ho electron-gamma experiment 11/15/87 ; ; event = { Pattern register <---- variable length event ; DC monitor-1, ; DC monitor_2, ; Electron energy, ; Electron time, ; Ge energy, ; Ge time, ; TAC electron-gamma } ; ----------------------------------- BRU START ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User dependent I/O configuration information ; PAT_SL=1 ;lecroy 4448 Pattern register ADC_SL=2 ;ADC slot (AD811) ADC2_SL=3 ;ADC slot for electron ; ; End of user dependent I/O configuration information ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User written initialization routine ; Must always end with a subroutine return instruction (BRUR) ; INIT CNAF 1,PAT_SL,1,9 ;clear pattern register CNAF 1,ADC_SL,12,11 ;clear ADC CNAF 1,ADC2_SL,0,0 ;clear electron ADC BRUR ; ; End of user written initialization code ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Daphne Acquisition Examples Page 23 ELEC.EHA 3 October 1990 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User written main subroutine ; Invoked when an event is detected ; Must always conclude with a subroutine return instruction (BRUR) ; MAIN DLAY 1000 ;wait 100.0 microsec ; MONI CNAF 1,PAT_SL,1,0 ;read and out pattern word B OUT CA1 MOV CA1,PAT ;save pattern CNAF 1,ADC_SL,4,0 ;read monitor_1 OUT CA1 CNAF 1,ADC_SL,5,0 ;read monitor_2 OUT CA1 ; ;electron detector fires ELEC IF (PAT.NONE.[1]) GAMMA ;test bit (of electron) in pat. reg. CNAF 1,ADC2_SL,0,0 ;read energy and clear input gate OUT CA1 CNAF 1,ADC_SL,1,0 ;read electron time OUT CA1 ; ;Ge detector fires GAMMA IF (PAT.NONE.[2]) COINC ;test bit (of Ge) in pat. reg. CNAF 1,ADC_SL,2,0 ;read Ge energy OUT CA1 CNAF 1,ADC_SL,3,0 ;read Ge time OUT CA1 ; ;Electron-Ge coincidence COINC IF (PAT.NONE.[3]) RESET ;test corresponding bit in pat. reg. CNAF 1,ADC_SL,7,0 ;read TAC (electron-Ge) OUT CA1 ; ; reset all modules ; RESET CNAF 1,PAT_SL,1,9 ;reset pattern register A,B,C of 4448 CNAF 1,ADC_SL,12,11 ;reset ADC BRUR ;done ; INCLUDE DAPEH:STANDARD END Daphne Acquisition Examples Page 24 ELEC.FOR 3 October 1990 subroutine user (et,np,ev) implicit undefined (a-z) c++ c User-transformation for ELEC.EHA c 149HO Experiment November 1987 c c called once for each event before the event is sorted c places the value computed in the pseudo event vector specified in c userInit or may overwrite data in the real event c c this routine must be present c c et - input/integer*2 c event type (0 normally) c c np - input/integer*2 c number of parameters in event c c ev - input/integer*2 array c the size of the event is determined at the c time of acquisition c-- integer*2 et integer*2 np integer*2 ev(*) c integer*2 nPEV parameter (nPEV=5) integer*2 pev (nPEV) c c Real Event Structure c c event = { pattern register, c monitor_1 c monitor_2 c if electron (bit 1 of pattern reg set): c E (energy) c T (time) c if Ge (bit 2 of pattern reg set): c E (energy) c T (time) c if coincidence (bit 3 of pattern reg set): c should normally occur when bits 1 and 2 set c tac c c-- integer*2 pat parameter (pat=1) integer*2 mon1 parameter (mon1=2) integer*2 mon2 parameter (mon2=3) integer*2 adctdc parameter (adctdc=4) c Daphne Acquisition Examples Page 25 ELEC.FOR 3 October 1990 integer*2 i integer*2 evEnd c integer*2 isSet (16) c integer*2 desc (5,4) c pat bit nwords pseudo isSet data desc / 1, 1, 2, 1, 1, * 1, 2, 2, 3, 2, * 1, 3, 1, 5, 3, * -1, -1, -1, -1, -1/ c do 110 i=1,nPEV pev(i)=0 110 continue c call unpack (desc,ev,3,evEnd,pev,isSet) return c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c entry userin c++ c user initialization routine c-- c c define pseudo event vector c first element and last element c call defPEV (pev(1),pev(nPEV)) return end Daphne Acquisition Examples Page 26 ELEC.COM 3 October 1990 $ set verify $ max/tab=20/h1=70/m1=70 $ safe/off $ evs 0/fix=3/qsc=1 $ safe $ pseudoevent $ h1 16/name=pat $ h1 2048/name=mon1 $ h1 2048/name=mon2 $ h1 4096/name=Ee /nozero $ h1 4096/name=Eed /nozero $ h1 2048/name=Te /nozero $ h1 2048/name=Eg /nozero $ h1 2048/name=Egd /nozero $ h1 2048/name=Tg /nozero $ h1 2048/name=tac /nozero $ h2 4096 256/name=Ee_Te /nozero $ h2 2048 256/name=Eg_Tg /nozero $ ! $ m1 1 pat/name=pat $ m1 2 mon1/name=mon1 $ m1 3 mon2/name=mon2 $! $ m1 1/pseudo Ee/name=Ee $ m1 1/pseudo Eed/name=Eed $ m1 2/pseudo te/name=te $ m1 3/pseudo Eg/name=Eg $ m1 3/pseudo Egd/name=Egd $ m1 4/pseudo tg/name=tg $ m1 5/pseudo tac/name=tac $ m2 1/pseudo 2/pseudo Ee_Te/name=Ee_Te /ygain=8 $ m2 3/pseudo 4/pseudo Eg_Tg/name=Eg_Tg /ygain=8 $ ! $ @elec_win $ con elec $ @elec_gates $ @elec_coinc Daphne Acquisition Examples Page 27 Other ELEC Setup Files 3 October 1990 ELEC_WIN.COM $ w1/name=Tewin/map=Te /low=382 /high=1153 $ w1/name=Tgwin/map=Tg /low=400 /high=1000 ELEC.CON ELEC: BITON PAT 0 GAMMA: BITON PAT 1 COINC: BITON PAT 2 EDELAY: IN1 TEWIN GDELAY: IN1 TGWIN EGATE: IN1 EEWIN SINGLE: NOT COINC NOTAPE: NOTAPE SINGLE ELEC_GATES.COM $ g1h/cond=(EDELAY) EeD $ g1h/cond=(GDELAY) EgD ELEC_COINC.COM $ h1 4096/name=eec/nozero $ h1 2048/name=egc/nozero $ m1 1/pseudo eec/name=eec $ m1 3/pseudo egc/name=egc $! $ g1h/cond=(coinc) eec $ g1h/cond=(coinc) egc Daphne Acquisition Examples Page 28 BGOALL.EHA 3 October 1990 ; ; event = { Ge pileup, <------ variable length event ; Ge pattern, ; HEX pattern #1, pattern hex 1 - 16 ; HEX pattern #2, pattern hex 17 - 32 ; HEX pattern #3, pattern hex 33 - 48 ; HEX pattern #4, pattern hex 49 - 50 ; HEX ALU #1, total energy hex ; HEX ALU #2, multiplicity hex ; n x (Eg,Tg), n = 1 - 12 ; m x (Eh,Th) } m = 1 - 50 ; bru start ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User dependent I/O configuration information ; NGE=12 ;12 Ge detectors NHEX=50 ;50 HEX detectors IGNORBIT=[6] ;if not set ignore event ; ; Define slots of modules. ; ; Germaniums (crate 1): ; GEPAT_SL=5 ;coincidence register #1 (Ge pattern) GEPUP_SL=8 ;coincidence register #2 (Ge pileup) GTDC_SL1=9 ;Ge TDC slot # 1 GTDC_SL2=10 ;Ge TDC slot # 2 MUX_SL=15 ;PW multiplexer ; ; hex's (crate 2): ; HEXP_SL1=21 ;coincidence register #3 (HEX pat.1-3) HEXP_SL2=22 ;coincidence register #4 (HEX pat.4) FERAE4=1 ;HEX energy FERA's (1-4) FERAE3=2 FERAE2=3 FERAE1=4 FDRIE_SL=5 ;Fera driver (HEX energy) FERAT4=10 ;HEX timing FERA's (1-4) FERAT3=11 FERAT2=12 FERAT1=13 FDRIT_SL=14 ;Fera driver (HEX timing) ALU2_SL=18 ;Total energy HEX (ALU) ALU1_SL=16 ;Multiplicity HEX (ALU) ; ; End of user dependent I/O configuration information ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Daphne Acquisition Examples Page 29 BGOALL.EHA 3 October 1990 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User written initialization routine ; Must always end with a subroutine return instruction (BRUR) ; INIT CNAF 1,GEPAT_SL,1,9 ;clear Ge coinc. reg. (pattern) CNAF 1,GEPUP_SL,1,9 ;clear Ge coinc. reg. (pileup) CNAF 1,GTDC_SL1,0,9 ;clear germanium TDC1 CNAF 1,GTDC_SL2,0,9 ;clear germanium TDC2 FLIPMUX CNAF 1,MUX_SL,0,4 ;enable PW multiplexer CNAF 1,MUX_SL,0,9 ;clear all ADC'S on PW MUX DLAY 100 ;wait 10.0 uSec CNAF 1,MUX_SL,0,2 CNAF 1,MUX_SL,0,1 ;check high order bits for garbage IF (CA1 .ANY. [15]) FLIPMUX CNAF 1,MUX_SL,0,4 ;enable PW multiplexer CNAF 2,HEXP_SL1,0,9 ;clear HEX coin, reg. (pattern 1) CNAF 2,HEXP_SL1,1,9 ;clear HEX coin, reg. (pattern 2) CNAF 2,HEXP_SL1,2,9 ;clear HEX coin, reg. (pattern 3) CNAF 2,HEXP_SL2,0,9 ;clear HEX coin, reg. (pattern 4) ; ; setup Hex Multiplicity and Sum ALU for op-code 2 A+B = C ; CNAF 2,ALU1_SL,0,26 ;enable ALU CAMAC read ;(total energy HEX) MOV 0002H,CA2 ;set up ALU for C=A+B , A=C CNAF 2,ALU1_SL,0,16 ;load op-code into ALU CNAF 2,ALU2_SL,0,26 ;enable ALU CAMAC read ;(multiplicity HEX) CNAF 2,ALU2_SL,0,16 ;load op-code into ALU ; ; clear and load status words into FERA'sa E & T ; CNAF 2,FDRIE_SL,0,9 ; clear Energy Fera's CNAF 2,FDRIT_SL,0,9 ; clear Time Fera's ; MOV 0D00H,CA2 ;set up for random readout, ECL enable ; & pedestal subtraction CNAF 2,FERAE1,0,16 ;load status word into E FERA #1 CNAF 2,FERAE2,0,16 ;load status word into E FERA #2 CNAF 2,FERAE3,0,16 ;load status word into E FERA #3 CNAF 2,FERAE4,0,16 ;load status word into E FERA #4 CNAF 2,FERAT1,0,16 ;load status word into T FERA #1 CNAF 2,FERAT2,0,16 ;load status word into T FERA #2 CNAF 2,FERAT3,0,16 ;load status word into T FERA #3 CNAF 2,FERAT4,0,16 ;load status word into T FERA #4 BRUR ; ; End of user written initialization code ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Daphne Acquisition Examples Page 30 BGOALL.EHA 3 October 1990 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User written main subroutine ; Invoked when an event is detected ; Must always conclude with a subroutine return instruction (BRUR) ; MAIN DLAY 90 ;wait 9.0 microsec IF (EX.NONE.IGNORBIT) RESET ;ignore event and reset modules ; ; Start reading out the event. ; ; ; Read and out the HEX coincidence registers. ; GOODONE CNAF 2,HEXP_SL1,0,0 ;read and out HEX pattern #1 OUT CA2 CNAF 2,HEXP_SL1,1,0 ;read and out HEX pattern #2 OUT CA2 CNAF 2,HEXP_SL1,2,0 ;read and out HEX pattern #3 OUT CA2 CNAF 2,HEXP_SL2,0,0 ;read and out HEX pattern #4 OUT CA2 ; ; Read and out the Ge coincidence registers. ; CNAF 1,GEPAT_SL,1,0 ;read and out Ge pattern OUT CA1 MOV CA1,PAT ;save Ge pattern CNAF 1,GEPUP_SL,1,0 ;read and out Ge pileup OUT CA1 ; ; Read and out the ALU's ; CNAF 2,ALU2_SL,1,0 ;read and out ALU #1 (sum energy HEX) OUT CA2 CNAF 2,ALU1_SL,1,0 ;read ALU #2 (multiplicity HEX) OUT CA2 ; ; Start reading out the germaniums. ; Daphne Acquisition Examples Page 31 BGOALL.EHA 3 October 1990 ; ; Start with looking at germanium 1 - 8. ; I=0 GELOOP1 LOOP 8 ;read now NGE Ge's 1 - 8 I=I+1 IF (PAT.NONE.[I]) END_GE1 ;test corresponding bit in ;pattern register. CNAF 1,MUX_SL,I-1,2 ;latch ADC number IF (EX1.NONE.QBIT) GE1 CNAF 1,MUX_SL,I-1,1 ;read and out ADC for germanium # I OUT CA1 ; ; Read the germanium TDC's. ; CNAF 1,GTDC_SL1,I-1,0 ;Read the Ge TDC 1 (Ge 1 - 8) OUT CA1 BRU END_GE1 GE1 MOV 8200,CA1 ;Out dummy germanium energy OUT CA1 MOV 2050,CA1 ;Out dummy germanium time OUT CA1 END_GE1 ENDLOOP ; ; Start with looking at germanium 9 - NGE ; GELOOP2 LOOP NGE-8 ;read now NGE Ge's 9 - NGE I=I+1 IF (PAT.NONE.[I]) END_GE2 ;test corresponding bit in ;pattern register. CNAF 1,MUX_SL,I-1,2 ;latch ADC number IF (EX1.NONE.QBIT) GE2 CNAF 1,MUX_SL,I-1,1 ;read and out ADC for germanium # I OUT CA1 ; ; Read the germanium TDC's. ; CNAF 1,GTDC_SL2,I-9,0 ;Read the Ge TDC 1 (Ge 9 - NGE) OUT CA1 BRU END_GE2 GE2 MOV 8200,CA1 ;Out dummy germanium energy OUT CA1 MOV 2050,CA1 ;Out dummy germanium time OUT CA1 END_GE2 ENDLOOP Daphne Acquisition Examples Page 32 BGOALL.EHA 3 October 1990 ; ; Start with reading the energy and timing of the HEX's ; First, HEX 1 - 16 ; CNAF 2,HEXP_SL1,0,0 ;Read pattern HEX 1 - 16 MOV CA2,PAT ;Save pattern HEX 1 - 16 I=1 HEX1LP LOOP 16 ;Start loop over HEX 1 - 16 IF (PAT.NONE.[I]) NOH1 ;Test corresponding bit in pat. reg. CNAF 2,FERAE1,I-1,2 ;Read HEX energy OUT CA2 ;Out HEX energy CNAF 2,FERAT1,I-1,2 ;Read HEX time OUT CA2 ;Out HEX time I=I+1 NOH1 ENDLOOP ; ; Read HEX 17 - 32 ; CNAF 2,HEXP_SL1,1,0 ;Read pattern HEX 17 - 32 MOV CA2,PAT ;Save pattern HEX 17 - 32 I=1 HEX2LP LOOP 16 ;Start loop over HEX 17 - 32 IF (PAT.NONE.[I]) NOH2 ;Test corresponding bit in pat. reg. CNAF 2,FERAE2,I-1,2 ;Read HEX energy OUT CA2 ;Out HEX energy CNAF 2,FERAT2,I-1,2 ;Read HEX time OUT CA2 ;Out HEX time I=I+1 NOH2 ENDLOOP ; ; Read HEX 33 - 48. ; CNAF 2,HEXP_SL1,2,0 ;Read pattern HEX 33 - 48 MOV CA2,PAT ;Save pattern HEX 33 - 48 I=1 HEX3LP LOOP 16 ;Start loop over HEX 33 - 48 IF (PAT.NONE.[I]) NOH3 ;Test corresponding bit in pat. reg. CNAF 2,FERAE3,I-1,2 ;Read HEX energy OUT CA2 ;Out HEX energy CNAF 2,FERAT3,I-1,2 ;Read HEX time OUT CA2 ;Out HEX time I=I+1 NOH3 ENDLOOP Daphne Acquisition Examples Page 33 BGOALL.EHA 3 October 1990 ; ; Read HEX 49 - 50. ; CNAF 2,HEXP_SL2,0,0 ;Read pattern HEX 49 - 50 MOV CA2,PAT ;Save pattern HEX 49 - 50 I=1 HEX4LP LOOP 2 ;Start loop over HEX 49 - 50 IF (PAT.NONE.[I]) NOH4 ;Test corresponding bit in pat. reg. CNAF 2,FERAE4,I-1,2 ;Read HEX energy OUT CA2 ;Out HEX energy CNAF 2,FERAT4,I-1,2 ;Read HEX time OUT CA2 ;Out HEX time I=I+1 NOH4 ENDLOOP ; ; All detectors are read out and data send to ep's. ; Reset all modules ; RESET CNAF 1,GEPAT_SL,1,9 ;reset coincidence register with ;the germanium pattern CNAF 1,GEPUP_SL,1,9 ;reset coincidence register with ;pilup pattern CNAF 2,HEXP_SL1,0,9 ;reset HEX coincidence register ;pattern HEX 1 - 16 CNAF 2,HEXP_SL1,1,9 ;reset HEX coincidence register ;pattern HEX 17 - 32 CNAF 2,HEXP_SL1,2,9 ;reset HEX coincidence register ;pattern HEX 33 - 48 CNAF 2,HEXP_SL2,0,9 ;reset HEX coincidence register ;pattern HEX 49 - 50 CNAF 1,GTDC_SL1,0,9 ;reset Ge TDC's (Ge 1 - 8) CNAF 1,GTDC_SL2,0,9 ;reset Ge TDC's (Ge 9 - 12) CNAF 2,FDRIE_SL,0,9 ; clear ALL Energy Fera's CNAF 2,FDRIT_SL,0,9 ; clear ALL Time Fera's SSETX [8] ;front panel clear of ALU's SCLRX [8] CNAF 1,MUX_SL,0,9 ;clear all germanium ADC's ; ; Reset done. Return to the main routine. ; BRUR ;done, return to main routine INCLUDE DAPEH:STANDARD Daphne Acquisition Examples Page 34 BGOALL.FOR 3 October 1990 subroutine user (et,np,ev) implicit undefined (a-z) c include 'fixdefs.inc' include 'fltdefs.inc' c--- c EP routine for the BGO test run. c This routine unpacks the event vector and c stores the data for the detectors that have c fired in the pseudo event vector. c In addition, a hit pattern for the germaniums c and the HEX's is generated. c c et - event type c np - number of parameters c ev - event vector c c pev(#): c # = 1,3,5,...,19,21,23: Ege c # = 2,4,6,...,20,22,24: Tge c # = 25 : number of germaniums c # = 31,32,...,41,42 : doppler shift corrected c energies of the germaniums c # = 51,52,...,61,62 : hit pattern germanium c # = 71,72,...,81,82 : pilup pattern germanium c # = 100 c # = 101,102,103,...,148,149,150: hit pattern HEX c # = 151,152 : total energy HEX c # = 161,162,163 : multiplicity HEX c # = 170 : number of HEX's fired c # = 201,203,205,...,295,297,299: Ehex c # = 202,204,206,...,296,298,300: Thex c c c Created: december 1987 c Frank Wolfs, ANL c--- integer*2 et integer*2 np integer*2 ev(*) c integer*4 noev integer*2 nPEV parameter (nPEV=300) integer*2 pev(nPEV) c integer*2 i,j integer*2 evEnd c integer*2 nrge,nrhex c integer*2 isSet(300) c integer*2 pupge(16) integer*2 mupr,mud1,mud2 c integer*4 desc (5,63) Daphne Acquisition Examples Page 35 BGOALL.FOR 3 October 1990 c real*4 gamma c real*4 angfwd,dpsfwd parameter (angfwd=34.5) real*4 angsid,dpssid parameter (angsid=90.) real*4 angbck,dpsbck parameter (angbck=145.5) real*4 degrad parameter (degrad=57.29578) c--- c Get the data for desc. c--- c Germaniums. c pat bit nwords pseudo isSet data (desc(i, 1),i=1,5)/ 2, 1, 2, 1, 51/ data (desc(i, 2),i=1,5)/ 2, 2, 2, 3, 52/ data (desc(i, 3),i=1,5)/ 2, 3, 2, 5, 53/ data (desc(i, 4),i=1,5)/ 2, 4, 2, 7, 54/ data (desc(i, 5),i=1,5)/ 2, 5, 2, 9, 55/ data (desc(i, 6),i=1,5)/ 2, 6, 2, 11, 56/ data (desc(i, 7),i=1,5)/ 2, 7, 2, 13, 57/ data (desc(i, 8),i=1,5)/ 2, 8, 2, 15, 58/ data (desc(i, 9),i=1,5)/ 2, 9, 2, 17, 59/ data (desc(i,10),i=1,5)/ 2, 10, 2, 19, 60/ data (desc(i,11),i=1,5)/ 2, 11, 2, 21, 61/ data (desc(i,12),i=1,5)/ 2, 12, 2, 23, 62/ c Hex 1 - 16 c pat bit nwords pseudo isSet data (desc(i,13),i=1,5)/ 3, 1, 2, 201, 101/ data (desc(i,14),i=1,5)/ 3, 2, 2, 203, 102/ data (desc(i,15),i=1,5)/ 3, 3, 2, 205, 103/ data (desc(i,16),i=1,5)/ 3, 4, 2, 207, 104/ data (desc(i,17),i=1,5)/ 3, 5, 2, 209, 105/ data (desc(i,18),i=1,5)/ 3, 6, 2, 211, 106/ data (desc(i,19),i=1,5)/ 3, 7, 2, 213, 107/ data (desc(i,20),i=1,5)/ 3, 8, 2, 215, 108/ data (desc(i,21),i=1,5)/ 3, 9, 2, 217, 109/ data (desc(i,22),i=1,5)/ 3, 10, 2, 219, 110/ data (desc(i,23),i=1,5)/ 3, 11, 2, 221, 111/ data (desc(i,24),i=1,5)/ 3, 12, 2, 223, 112/ data (desc(i,25),i=1,5)/ 3, 13, 2, 225, 113/ data (desc(i,26),i=1,5)/ 3, 14, 2, 227, 114/ data (desc(i,27),i=1,5)/ 3, 15, 2, 229, 115/ data (desc(i,28),i=1,5)/ 3, 16, 2, 231, 116/ Daphne Acquisition Examples Page 36 BGOALL.FOR 3 October 1990 c Hex 17 - 32 c pat bit nwords pseudo isSet data (desc(i,29),i=1,5)/ 4, 1, 2, 233, 117/ data (desc(i,30),i=1,5)/ 4, 2, 2, 235, 118/ data (desc(i,31),i=1,5)/ 4, 3, 2, 237, 119/ data (desc(i,32),i=1,5)/ 4, 4, 2, 239, 120/ data (desc(i,33),i=1,5)/ 4, 5, 2, 241, 121/ data (desc(i,34),i=1,5)/ 4, 6, 2, 243, 122/ data (desc(i,35),i=1,5)/ 4, 7, 2, 245, 123/ data (desc(i,36),i=1,5)/ 4, 8, 2, 247, 124/ data (desc(i,37),i=1,5)/ 4, 9, 2, 249, 125/ data (desc(i,38),i=1,5)/ 4, 10, 2, 251, 126/ data (desc(i,39),i=1,5)/ 4, 11, 2, 253, 127/ data (desc(i,40),i=1,5)/ 4, 12, 2, 255, 128/ data (desc(i,41),i=1,5)/ 4, 13, 2, 257, 129/ data (desc(i,42),i=1,5)/ 4, 14, 2, 259, 130/ data (desc(i,43),i=1,5)/ 4, 15, 2, 261, 131/ data (desc(i,44),i=1,5)/ 4, 16, 2, 263, 132 / c Hex 33 - 48 c pat bit nwords pseudo isSet data (desc(i,45),i=1,5)/ 5, 1, 2, 265, 133/ data (desc(i,46),i=1,5)/ 5, 2, 2, 267, 134/ data (desc(i,47),i=1,5)/ 5, 3, 2, 269, 135/ data (desc(i,48),i=1,5)/ 5, 4, 2, 271, 136/ data (desc(i,49),i=1,5)/ 5, 5, 2, 273, 137/ data (desc(i,50),i=1,5)/ 5, 6, 2, 275, 138/ data (desc(i,51),i=1,5)/ 5, 7, 2, 277, 139/ data (desc(i,52),i=1,5)/ 5, 8, 2, 279, 140/ data (desc(i,53),i=1,5)/ 5, 9, 2, 281, 141/ data (desc(i,54),i=1,5)/ 5, 10, 2, 283, 142/ data (desc(i,55),i=1,5)/ 5, 11, 2, 285, 143/ data (desc(i,56),i=1,5)/ 5, 12, 2, 287, 144/ data (desc(i,57),i=1,5)/ 5, 13, 2, 289, 145/ data (desc(i,58),i=1,5)/ 5, 14, 2, 291, 146/ data (desc(i,59),i=1,5)/ 5, 15, 2, 293, 147/ data (desc(i,60),i=1,5)/ 5, 16, 2, 295, 148/ c Hex 49 - 50 c pat bit nwords pseudo isSet data (desc(i,61),i=1,5)/ 6, 1, 2, 297, 149/ data (desc(i,62),i=1,5)/ 6, 2, 2, 299, 150/ c End desc. c pat bit nwords pseudo isSet data (desc(i,63),i=1,5)/ -1, -1, -1, -1, -1 / c--- c Clear the pseudo event vector. c--- call zeroI2(npev,pev) c--- c Unpack the current event. c--- call unpack(desc,ev,8,evEnd,pev,isSet) Daphne Acquisition Examples Page 37 BGOALL.FOR 3 October 1990 c--- c Get the pilup pattern for the germaniums. c--- call bit16(ev(1),pupge) c--- c Check for pilup in the germaniums. c note: the E and T for detectors with pile up c will be set to zero. c In addition, create the pilup pattern (to be c stored in pev(71) - pev(82). c--- do 200,i=1,12 if (pupge(i).eq.1) 1 then pev(2*i - 1) = 0 pev(2*i) = 0 pev(70 + i) = i endif 200 continue c--- c Create the hit pattern for the germaniums. c Note: to be stored in pev(51) - pev(62), c only for non pileup events. c In addition, add 1200 channels to the time c of the germaniums (TDC also allows for c negative times). c--- nrge = 0 do 300,i=51,62 j = i - 50 if (isSet(i).eq.1.and.pupge(j).eq.0) 1 then pev(i) = j nrge = nrge + 1 j = 2*i - 100 pev(j) = pev(j) + 1200 endif 300 continue pev(25) = nrge c--- c Correct the energy of the germaniums for the c dopplershift. c--- c Ge # 1: 34.5 degrees pev(31) = nint(dpsfwd*pev(1)) c Ge # 2: 34.5 degrees pev(32) = nint(dpsfwd*pev(3)) c Ge # 3: 90 degrees pev(33) = nint(dpssid*pev(5)) c Ge # 4: 90 degrees pev(34) = nint(dpssid*pev(7)) Daphne Acquisition Examples Page 38 BGOALL.FOR 3 October 1990 c Ge # 5: 145.5 degrees pev(35) = nint(dpsbck*pev(9)) c Ge # 6: 145.5 degrees pev(36) = nint(dpsbck*pev(11)) c Ge # 7: 145.5 degrees pev(37) = nint(dpsbck*pev(13)) c Ge # 8: 145.5 degrees pev(38) = nint(dpsbck*pev(15)) c Ge # 9: 90 degrees pev(39) = nint(dpssid*pev(17)) c Ge # 10: 90 degrees pev(40) = nint(dpssid*pev(19)) c Ge # 11: 34.5 degrees pev(41) = nint(dpsfwd*pev(21)) c Ge # 12: 34.5 degrees pev(42) = nint(dpsfwd*pev(23)) c--- c Create the hit pattern for the HEX's. c Note: to be stored in pev(101) - pev(150). c--- nrhex = 0 do 400,i=101,150 if (isSet(i).eq.1) 1 then pev(i) = i - 100 nrhex = nrhex + 1 endif 400 continue pev(170) = nrhex c--- c Decompose the multiplicity word and generate c the multiplicity for the various time intervals: c prompt: bit 1 - 6, c delay1: bit 7 - 11 c delay2: bit 12 - 16.to check for c For each of the time intervals a different c pseudoevent is created. c--- mupr = and (ev(8),63) pev(161) = mupr mud1 = and (rshift (ev(8),6),31) pev(162) = mud1 mud2 = and (rshift (ev(8),11),31) pev(163) = mud2 Daphne Acquisition Examples Page 39 BGOALL.FOR 3 October 1990 c--- c Get the sum energy. c In addition, if there is a isomeer event, add the c energy of the isomeer to the prompt sum energy. c--- pev(151) = ev(7) if (mud1.ge.1) pev(152) = ev(7) + eiso return c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c entry userin c--- c User initialization routine c Called once at the beginning of aqcuisition and used c to initialise various things. c c Define pseudo event vector. c--- call defPEV (pev(1),pev(nPEV)) c--- c Define the fix and float parameters. c--- call deffix(fixarr,fixzzz) call defflt(fltarr,fltzzz) return c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c entry fixflt c--- c Entry FixFlt is called each time the fix/flt parameters c are being changed. In this way the doppler shifts always c have the appropriate values c--- gamma = 1./sqrt(1. - beta*beta) dpsfwd = 1./((1. - beta*cos(angfwd/degrad))*gamma) dpssid = 1./((1. - beta*cos(angsid/degrad))*gamma) dpsbck = 1./((1. - beta*cos(angbck/degrad))*gamma) return end Daphne Acquisition Examples Page 40 BGOALL.SETUP 3 October 1990 $set verify $! $! Setup file data acquisition using the full BGO array. $! In this setup, all detectors will be read out and $! histogrammed. $! $! Created: December 1978 $! Frank Wolfs, ANL $! $ $! Define maximum number of h1, m1 etc. etc. $ $max/h1=400/m1=600/tab=40 $ $! Pseudo events in use. $ $pseudoevent $ $! Define the 1d histos containing the ungated germanium $! spectra (both energy and timing). $ $h1/nozero 8192 /name=E1 $h1/nozero 2048 /name=T1 $h1/nozero 8192 /name=E2 $h1/nozero 2048 /name=T2 $h1/nozero 8192 /name=E3 $h1/nozero 2048 /name=T3 $h1/nozero 8192 /name=E4 $h1/nozero 2048 /name=T4 $h1/nozero 8192 /name=E5 $h1/nozero 2048 /name=T5 $h1/nozero 8192 /name=E6 $h1/nozero 2048 /name=T6 $h1/nozero 8192 /name=E7 $h1/nozero 2048 /name=T7 $h1/nozero 8192 /name=E8 $h1/nozero 2048 /name=T8 $h1/nozero 8192 /name=E9 $h1/nozero 2048 /name=T9 $h1/nozero 8192 /name=E10 $h1/nozero 2048 /name=T10 $h1/nozero 8192 /name=E11 $h1/nozero 2048 /name=T11 $h1/nozero 8192 /name=E12 $h1/nozero 2048 /name=T12 Daphne Acquisition Examples Page 41 BGOALL.SETUP 3 October 1990 $ $! Define the 1D maps mapping to the ungated germanium spectra. $ $m1 1/pseudo E1 /gain=1 /name=E1 $m1 2/pseudo T1 /gain=1 /name=T1 $m1 3/pseudo E2 /gain=1 /name=E2 $m1 4/pseudo T2 /gain=1 /name=T2 $m1 5/pseudo E3 /gain=1 /name=E3 $m1 6/pseudo T3 /gain=1 /name=T3 $m1 7/pseudo E4 /gain=1 /name=E4 $m1 8/pseudo T4 /gain=1 /name=T4 $m1 9/pseudo E5 /gain=1 /name=E5 $m1 10/pseudo T5 /gain=1 /name=T5 $m1 11/pseudo E6 /gain=1 /name=E6 $m1 12/pseudo T6 /gain=1 /name=T6 $m1 13/pseudo E7 /gain=1 /name=E7 $m1 14/pseudo T7 /gain=1 /name=T7 $m1 15/pseudo E8 /gain=1 /name=E8 $m1 16/pseudo T8 /gain=1 /name=T8 $m1 17/pseudo E9 /gain=1 /name=E9 $m1 18/pseudo T9 /gain=1 /name=T9 $m1 19/pseudo E10 /gain=1 /name=E10 $m1 20/pseudo T10 /gain=1 /name=T10 $m1 21/pseudo E11 /gain=1 /name=E11 $m1 22/pseudo T11 /gain=1 /name=T11 $m1 23/pseudo E12 /gain=1 /name=E12 $m1 24/pseudo T12 /gain=1 /name=T12 $ $! Create the germainum spectra for the forward, sideward $! and backward germanium detectors. $ $h1/nozero 8192 /name=Efw $h1/nozero 8192 /name=Esd $h1/nozero 8192 /name=Ebw Daphne Acquisition Examples Page 42 BGOALL.SETUP 3 October 1990 $ $! Define the maps mapping into histos for the forward, sideward $! and backward germanium detectors. $ $m1 31/pseudo Efw /gain=1 /name=E1DC $m1 32/pseudo Efw /gain=1 /name=E2DC $m1 33/pseudo Esd /gain=1 /name=E3DC $m1 34/pseudo Esd /gain=1 /name=E4DC $m1 35/pseudo Ebw /gain=1 /name=E5DC $m1 36/pseudo Ebw /gain=1 /name=E6DC $m1 37/pseudo Ebw /gain=1 /name=E7DC $m1 38/pseudo Ebw /gain=1 /name=E8DC $m1 39/pseudo Esd /gain=1 /name=E9DC $m1 40/pseudo Esd /gain=1 /name=E10DC $m1 41/pseudo Efw /gain=1 /name=E11DC $m1 42/pseudo Efw /gain=1 /name=E12DC $ $! Define energy spectrum containg all germaniums, and gated $! on sum energy and multiplicity of the Hexagons. $ $h1/nozero 8192 /name=Eg1 $h1/nozero 8192 /name=Eg2 $h1/nozero 8192 /name=Eg3 $h1/nozero 8192 /name=Eg4 $h1/nozero 8192 /name=Eg5 $ $! Create the 1D maps mapping into the gated total germanium $! spectra. $ $m1 31/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg11 $m1 32/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg12 $m1 33/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg13 $m1 34/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg14 $m1 35/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg15 $m1 36/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg16 $m1 37/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg17 $m1 38/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg18 $m1 39/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg19 $m1 40/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg110 $m1 41/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg111 $m1 42/pseudo Eg1,Eg2,Eg3,Eg4,Eg5 /gain=1 /name=Eg112 $ $! Create a spectrum containing the numbers of germaniums fired. $ $h1/nozero 14 /name=nrGe $m1 25/pseudo nrGe /gain=1 /name=nrGe Daphne Acquisition Examples Page 43 BGOALL.SETUP 3 October 1990 $ $! Create the hit pattern for the germanium detectors. $ $h1/nozero 14 /name=HitGe $m1 51/pseudo HitGe /gain=1 /name=HitGe1 $m1 52/pseudo HitGe /gain=1 /name=HitGe2 $m1 53/pseudo HitGe /gain=1 /name=HitGe3 $m1 54/pseudo HitGe /gain=1 /name=HitGe4 $m1 55/pseudo HitGe /gain=1 /name=HitGe5 $m1 56/pseudo HitGe /gain=1 /name=HitGe6 $m1 57/pseudo HitGe /gain=1 /name=HitGe7 $m1 58/pseudo HitGe /gain=1 /name=HitGe8 $m1 59/pseudo HitGe /gain=1 /name=HitGe9 $m1 60/pseudo HitGe /gain=1 /name=HitGe10 $m1 61/pseudo HitGe /gain=1 /name=HitGe11 $m1 62/pseudo HitGe /gain=1 /name=HitGe12 $ $! Create pilup pattern for the germanium detectors. $ $h1/nozero 14 /name=PupGe $m1 71/pseudo PupGe /gain=1 /name=PupGe1 $m1 72/pseudo PupGe /gain=1 /name=PupGe2 $m1 73/pseudo PupGe /gain=1 /name=PupGe3 $m1 74/pseudo PupGe /gain=1 /name=PupGe4 $m1 75/pseudo PupGe /gain=1 /name=PupGe5 $m1 76/pseudo PupGe /gain=1 /name=PupGe6 $m1 77/pseudo PupGe /gain=1 /name=PupGe7 $m1 78/pseudo PupGe /gain=1 /name=PupGe8 $m1 79/pseudo PupGe /gain=1 /name=PupGe9 $m1 80/pseudo PupGe /gain=1 /name=PupGe10 $m1 81/pseudo PupGe /gain=1 /name=PupGe11 $m1 82/pseudo PupGe /gain=1 /name=PupGe12 $ $! Create 1D histograms for the HEX's (both energy and $! timing). $ $h1/nozero 2048 /name=Ehex1 $h1/nozero 2048 /name=Thex1 $h1/nozero 2048 /name=Ehex2 $h1/nozero 2048 /name=Thex2 +------------------------------------------+ | and so on for Ehex and Thex 1 through 50 | +------------------------------------------+ $h1/nozero 2048 /name=Ehex49 $h1/nozero 2048 /name=Thex49 $h1/nozero 2048 /name=Ehex50 $h1/nozero 2048 /name=Thex50 Daphne Acquisition Examples Page 44 BGOALL.SETUP 3 October 1990 $ $! Define the 1D maps mapping to the HEX's histos. $ $m1 201/pseudo Ehex1 /gain=1 /name=Ehex1 $m1 202/pseudo Thex1 /gain=1 /name=Thex1 $m1 203/pseudo Ehex2 /gain=1 /name=Ehex2 $m1 204/pseudo Thex2 /gain=1 /name=Thex2 +------------------------------------------+ | and so on for Ehex and Thex 1 through 50 | | and pseudo-parameters 201 through 300 | +------------------------------------------+ $m1 297/pseudo Ehex49 /gain=1 /name=Ehex49 $m1 298/pseudo Thex49 /gain=1 /name=Thex49 $m1 299/pseudo Ehex50 /gain=1 /name=Ehex50 $m1 300/pseudo Thex50 /gain=1 /name=Thex50 $ $! Create a spectrum containing the numbers of HEX's fired. $ $h1/nozero 52 /name=nrHEX $m1 170/pseudo nrHEX /gain=1 /name=nrHEX $ $! Create the sum energy spectra of the hexagon (including the $! delayed sum energy spectra). $ $h1/nozero 2048 /name=Spr $h1/nozero 2048 /name=Stot $ $! Define the 1D maps mapping into HexSum, HexSum1, HexSum2 and $! HexSum3. $ $m1 151/pseudo Spr /gain=16 /name=Spr $m1 152/pseudo Stot /gain=16 /name=Stot $ $! Create the multiplicity spectra of the hexagon (including the $! delayed multiplicity spectra). $ $h1/nozero 52 /name=Mupr $h1/nozero 52 /name=Mud1 $h1/nozero 52 /name=Mud2 $ $! Define the 1D maps mapping into HexMult, HexMult1, HexMult2 $! and HexMult3. $ $m1 161/pseudo Mupr /gain=1 /name=Mupr $m1 162/pseudo Mud1 /gain=1 /name=Mud1 $m1 163/pseudo Mud2 /gain=1 /name=Mud2 Daphne Acquisition Examples Page 45 BGOALL.SETUP 3 October 1990 $ $! Create hit pattern for the HEX's. $ $h1/nozero 52 /name=HitHex $m1 101/pseudo HitHex /gain=1 /name=HitHex1 $m1 102/pseudo HitHex /gain=1 /name=HitHex2 +----------------------------------------+ | and so on for HitHex 1 through 50 | | and pseudo-parameters 101 through 150 | +----------------------------------------+ $m1 149/pseudo HitHex /gain=1 /name=HitHex49 $m1 150/pseudo HitHex /gain=1 /name=HitHex50 $ $! Define a 2D histogram of HexSum vs HexMult $ $h2 52 1024 /name=MS $m2 161/pseudo 151/pseudo MS /xgain=1 /ygain=32 /name=MS $ $set noverify Daphne Acquisition Examples Page 46 Other BGOALL Setup Files 3 October 1990 BGOALL_FLT.COM $flt/def beta 0.1 $flt/list/fortran/output=fltdefs.inc BGOALL_FIX.COM $fix/def eiso 0 $fix/list/fortran/output=fixdefs.inc Daphne Acquisition Examples Page 47 TAMU.EHA 3 October 1990 BRU START ; ; User dependent I/O configuration information. ; Define slots. ; NPAT = 1 NADC1 = 4 NADC2 = 5 NADC3 = 6 NADC4 = 7 NADC5 = 8 NADC6 = 9 NADC7 = 10 NTDC1 = 11 NTDC2 = 12 NTDC3 = 13 NTDC4 = 14 ; ; Define bits ; res1bit = [ 1 ] res2bit = [ 2 ] res3bit = [ 3 ] res4bit = [ 4 ] res5bit = [ 5 ] res6bit = [ 6 ] res7bit = [ 7 ] res8bit = [ 8 ] res9bit = [ 9 ] res10bit = [ 10 ] res11bit = [ 11 ] res12bit = [ 12 ] res13bit = [ 13 ] res14bit = [ 14 ] lp1bit = [ 1 ] lp2bit = [ 2 ] lp3bit = [ 3 ] lp4bit = [ 4 ] lp5bit = [ 5 ] lp6bit = [ 6 ] plf1bit = [ 7 ] plf2bit = [ 8 ] fis1bit = [ 9 ] fis2bit = [ 10 ] naibit = [ 11 ] neut1bit = [ 12 ] neut2bit = [ 13 ] neut3bit = [ 14 ] neut4bit = [ 15 ] Daphne Acquisition Examples Page 48 TAMU.EHA 3 October 1990 ; ; User written initiation routine ; end with BRUR ; INIT CNAF 1,NPAT,7,11 ; Read and clear pattern register CNAF 1,NADC1,7,2 ; Read and clear ADC1 CNAF 1,NADC2,7,2 ; " ADC2 CNAF 1,NADC3,7,2 ; " ADC3 CNAF 1,NADC4,7,2 ; " ADC4 CNAF 1,NADC5,7,2 ; " ADC5 CNAF 1,NADC6,7,2 ; " ADC6 CNAF 1,NADC7,7,2 ; " ADC7 CNAF 1,NTDC1,7,2 ; Read and clear TDC1 CNAF 1,NTDC2,7,2 ; " TDC2 CNAF 1,NTDC3,7,2 ; " TDC3 CNAF 1,NTDC4,7,2 ; " TDC4 BRUR ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; User written main subroutine. ; Event invoked. ; End with BRUR ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; MAIN DLAY 1000 CNAF 1,NPAT,0,2 ; Read in pattern bits. MOV CA1,PAT OUT CA1 nop CNAF 1,NPAT,1,0 ; Read in pattern bits. OUT CA1 NOP IF(PAT.ANY.RES1BIT)DORES1 ; Read only those with TRES2 IF(PAT.ANY.RES2BIT)DORES2 ; something in them. TRES3 IF(PAT.ANY.RES3BIT)DORES3 TRES4 IF(PAT.ANY.RES4BIT)DORES4 TRES5 IF(PAT.ANY.RES5BIT)DORES5 TRES6 IF(PAT.ANY.RES6BIT)DORES6 TRES7 IF(PAT.ANY.RES7BIT)DORES7 TRES8 IF(PAT.ANY.RES8BIT)DORES8 TRES9 IF(PAT.ANY.RES9BIT)DORES9 TRES10 IF(PAT.ANY.RES10BIT)DORES10 TRES11 IF(PAT.ANY.RES11BIT)DORES11 TRES12 IF(PAT.ANY.RES12BIT)DORES12 TRES13 IF(PAT.ANY.RES13BIT)DORES13 TRES14 IF(PAT.ANY.RES14BIT)DORES14 Daphne Acquisition Examples Page 49 TAMU.EHA 3 October 1990 TLP1 CNAF 1,NPAT,1,2 ; Read in pattern bits. MOV CA1,PAT NOP IF(PAT.ANY.LP1BIT)DOLP1 ; Read only those with TLP2 IF(PAT.ANY.LP2BIT)DOLP2 ; something in them. TLP3 IF(PAT.ANY.LP3BIT)DOLP3 TLP4 IF(PAT.ANY.LP4BIT)DOLP4 TLP5 IF(PAT.ANY.LP5BIT)DOLP5 TLP6 IF(PAT.ANY.LP6BIT)DOLP6 TPLF1 IF(PAT.ANY.PLF1BIT)DOPLF1 TPLF2 IF(PAT.ANY.PLF2BIT)DOPLF2 TFIS1 IF(PAT.ANY.FIS1BIT)DOFIS1 TFIS2 IF(PAT.ANY.FIS2BIT)DOFIS2 TNAI IF(PAT.ANY.NAIBIT)DONAI TN1 IF(PAT.ANY.NEUT1BIT)DONEUT1 TN2 IF(PAT.ANY.NEUT2BIT)DONEUT2 TN3 IF(PAT.ANY.NEUT3BIT)DONEUT3 TN4 IF(PAT.ANY.NEUT4BIT)DONEUT4 ; ; Clear devices at the end of event. ; ENDEVNT NOP CNAF 1,NADC1,7,2 ; Clear all ADC's CNAF 1,NADC2,7,2 CNAF 1,NADC3,7,2 CNAF 1,NADC4,7,2 CNAF 1,NADC5,7,2 CNAF 1,NADC6,7,2 CNAF 1,NADC7,7,2 CNAF 1,NTDC1,7,2 ; Clear all TDC's CNAF 1,NTDC2,7,2 CNAF 1,NTDC3,7,2 CNAF 1,NTDC4,7,2 CNAF 1,NPAT,7,11 ; Clear pattern bits BRUR Daphne Acquisition Examples Page 50 TAMU.EHA 3 October 1990 ; ; Action routines ; DORES1 CNAF 1,NADC1,0,0 ; Read ADC for residue #1 OUT CA1 NOP CNAF 1,NTDC1,0,0 OUT CA1 NOP BRU TRES2 ; Return to TRES2 DORES2 CNAF 1,NADC1,1,0 ; Read ADC for residue #2 OUT CA1 NOP CNAF 1,NTDC1,1,0 ; Read TDC for residue #2 OUT CA1 NOP BRU TRES3 ; Return to TRES3 DORES3 CNAF 1,NADC1,2,0 ; Read ADC for residue #3 OUT CA1 NOP CNAF 1,NTDC1,2,0 ; Read TDC for residue #3 OUT CA1 NOP BRU TRES4 ; Return to TRES4 DORES4 CNAF 1,NADC1,3,0 ; Read ADC for residue #4 OUT CA1 NOP CNAF 1,NTDC1,3,0 ; Read TDC for residue #4 OUT CA1 NOP BRU TRES5 ; Return to TRES5 DORES5 CNAF 1,NADC1,4,0 ; Read ADC for residue #5 OUT CA1 NOP CNAF 1,NTDC1,4,0 ; Read TDC for residue #5 OUT CA1 NOP BRU TRES6 ; Return to TRES6 DORES6 CNAF 1,NADC1,5,0 ; Read ADC for residue #6 OUT CA1 NOP CNAF 1,NTDC1,5,0 ; Read TDC for residue #6 OUT CA1 NOP BRU TRES7 ; Return to TRES7 DORES7 CNAF 1,NADC1,6,0 ; Read ADC for residue #7 OUT CA1 NOP CNAF 1,NTDC1,6,0 ; Read TDC for residue #7 OUT CA1 NOP BRU TRES8 ; Return to TRES8 Daphne Acquisition Examples Page 51 TAMU.EHA 3 October 1990 DORES8 CNAF 1,NADC1,7,0 ; Read ADC for residue #8 OUT CA1 NOP CNAF 1,NTDC1,7,0 ; Read TDC for residue #8 OUT CA1 NOP BRU TRES9 ; Return to TRES9 DORES9 CNAF 1,NADC2,0,0 ; Read ADC for residue #9 OUT CA1 NOP CNAF 1,NTDC2,0,0 ; Read TDC for residue #9 OUT CA1 NOP BRU TRES10 ; Return to TRES10 DORES10 CNAF 1,NADC2,1,0 ; Read ADC for residue #10 OUT CA1 NOP CNAF 1,NTDC2,1,0 ; Read TDC for residue #10 OUT CA1 NOP BRU TRES11 ; Return to TRES11 DORES11 CNAF 1,NADC2,2,0 ; Read ADC for residue #11 OUT CA1 NOP CNAF 1,NTDC2,2,0 ; Read TDC for residue #11 OUT CA1 NOP BRU TRES12 ; Return to TRES12 DORES12 CNAF 1,NADC2,3,0 ; Read ADC for residue #12 OUT CA1 NOP CNAF 1,NTDC2,3,0 ; Read TDC for residue #12 OUT CA1 NOP BRU TRES13 ; Return to TRES13 DORES13 CNAF 1,NADC2,4,0 ; Read ADC for residue #13 OUT CA1 NOP CNAF 1,NTDC2,4,0 ; Read TDC for residue #13 OUT CA1 NOP BRU TRES14 ; Return to TRES14 DORES14 CNAF 1,NADC2,5,0 ; Read ADC for residue #14 OUT CA1 NOP CNAF 1,NTDC2,5,0 ; Read TDC for residue #14 OUT CA1 NOP BRU TLP1 ; Return to TLP1 Daphne Acquisition Examples Page 52 TAMU.EHA 3 October 1990 DOLP1 CNAF 1,NADC2,6,0 ; Read ADC for DE1 of LP#1 OUT CA1 NOP CNAF 1,NADC2,7,0 ; Read ADC for DE2 of LP#1 OUT CA1 NOP CNAF 1,NADC3,0,0 ; Read ADC for DE3 of LP#1 OUT CA1 NOP CNAF 1,NADC3,1,0 ; Read ADC for E of LP#1 OUT CA1 NOP CNAF 1,NTDC2,6,0 ; Read TDC for DE2 of LP#1 OUT CA1 NOP BRU TLP2 ; Return to TLP2 DOLP2 CNAF 1,NADC3,2,0 ; Read ADC for DE1 of LP#2 OUT CA1 NOP CNAF 1,NADC3,3,0 ; Read ADC for DE2 of LP#2 OUT CA1 NOP CNAF 1,NADC3,4,0 ; Read ADC for DE3 of LP#2 OUT CA1 NOP CNAF 1,NADC3,5,0 ; Read ADC for E of LP#2 OUT CA1 NOP CNAF 1,NTDC2,7,0 ; Read TDC for DE2 of LP#2 OUT CA1 NOP BRU TLP3 ; Return to TLP3 DOLP3 CNAF 1,NADC3,6,0 ; Read ADC for DE1 of LP#3 OUT CA1 NOP CNAF 1,NADC3,7,0 ; Read ADC for DE2 of LP#3 OUT CA1 NOP CNAF 1,NADC4,0,0 ; Read ADC for DE3 of LP#3 OUT CA1 NOP CNAF 1,NADC4,1,0 ; Read ADC for E of LP#3 OUT CA1 NOP CNAF 1,NTDC3,0,0 ; Read TDC for DE2 of LP#3 OUT CA1 NOP BRU TLP4 ; Return to TLP4 Daphne Acquisition Examples Page 53 TAMU.EHA 3 October 1990 DOLP4 CNAF 1,NADC4,2,0 ; Read ADC for DE1 of LP#4 OUT CA1 NOP CNAF 1,NADC4,3,0 ; Read ADC for DE2 of LP#4 OUT CA1 NOP CNAF 1,NADC4,4,0 ; Read ADC for E3 of LP#4 OUT CA1 NOP CNAF 1,NTDC3,1,0 ; Read TDC for DE2 of LP#4 OUT CA1 NOP BRU TLP5 ; Return to TLP5 DOLP5 CNAF 1,NADC4,5,0 ; Read ADC for DE1 of LP#5 OUT CA1 NOP CNAF 1,NADC4,6,0 ; Read ADC for DE2 of LP#5 OUT CA1 NOP CNAF 1,NADC4,7,0 ; Read ADC for E3 of LP#5 OUT CA1 NOP CNAF 1,NTDC3,2,0 ; Read TDC for DE2 of LP#5 OUT CA1 NOP BRU TLP6 ; Return to TLP6 DOLP6 CNAF 1,NADC5,0,0 ; Read ADC for DE1 of LP#6 OUT CA1 NOP CNAF 1,NADC5,1,0 ; Read ADC for DE2 of LP#6 OUT CA1 NOP CNAF 1,NADC5,2,0 ; Read ADC for E3 of LP#6 OUT CA1 NOP CNAF 1,NTDC3,3,0 ; Read TDC for DE2 of LP#6 OUT CA1 NOP BRU TPLF1 ; Return to TPLF1 DOPLF1 CNAF 1,NADC5,3,0 ; Read ADC for E of PLF#1 OUT CA1 NOP CNAF 1,NTDC3,4,0 ; Read TDC for of PLF#1 E OUT CA1 NOP BRU TPLF2 ; Return to TPLF2 DOPLF2 CNAF 1,NADC5,4,0 ; Read ADC for E of PLF#2 OUT CA1 NOP CNAF 1,NTDC3,5,0 ; Read TDC for of PLF#2 E OUT CA1 NOP BRU TFIS1 ; RETURN TO TFIS1 Daphne Acquisition Examples Page 54 TAMU.EHA 3 October 1990 DOFIS1 CNAF 1,NADC5,5,0 ; READ ADC FOR E FIS 1 OUT CA1 NOP CNAF 1,NTDC3,6,0 ; READ TDC FOR FIS 1 OUT CA1 NOP BRU TFIS2 DOFIS2 CNAF 1,NADC5,6,0 ; READ ADC FOR E FIS 2 OUT CA1 NOP CNAF 1,NTDC3,7,0 ; READ TDC FOR FIS 2 OUT CA1 NOP BRU TNAI DONAI CNAF 1,NADC5,7,0 ; READ ADC FOR E NAI OUT CA1 NOP CNAF 1,NADC6,0,0 ; READ ADC FOR NG NAI OUT CA1 NOP CNAF 1,NTDC4,0,0 ; READ TDC FOR NAI OUT CA1 NOP BRU TN1 ; Return to TN1 DONEUT1 CNAF 1,NADC7,0,0 ; Read ADC for neutron #1 OUT CA1 NOP CNAF 1,NTDC4,1,0 ; Read TDC for neutron #1 OUT CA1 NOP CNAF 1,NADC7,4,0 ; Read ADC for Neutron #1 discrimination OUT CA1 NOP BRU TN2 ; Return to TN2 DONEUT2 CNAF 1,NADC7,1,0 ; Read ADC for neutron #2 OUT CA1 NOP CNAF 1,NTDC4,2,0 ; Read TDC for neutron #2 OUT CA1 NOP CNAF 1,NADC7,5,0 ; Read ADC for Neutron #2 discrimination OUT CA1 NOP BRU TN3 ; Return to TN3 DONEUT3 CNAF 1,NADC7,2,0 ; Read ADC for neutron #3 OUT CA1 NOP CNAF 1,NTDC4,3,0 ; Read TDC for neutron #3 OUT CA1 NOP CNAF 1,NADC7,6,0 ; Read ADC for Neutron #3 discrimination OUT CA1 NOP BRU TN4 ; Return to TN4 Daphne Acquisition Examples Page 55 TAMU.EHA 3 October 1990 DONEUT4 CNAF 1,NADC7,3,0 ; Read ADC for neutron #4 OUT CA1 NOP CNAF 1,NTDC4,4,0 ; Read TDC for neutron #4 OUT CA1 NOP CNAF 1,NADC7,7,0 ; Read ADC for Neutron #4 discrimination OUT CA1 NOP BRU ENDEVNT ; Return to end of event routine INCLUDE DAPEH:STANDARD Daphne Acquisition Examples Page 56 TAMU.FOR 3 October 1990 logical function user (et,nw,ev) c implicit undefined ( a - z ) save c c et - event type c nw - number of words in event c ev - event vector c integer*2 et integer*2 nw integer*2 ev(1) c integer*2 pev(90) c bitval - resulting bit value c evhead - No. of pattern words c evend - position of last word integer*2 bitval(30), evhead, evend c DESC -- Describes how to unpack the pseudo-event vector integer*2 desc(5,30) c c pat bit nWords pseudo flag c word # # number c data (desc(i, 1),i=1,5) / 1, 1, 2, 1, 1 / data (desc(i, 2),i=1,5) / 1, 2, 2, 3, 2 / data (desc(i, 3),i=1,5) / 1, 3, 2, 5, 3 / data (desc(i, 4),i=1,5) / 1, 4, 2, 7, 4 / data (desc(i, 5),i=1,5) / 1, 5, 2, 9, 5 / data (desc(i, 6),i=1,5) / 1, 6, 2, 11, 6 / data (desc(i, 7),i=1,5) / 1, 7, 2, 13, 7 / data (desc(i, 8),i=1,5) / 1, 8, 2, 15, 8 / data (desc(i, 9),i=1,5) / 1, 9, 2, 17, 9 / data (desc(i, 10),i=1,5) / 1, 10, 2, 19, 10 / data (desc(i, 11),i=1,5) / 1, 11, 2, 21, 11/ data (desc(i, 12),i=1,5) / 1, 12, 2, 23, 12 / data (desc(i, 13),i=1,5) / 1, 13, 2, 25, 13 / data (desc(i, 14),i=1,5) / 1, 14, 2, 27, 14 / data (desc(i, 15),i=1,5) / 2, 1, 5, 29, 15 / data (desc(i, 16),i=1,5) / 2, 2, 5, 34, 16 / data (desc(i, 17),i=1,5) / 2, 3, 5, 39, 17 / data (desc(i, 18),i=1,5) / 2, 4, 4, 44, 18 / data (desc(i, 19),i=1,5) / 2, 5, 4, 48, 19 / data (desc(i, 20),i=1,5) / 2, 6, 4, 52, 20/ data (desc(i, 21),i=1,5) / 2, 7, 2, 56, 21/ data (desc(i, 22),i=1,5) / 2, 8, 2, 58, 22 / data (desc(i, 23),i=1,5) / 2, 9, 2, 60, 23 / data (desc(i, 24),i=1,5) / 2, 10, 2, 62, 24/ data (desc(i, 25),i=1,5) / 2, 11, 3, 64, 25/ data (desc(i, 26),i=1,5) / 2, 12, 3, 67, 26 / data (desc(i, 27),i=1,5) / 2, 13, 3, 70, 27 / data (desc(i, 28),i=1,5) / 2, 14, 3, 73, 28 / data (desc(i, 29),i=1,5) / 2, 15, 3, 76, 29 / data (desc(i, 30),i=1,5) /-1, -1, -1, -1, -1/ c Daphne Acquisition Examples Page 57 TAMU.FOR 3 October 1990 data evhead/ 2 / c c Clear the array pev c call zeroi2 (90,pev) c c unpack real vector into pseudo-vector c call unpack(desc,ev,evhead,evend,pev,bitval) return c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c entry userin c c Get the address of the pseudo event vector c call defpev (pev,pev(90)) nevnow = 0 return end Daphne Acquisition Examples Page 58 TAMU.SETUP 3 October 1990 $ evs 0/fix=2 /qsc=1 $ oneofn 3 $ $ h1 /name=res1e 1024 /nozeros $ h1 /name=res2e 1024 /nozeros $ h1 /name=res3e 1024 /nozeros $ h1 /name=res4e 1024 /nozeros $ h1 /name=res5e 1024 /nozeros $ h1 /name=res6e 1024 /nozeros $ h1 /name=res7e 1024 /nozeros $ h1 /name=res8e 1024 /nozeros $ h1 /name=res9e 1024 /nozeros $ h1 /name=res10e 1024 /nozeros $ h1 /name=res11e 1024 /nozeros $ h1 /name=res12e 1024 /nozeros $ h1 /name=res13e 1024 /nozeros $ h1 /name=res14e 1024 /nozeros $ h1 /name=lp1de1 1024 /nozeros $ h1 /name=lp1de2 1024 /nozeros $ h1 /name=lp1de3 1024 /nozeros $ h1 /name=lp1e 1024 /nozeros $ h1 /name=lp2de1 1024 /nozeros $ h1 /name=lp2de2 1024 /nozeros $ h1 /name=lp2de3 1024 /nozeros $ h1 /name=lp2e 1024 /nozeros $ h1 /name=lp3de1 1024 /nozeros $ h1 /name=lp3de2 1024 /nozeros $ h1 /name=lp3de3 1024 /nozeros $ h1 /name=lp3e 1024 /nozeros $ h1 /name=lp4de1 1024 /nozeros $ h1 /name=lp4de2 1024 /nozeros $ h1 /name=lp4e 1024 /nozeros $ h1 /name=lp5de1 1024 /nozeros $ h1 /name=lp5de2 1024 /nozeros $ h1 /name=lp5e 1024 /nozeros $ h1 /name=lp6de1 1024 /nozeros $ h1 /name=lp6de2 1024 /nozeros $ h1 /name=lp6e 1024 /nozeros $ h1 /name=plf1e 1024 /nozeros $ h1 /name=plf2e 1024 /nozeros $ h1 /name=fis1e 1024 /nozeros $ h1 /name=fis2e 1024 /nozeros $ h1 /name=naie 1024 /nozeros $ h1 /name=naing 1024 /nozeros $ h1 /name=neu1e 1024 /nozeros $ h1 /name=neu2e 1024 /nozeros $ h1 /name=neu3e 1024 /nozeros $ h1 /name=neu4e 1024 /nozeros $ h1 /name=neu1ng 1024 /nozeros $ h1 /name=neu2ng 1024 /nozeros $ h1 /name=neu3ng 1024 /nozeros $ h1 /name=neu4ng 1024 /nozeros Daphne Acquisition Examples Page 59 TAMU.SETUP 3 October 1990 $ h1 /name=res1t 1024 /nozeros $ h1 /name=res2t 1024 /nozeros $ h1 /name=res3t 1024 /nozeros $ h1 /name=res4t 1024 /nozeros $ h1 /name=res5t 1024 /nozeros $ h1 /name=res6t 1024 /nozeros $ h1 /name=res7t 1024 /nozeros $ h1 /name=res8t 1024 /nozeros $ h1 /name=res9t 1024 /nozeros $ h1 /name=res10t 1024 /nozeros $ h1 /name=res11t 1024 /nozeros $ h1 /name=res12t 1024 /nozeros $ h1 /name=res13t 1024 /nozeros $ h1 /name=res14t 1024 /nozeros $ h1 /name=lp1tm 1024 /nozeros $ h1 /name=lp2tm 1024 /nozeros $ h1 /name=lp3tm 1024 /nozeros $ h1 /name=lp4tm 1024 /nozeros $ h1 /name=lp5tm 1024 /nozeros $ h1 /name=lp6tm 1024 /nozeros $ h1 /name=plf1tf 1024 /nozeros $ h1 /name=plf2tf 1024 /nozeros $ h1 /name=fis1t 1024 /nozeros $ h1 /name=fis2t 1024 /nozeros $ h1 /name=nait 1024 /nozeros $ h1 /name=neu1t 1024 /nozeros $ h1 /name=neu2t 1024 /nozeros $ h1 /name=neu3t 1024 /nozeros $ h1 /name=neu4t 1024 /nozeros $ h1 /name=naie_2 2048 /nozeros $ $ ! 2D Histograms $ $ h2 /name=res1et 128 128 /nozeros $ h2 /name=res2et 128 128 /nozeros $ h2 /name=res3et 128 128 /nozeros $ h2 /name=res4et 128 128 /nozeros $ h2 /name=res5et 128 128 /nozeros $ h2 /name=res6et 128 128 /nozeros $ h2 /name=res7et 128 128 /nozeros $ h2 /name=res8et 128 128 /nozeros $ h2 /name=res9et 128 128 /nozeros $ h2 /name=res10et 128 128 /nozeros $ h2 /name=res11et 128 128 /nozeros $ h2 /name=res12et 128 128 /nozeros $ h2 /name=res13et 128 128 /nozeros $ h2 /name=res14et 128 128 /nozeros Daphne Acquisition Examples Page 60 TAMU.SETUP 3 October 1990 $ h2 /name=lp1de1de2 128 128 /nozeros $ h2 /name=lp1de2de3 128 128 /nozeros $ h2 /name=lp1de3e 128 128 /nozeros $ h2 /name=lp1et 128 128 /nozeros $ h2 /name=lp2de1de2 128 128 /nozeros $ h2 /name=lp2de2de3 128 128 /nozeros $ h2 /name=lp2de3e 128 128 /nozeros $ h2 /name=lp2et 128 128 /nozeros $ h2 /name=lp3de1de2 128 128 /nozeros $ h2 /name=lp3de2de3 128 128 /nozeros $ h2 /name=lp3de3e 128 128 /nozeros $ h2 /name=lp3et 128 128 /nozeros $ h2 /name=lp4de1de2 128 128 /nozeros $ h2 /name=lp4de2e 128 128 /nozeros $ h2 /name=lp4et 128 128 /nozeros $ h2 /name=lp5de1de2 128 128 /nozeros $ h2 /name=lp5de2e 128 128 /nozeros $ h2 /name=lp5et 128 128 /nozeros $ h2 /name=lp6de1de2 128 128 /nozeros $ h2 /name=lp6de2e 128 128 /nozeros $ h2 /name=lp6et 128 128 /nozeros $ h2 /name=plf1et 128 128 /nozeros $ h2 /name=plf2et 128 128 /nozeros $ h2 /name=fis1et 128 128 /nozeros $ h2 /name=fis2et 128 128 /nozeros $ h2 /name=naiet 128 128 /nozeros $ h2 /name=neut1et 128 128 /nozeros $ h2 /name=neut2et 128 128 /nozeros $ h2 /name=neut3et 128 128 /nozeros $ h2 /name=neut4et 128 128 /nozeros $ $ ! 1D Maps $ $ m1 /name=res1e 1/pseudo res1e /gain=2 $ m1 /name=res2e 3/pseudo res2e /gain=2 $ m1 /name=res3e 5/pseudo res3e /gain=2 $ m1 /name=res4e 7/pseudo res4e /gain=2 $ m1 /name=res5e 9/pseudo res5e /gain=2 $ m1 /name=res6e 11/pseudo res6e /gain=2 $ m1 /name=res7e 13/pseudo res7e /gain=2 $ m1 /name=res8e 15/pseudo res8e /gain=2 $ m1 /name=res9e 17/pseudo res9e /gain=2 $ m1 /name=res10e 19/pseudo res10e /gain=2 $ m1 /name=res11e 21/pseudo res11e /gain=2 $ m1 /name=res12e 23/pseudo res12e /gain=2 $ m1 /name=res13e 25/pseudo res13e /gain=2 $ m1 /name=res14e 27/pseudo res14e /gain=2 Daphne Acquisition Examples Page 61 TAMU.SETUP 3 October 1990 $ m1 /name=lp1de1 29/pseudo lp1de1 /gain=2 $ m1 /name=lp1de2 30/pseudo lp1de2 /gain=2 $ m1 /name=lp1de3 31/pseudo lp1de3 /gain=2 $ m1 /name=lp1e 32/pseudo lp1e /gain=2 $ m1 /name=lp2de1 34/pseudo lp2de1 /gain=2 $ m1 /name=lp2de2 35/pseudo lp2de2 /gain=2 $ m1 /name=lp2de3 36/pseudo lp2de3 /gain=2 $ m1 /name=lp2e 37/pseudo lp2e /gain=2 $ m1 /name=lp3de1 39/pseudo lp3de1 /gain=2 $ m1 /name=lp3de2 40/pseudo lp3de2 /gain=2 $ m1 /name=lp3de3 41/pseudo lp3de3 /gain=2 $ m1 /name=lp3e 42/pseudo lp3e /gain=2 $ m1 /name=lp4de1 44/pseudo lp4de1 /gain=2 $ m1 /name=lp4de2 45/pseudo lp4de2 /gain=2 $ m1 /name=lp4e 46/pseudo lp4e /gain=2 $ m1 /name=lp5de1 48/pseudo lp5de1 /gain=2 $ m1 /name=lp5de2 49/pseudo lp5de2 /gain=2 $ m1 /name=lp5e 50/pseudo lp5e /gain=2 $ m1 /name=lp6de1 52/pseudo lp6de1 /gain=2 $ m1 /name=lp6de2 53/pseudo lp6de2 /gain=2 $ m1 /name=lp6e 54/pseudo lp6e /gain=2 $ m1 /name=plf1e 56/pseudo plf1e /gain=2 $ m1 /name=plf2e 58/pseudo plf2e /gain=2 $ m1 /name=fis1e 60/pseudo fis1e /gain=2 $ m1 /name=fis2e 62/pseudo fis2e /gain=2 $ m1 /name=naie 64/pseudo naie /gain=2 $ m1 /name=naing 65/pseudo naing /gain=2 $ m1 /name=neu1e 67/pseudo neu1e /gain=2 $ m1 /name=neu2e 70/pseudo neu2e /gain=2 $ m1 /name=neu3e 73/pseudo neu3e /gain=2 $ m1 /name=neu4e 76/pseudo neu4e /gain=2 $ m1 /name=neu1ng 69/pseudo neu1ng /gain=2 $ m1 /name=neu2ng 72/pseudo neu2ng /gain=2 $ m1 /name=neu3ng 75/pseudo neu3ng /gain=2 $ m1 /name=neu4ng 78/pseudo neu4ng /gain=2 $ m1 /name=res1t 2/pseudo res1t /gain=2 $ m1 /name=res2t 4/pseudo res2t /gain=2 $ m1 /name=res3t 6/pseudo res3t /gain=2 $ m1 /name=res4t 8/pseudo res4t /gain=2 $ m1 /name=res5t 10/pseudo res5t /gain=2 $ m1 /name=res6t 12/pseudo res6t /gain=2 $ m1 /name=res7t 14/pseudo res7t /gain=2 $ m1 /name=res8t 16/pseudo res8t /gain=2 $ m1 /name=res9t 18/pseudo res9t /gain=2 $ m1 /name=res10t 20/pseudo res10t /gain=2 $ m1 /name=res11t 22/pseudo res11t /gain=2 $ m1 /name=res12t 24/pseudo res12t /gain=2 $ m1 /name=res13t 26/pseudo res13t /gain=2 $ m1 /name=res14t 28/pseudo res14t /gain=2 Daphne Acquisition Examples Page 62 TAMU.SETUP 3 October 1990 $ m1 /name=lp1tm 33/pseudo lp1tm /gain=2 $ m1 /name=lp2tm 38/pseudo lp2tm /gain=2 $ m1 /name=lp3tm 43/pseudo lp3tm /gain=2 $ m1 /name=lp4tm 47/pseudo lp4tm /gain=2 $ m1 /name=lp5tm 51/pseudo lp5tm /gain=2 $ m1 /name=lp6tm 55/pseudo lp6tm /gain=2 $ m1 /name=fis1t 61/pseudo fis1t /gain=2 $ m1 /name=fis2t 63/pseudo fis2t /gain=2 $ m1 /name=nait 66/pseudo nait /gain=2 $ m1 /name=neu1t 68/pseudo neu1t /gain=2 $ m1 /name=neu2t 71/pseudo neu2t /gain=2 $ m1 /name=neu3t 74/pseudo neu3t /gain=2 $ m1 /name=neu4t 77/pseudo neu4t /gain=2 $ m1 /name=plf1tf 57/pseudo plf1tf /gain=2 $ m1 /name=plf2tf 59/pseudo plf2tf /gain=2 $ m1 /name=pat1 1/normal $ m1 /name=pat2 2/normal $ $ ! 2D Maps $ $ m2 /name=res1et 1/pseudo 2/pseudo res1et /xgain=16 /ygain=16 $ m2 /name=res2et 3/pseudo 4/pseudo res2et /xgain=16 /ygain=16 $ m2 /name=res3et 5/pseudo 6/pseudo res3et /xgain=16 /ygain=16 $ m2 /name=res4et 7/pseudo 8/pseudo res4et /xgain=16 /ygain=16 $ m2 /name=res5et 9/pseudo 10/pseudo res5et /xgain=16 /ygain=16 $ m2 /name=res6et 11/pseudo 12/pseudo res6et /xgain=16 /ygain=16 $ m2 /name=res7et 13/pseudo 14/pseudo res7et /xgain=16 /ygain=16 $ m2 /name=res8et 15/pseudo 16/pseudo res8et /xgain=16 /ygain=16 $ m2 /name=res9et 17/pseudo 18/pseudo res9et /xgain=16 /ygain=16 $ m2 /name=res10et 19/pseudo 20/pseudo res10et /xgain=16 /ygain=16 $ m2 /name=res11et 21/pseudo 22/pseudo res11et /xgain=16 /ygain=16 $ m2 /name=res12et 23/pseudo 24/pseudo res12et /xgain=16 /ygain=16 $ m2 /name=res13et 25/pseudo 26/pseudo res13et /xgain=16 /ygain=16 $ m2 /name=res14et 27/pseudo 28/pseudo res14et /xgain=16 /ygain=16 $ m2 /name=lp1de1de2 29/pseudo 30/pseudo lp1de1de2 /xgain=16 /ygain=16 $ m2 /name=lp1de2de3 30/pseudo 31/pseudo lp1de2de3 /xgain=16 /ygain=16 $ m2 /name=lp1de3e 31/pseudo 32/pseudo lp1de3e /xgain=16 /ygain=16 $ m2 /name=lp1et 30/pseudo 33/pseudo lp1et /xgain=16 /ygain=16 $ m2 /name=lp2de1de2 34/pseudo 35/pseudo lp2de1de2 /xgain=16 /ygain=16 $ m2 /name=lp2de2de3 35/pseudo 36/pseudo lp2de2de3 /xgain=16 /ygain=16 $ m2 /name=lp2de3e 36/pseudo 37/pseudo lp2de3e /xgain=16 /ygain=16 $ m2 /name=lp2et 35/pseudo 38/pseudo lp2et /xgain=16 /ygain=16 $ m2 /name=lp3de1de2 39/pseudo 40/pseudo lp3de1de2 /xgain=16 /ygain=16 $ m2 /name=lp3de2de3 40/pseudo 41/pseudo lp3de2de3 /xgain=16 /ygain=16 $ m2 /name=lp3de3e 41/pseudo 42/pseudo lp3de3e /xgain=16 /ygain=16 $ m2 /name=lp3et 40/pseudo 43/pseudo lp3et /xgain=16 /ygain=16 $ m2 /name=lp4de1de2 44/pseudo 45/pseudo lp4de1de2 /xgain=16 /ygain=16 $ m2 /name=lp4de2e 45/pseudo 46/pseudo lp4de2e /xgain=16 /ygain=16 $ m2 /name=lp4et 45/pseudo 47/pseudo lp4et /xgain=16 /ygain=16 $ m2 /name=lp5de1de2 48/pseudo 49/pseudo lp5de1de2 /xgain=16 /ygain=16 $ m2 /name=lp5de2e 49/pseudo 50/pseudo lp5de2e /xgain=16 /ygain=16 $ m2 /name=lp5et 49/pseudo 51/pseudo lp5et /xgain=16 /ygain=16 $ m2 /name=lp6de1de2 52/pseudo 53/pseudo lp6de1de2 /xgain=16 /ygain=16 $ m2 /name=lp6de2e 53/pseudo 54/pseudo lp6de2e /xgain=16 /ygain=16 $ m2 /name=lp6et 53/pseudo 55/pseudo lp6et /xgain=16 /ygain=16 Daphne Acquisition Examples Page 63 TAMU.SETUP 3 October 1990 $ m2 /name=plf1et 56/pseudo 57/pseudo plf1et /xgain=16 /ygain=16 $ m2 /name=plf2et 58/pseudo 59/pseudo plf2et /xgain=16 /ygain=16 $ m2 /name=fis1et 60/pseudo 61/pseudo fis1et /xgain=16 /ygain=16 $ m2 /name=fis2et 62/pseudo 63/pseudo fis2et /xgain=16 /ygain=16 $ m2 /name=naiet 64/pseudo 66/pseudo naiet /xgain=16 /ygain=16 $ m2 /name=neut1et 67/pseudo 68/pseudo neut1et /xgain=16 /ygain=16 $ m2 /name=neut2et 70/pseudo 71/pseudo neut2et /xgain=16 /ygain=16 $ m2 /name=neut3et 73/pseudo 74/pseudo neut3et /xgain=16 /ygain=16 $ m2 /name=neut4et 76/pseudo 77/pseudo neut4et /xgain=16 /ygain=16 Daphne Acquisition Examples Page 64 TAMU.SETUP 3 October 1990 TAMU.CON res1: biton pat1 0 res2: biton pat1 1 res3: biton pat1 2 res4: biton pat1 3 res5: biton pat1 4 res6: biton pat1 5 res7: biton pat1 6 res8: biton pat1 7 res9: biton pat1 8 res10: biton pat1 9 res11: biton pat1 10 res12: biton pat1 11 res13: biton pat1 12 res14: biton pat1 13 pat1_15: biton pat1 14 pat1_16: biton pat1 15 lp1: biton pat2 0 lp2: biton pat2 1 lp3: biton pat2 2 lp4: biton pat2 3 lp5: biton pat2 4 lp6: biton pat2 5 plf1: biton pat2 6 plf2: biton pat2 7 fis1: biton pat2 8 fis2: biton pat2 9 nai1: biton pat2 10 neut1: biton pat2 11 neut2: biton pat2 12 neut3: biton pat2 13 neut4: biton pat2 14 pat2_16: biton pat2 15 TAMU.SCL type lrs4434 crate 1 slot 3 channel 0 master_live channel 1 master_total channel 2 beam_live channel 3 beam_total channel 4 res_neu channel 5 res_lp channel 6 plf_neu channel 7 plf_lp channel 8 plf_ff2 channel 9 ff2_neu channel 10 ff2_lp channel 11 ff1_ff2 channel 12 res_gamma channel 13 plf_gamma channel 14 ff_gamma channel 15 res_plf