Back to home page

EIC code displayed by LXR

 
 

    


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   };// end of class Core_Scale_Arguments
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   };// end of class Core_Scale_Setter
0036 
0037   typedef ATOOLS::Getter_Function
0038   <Core_Scale_Setter,Core_Scale_Arguments> Core_Scale_Getter;
0039 
0040 }// end of namespace PHASIC
0041 
0042 #endif