--- myst: substitutions: bloc1: python: 1-5,15-69 cpp: 4-8,14-57 bloc2: python: 34-54 cpp: 30-42 --- (use_cases_macro_relauncher_sequential)= # Macro "**relauncherCodeFlowrateSequential.{{extension}}**" ## Objective The goal of this macro is to show how to handle a code with a sequential runner. The `flowrate` code is provided with {{uranie}} and has been also used and discussed throughout these macros. (use_cases_macro_relauncher_sequential_macro)= ## Macro {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/doc/relauncher/use_cases/" + language + "/relauncherCodeFlowrateSequential." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc1[language] + "\n" + "```" }} Here again, a comparison is drawn with the first {{Relaun}} macro (see [](#use_cases_macro_relauncher_cint_macro)) and only the differences are pointed out. The first obvious one, in the very first steps in defining the dataserver and the attributes, is that there are two output attributes. The second one (called 'd') will not be used here. The second (and only other difference) with respect to the CINT function code, is the assessor creation shown below: {{ "```{literalinclude} " + parent_dir + "/roottest/uranie/doc/relauncher/use_cases/" + language + "/relauncherCodeFlowrateSequential." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc2[language] + "\n" + "```" }} The first three lines create the input file instance. It is here a `TFlatScript` object which can basically be compared to a DataServer (or Salome-table) format of the {{Launch}} module for its organisation (particularly with vectors and strings) but without the compulsory header: the order in which you introduce the attribute is then of uttermost importance. The second block of lines is creating the output file object from the `TFlatResult` class (the same remark applies to this object). Finally the assessor itself is created as an instance of the `TCodeEval` class. The only argument is the command to be run, and it needs at least one input and output file. Apart from that, the runner is created and the rest is crystal clear, leading to the following plot. ## Graph {{ "```{" "figure" "} " + parent_dir + "/roottest/build/uranie/doc/relauncher/use_cases/" + language + "/sequential/relauncherCodeFlowrateSequential.png\n" ":align: center\n" ":name: usecases_relauncherCodeFlowrateSequential\n" + figure_scale + "\n" "\n" "Representation of the output as a function of the first input with a colZ option\n" "```" }}