59 std::string model_path,
60 std::optional<int> model_template_index = std::nullopt);
74 std::string output_model,
75 std::string target_model,
76 std::string model_path,
77 std::optional<int> model_template_index,
78 bool disable_non_sm_particles,
79 bool bsm_split_generation =
false,
80 bool full_target_generation =
false,
81 bool tree_first_fallback =
false);
87 void addLine(std::ofstream& outputFile,
const std::string& currentLine)
override;
95 const std::string& model_path,
96 std::optional<int> model_template_index = std::nullopt);
102 const std::string& model_path,
103 std::optional<int> model_template_index = std::nullopt);
106 static std::string makeSmFilterHelper();
107 bool usesRegPropSplit()
const;
108 bool usesGenericTreeFirst()
const;
109 static void replaceWilsonOrderArgument(std::string& line);
110 bool consumeTreeSafeWilsonCall(std::ofstream& outputFile,
111 const std::string& currentLine,
114 void emitTreeSafeWilsonCall(std::ofstream& outputFile,
118 std::string output_model{};
119 std::string target_model{};
120 std::string model_path{};
121 std::string marty_path{};
122 std::optional<int> model_template_index{};
123 bool disable_non_sm_particles{
false};
124 bool bsm_split_generation{
false};
125 bool full_target_generation{
false};
126 bool tree_first_fallback{
false};
127 bool inside_calculate_function{
false};
128 bool skip_old_main{
false};
129 bool expression_returned{
false};
130 std::string generic_builder_name{};
131 bool buffering_tree_safe_wilson_call{
false};
132 std::vector<std::string> tree_safe_wilson_call_lines{};
134 std::string model_instantiation{};
static std::string modelSignature(const std::string &model, const std::string &model_path, std::optional< int > model_template_index=std::nullopt)
Build the cache signature written in generated analytical files.
static std::string resolveModelInstantiation(const std::string &model, const std::string &model_path, std::optional< int > model_template_index=std::nullopt)
Resolve the C++ model instantiation used by generated MARTY code.