File indexing completed on 2025-04-19 09:10:11
0001 #ifndef PHASIC_Scales_Core_Scale_Setter_H
0002 #define PHASIC_Scales_Core_Scale_Setter_H
0003
0004 #include "ATOOLS/Org/Getter_Function.H"
0005 #include "ATOOLS/Phys/Cluster_Amplitude.H"
0006 #include "PDF/Main/Cluster_Definitions_Base.H"
0007
0008 namespace PHASIC {
0009
0010 class Process_Base;
0011
0012 struct Core_Scale_Arguments {
0013 Process_Base *p_proc;
0014 std::string m_scale;
0015 Core_Scale_Arguments(Process_Base *const proc,
0016 const std::string &scale=""):
0017 p_proc(proc), m_scale(scale) {}
0018 };
0019
0020 class Core_Scale_Setter {
0021 protected:
0022
0023 Process_Base *p_proc;
0024
0025 public:
0026
0027 Core_Scale_Setter(const Core_Scale_Arguments &args);
0028
0029 virtual ~Core_Scale_Setter();
0030
0031 virtual PDF::Cluster_Param Calculate(ATOOLS::Cluster_Amplitude *const ampl) = 0;
0032
0033 static void ShowSyntax(const size_t i);
0034
0035 };
0036
0037 typedef ATOOLS::Getter_Function
0038 <Core_Scale_Setter,Core_Scale_Arguments> Core_Scale_Getter;
0039
0040 }
0041
0042 #endif