68 mapping = get_mapping_from_channel_map(args.channel_map)
70 mapping = get_mapping(args.det_id, args.sid)
75 sid_counters = {i : i * 100
for i
in pd.unique(mapping[
"CRP"])}
76 for e, cg
in enumerate([[0, 1, 2, 6, 7], [3, 4, 5, 8, 9]]):
78 resource = db.create_obj(
"ResourceSetAND", f
"{args.det_name}-senders-crate-{'-'.join([str(c) for c in cg])}")
80 crate_map = mapping[mapping[
"Crate"] == crate]
81 amcs = pd.unique(crate_map[
"AMC"])
83 name = f
"crate{crate}-slot{amc}"
84 base_sid = pd.unique(crate_map[crate_map[
"AMC"] == amc][
"CRP"])[0]
85 sid_counters[base_sid] += 1
88 geo = db.create_obj(class_name =
"GeoId", uid = f
"geoId-{args.det_name}-amc-{sid_counters[base_sid]}")
89 geo[
"detector_id"] = args.det_id
90 geo[
"crate_id"] = crate
93 ds = db.create_obj(class_name =
"DetectorStream", uid = f
"DetStream-{sid_counters[base_sid]}")
94 ds[
"source_id"] = sid_counters[base_sid]
97 nw_send = db.create_obj(class_name =
"NetworkInterface", uid = f
"nw-{args.det_name}-amc-{name}-10g")
98 nw_send[
"mac_address"] = amc_net_info[
"mac_10g"]
99 nw_send[
"ip_address"] = [amc_net_info[
"ip_10g"]]
100 nw_send[
"network_name"] =
"Data"
102 nw_rec = db.create_obj(class_name =
"NetworkInterface", uid = f
"nw-{args.det_name}-amc-{name}-1g")
103 nw_rec[
"mac_address"] = amc_net_info[
"mac_1g"]
104 nw_rec[
"ip_address"] = [amc_net_info[
"ip_1g"]]
105 nw_rec[
"network_name"] =
"Control"
107 sender_names = sid_counters[base_sid]
if args.sid_suffix
else name
108 dds = db.create_obj(class_name =
"TdeAmcDetDataSender", uid = f
"dds-{args.det_name}-amc-{sender_names}")
109 dds[
"port"] = 54321 + amc + 1
110 dds[
"control_host"] = f
"np02-amc-{sid_counters[base_sid]}"
111 dds[
"contains"] = [ds]
112 dds[
"uses"] = nw_send
113 dds[
"control_endpoint"] = nw_rec
115 resource[
"contains"] = streams
124 parser.add_argument(
"-s",
"--source-id", dest =
"sid", type = int, default = 2, help =
"base source ID number.")
125 parser.add_argument(
"-D",
"--det_id", dest =
"det_id", type = int, default = 11, help =
"detector id.")