Back to home page

EIC code displayed by LXR

 
 

    


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