File indexing completed on 2025-04-19 09:09:56
0001 #ifndef ATOOLS_Phys_Hard_Process_Variation_Generator_Base_H
0002 #define ATOOLS_Phys_Hard_Process_Variation_Generator_Base_H
0003
0004 #include "ATOOLS/Org/Getter_Function.H"
0005
0006 namespace PHASIC { class Process_Base; }
0007
0008 namespace ATOOLS {
0009
0010 struct Weights_Map;
0011
0012 struct Hard_Process_Variation_Generator_Arguments {
0013 PHASIC::Process_Base* p_proc;
0014 };
0015
0016 namespace {
0017 using Args = Hard_Process_Variation_Generator_Arguments;
0018 }
0019
0020 class Hard_Process_Variation_Generator_Base {
0021
0022 public:
0023
0024 virtual ~Hard_Process_Variation_Generator_Base() = default;
0025
0026 virtual void GenerateAndFillWeightsMap(Weights_Map&) = 0;
0027 virtual void ResetWeightsMap(Weights_Map&) = 0;
0028
0029 static void ShowSyntax(const size_t i);
0030
0031 };
0032
0033 using Hard_Process_Variation_Generator_Getter_Function =
0034 ATOOLS::Getter_Function<Hard_Process_Variation_Generator_Base, Args>;
0035
0036 }
0037
0038 #endif