--- myst: substitutions: bloc1: python: 1-4,13-20,25-28,31-33 cpp: 3,4,7-10,17-20,23-25 bloc2: python: 17,25 cpp: 7,17 bloc3: python: "31" cpp: "23" bloc4: python: "19" cpp: "9" bloc5: python: 2- cpp: 4- --- (use_cases_macro_dataserver_merge)= # Macro "**dataserverMerge.{{extension}}**" ## Objective The objective of this macro is to merge data contained in a {{tds}} with data contained in another {{tds}}. Both {{tds}} have to contain the same number of patterns. We choose here to merge two {{tds}}, loaded from two ASCII files, each of which contains 9 patterns. The first ASCII file `"tds1.dat"` defines the four variables **x, dy, z, theta**: {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/references/dataserver/tds1.dat" + "\n" + ":language: none\n" + "```" }} and the second ASCII file `"tds2.dat"` defines the four other variables **x2, y, u, ua**: {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/references/dataserver/tds2.dat" + "\n" + ":language: none\n" + "```" }} The merging operation will be executed in the first {{tds}} `tds1`; so it will contain all the attributes at the end. ## Macro {{uranie}} {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/doc/dataserver/use_cases/" + language + "/dataserverMerge." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc1[language] + "\n" + "```" }} Both TDataServers are filled with ASCII data files with the method `filedataRead()`. {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/doc/dataserver/use_cases/" + language + "/dataserverMerge." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc2[language] + "\n" + "```" }} Data of the second dataserver `tds2` are then merged into the first one. {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/doc/dataserver/use_cases/" + language + "/dataserverMerge." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc3[language] + "\n" + "```" }} Data are then dumped in the terminal: {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/doc/dataserver/use_cases/" + language + "/dataserverMerge." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc4[language] + "\n" + "```" }} ## Console {{ "```{literalinclude} " + parent_dir + "/roottest/build/uranie/doc/dataserver/use_cases/" + language + "/dataserverMerge_clean.log" + "\n" + ":language: none\n" + ":lines: " + bloc5[language] + "\n" + "```" }}