# the list of sub systems according to your needs, possible sub systems
# are: trig rich0 rich1 rich2 mdc0 tof1 tof2 tof3 shw
-#set subSystems { trig shw rich0 rich1 rich2 tof1 tof2 tof3 mdc0 mdc1 }
-set subSystems { trig shw rich0 rich1 rich2 tof1 tof2 tof3 }
-#set subSystems { trig shw rich0 rich1 rich2 tof1 tof2 tof3 }
-#set subSystems { trig shw rich0 rich1 rich2 mdc0 tof1 tof2 tof3 }
-#set subSystems { trig shw tof1 tof2 tof3 mdc0 mdc1 }
-#set subSystems { trig shw tof1 tof2 tof3 }
-#set subSystems { trig }
-#set subSystems { trig rich0 }
-#set subSystems { trig tof1 tof2 tof3 rich0 rich1 rich2 }
-#set subSystems { trig rich0 rich1 rich2 }
-#set subSystems { trig tof1 tof2 tof3}
+# to check total bandwidth:
+# perl -ne 'next unless /memnet/; ($a)=/-w (\d+)/; $b+=$a; print $b ."\n";' hades.tcl
+
+
+set subSystems { trig shw rich0 rich1 rich2 tof1 tof2 tof3 mdc0 mdc1 }
# the component in the HADES_BASE_DIR
set beamTime oct02
# the name of the event builder
set evtBuilder hadeb03
-set watermark [expr 48 * 1024]
+# watermark for mdc0 is calculated independently
+set watermark [expr 12 * 1024]
if {$evtBuilder == "hadeb01"} {
set atmBase 50
set vcc [expr $atmBase + 0]
agent create r2-35 hades /hades/usr/hades/$beamTime/trig/hadaq
-worker create r2-35:memnet -a -p -1 -w 22000 -o ATM:0:$vcc
+worker create r2-35:memnet -a -p -1 -w 27000 -o ATM:0:$vcc
worker create r2-35:readout -s trigconc -a -p -2 -w $watermark
group add acquisition r2-35:memnet
group add acquisition r2-35:readout
set vcc [expr $atmBase + 5]
agent create r2-8 hades /hades/usr/hades/$beamTime/mdc/hadaq
worker create r2-8:memnet -a -p -1 -w 30000 -o ATM:0:$vcc
- worker create r2-8:readout -s mdc0 -a -p -2 -w $watermark
+ worker create r2-8:readout -s mdc0 -a -p -2 -w 24576
group add acquisition r2-8:memnet
group add acquisition r2-8:readout
lappend init r2-8:mdc0:init
if {[lsearch $subSystems mdc1] >= 0} {
set vcc [expr $atmBase + 6]
- agent create r2-29 hades /hades/usr/hades/$beamTime/mdc/hadaq
- worker create r2-29:memnet -a -p -1 -w 20000 -o ATM:0:$vcc
- worker create r2-29:readout -s mdc1 -a -p -2 -w $watermark
- group add acquisition r2-29:memnet
- group add acquisition r2-29:readout
- lappend init r2-29:mdc1:init
- lappend reset r2-29:mdc1:reset
- lappend start r2-29:mdc1:start
+ agent create r2-32 hades /hades/usr/hades/$beamTime/mdc/hadaq
+ worker create r2-32:memnet -a -p -1 -w 20000 -o ATM:0:$vcc
+ worker create r2-32:readout -s mdc1 -a -p -2 -w $watermark
+ group add acquisition r2-32:memnet
+ group add acquisition r2-32:readout
+ lappend init r2-32:mdc1:init
+ lappend reset r2-32:mdc1:reset
+ lappend start r2-32:mdc1:start
+ lappend inPaths "-i ATM:0:$vcc"
+}
+
+if {[lsearch $subSystems shw] >= 0} {
+ set vcc [expr $atmBase + 1]
+ agent create r2-14 hades /hades/usr/hades/$beamTime/shw/hadaq
+ worker create r2-14:memnet -a -p -1 -w 30000 -o ATM:0:$vcc
+ worker create r2-14:readout -s show -a -p -2 -w $watermark
+ group add acquisition r2-14:memnet
+ group add acquisition r2-14:readout
+ lappend init r2-14:shw:init
+ lappend reset r2-14:shw:reset
+ lappend start r2-14:shw:start
+ lappend stop r2-14:shw:stop
lappend inPaths "-i ATM:0:$vcc"
}
lappend start e7_41:tof3:start
}
-if {[lsearch $subSystems shw] >= 0} {
- set vcc [expr $atmBase + 1]
- agent create r2-14 hades /hades/usr/hades/$beamTime/shw/hadaq
- worker create r2-14:memnet -a -p -1 -w 30000 -o ATM:0:$vcc
- worker create r2-14:readout -s show -a -p -2 -w $watermark
- group add acquisition r2-14:memnet
- group add acquisition r2-14:readout
- lappend init r2-14:shw:init
- lappend reset r2-14:shw:reset
- lappend start r2-14:shw:start
- lappend stop r2-14:shw:stop
- lappend inPaths "-i ATM:0:$vcc"
-}
agent create $evtBuilder hadaq /home/hadaq/$beamTime/eb/hadaq_tcl
eval worker create $evtBuilder:evtbuild -a -p -2 -m [llength $inPaths]