Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:51:48

0001 #ifndef DDVCS_SCALES_MODULE_H
0002 #define DDVCS_SCALES_MODULE_H
0003 
0004 /**
0005  * @file DDVCSScalesModule.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date October 28, 2015
0008  * @version 1.0
0009  */
0010 
0011 #include <string>
0012 
0013 #include "../../../beans/channel/ChannelType.h"
0014 #include "../../../beans/observable/DDVCS/DDVCSObservableKinematic.h"
0015 #include "../ScalesModule.h"
0016 
0017 namespace PARTONS {
0018 class Scales;
0019 } /* namespace PARTONS */
0020 
0021 namespace PARTONS {
0022 
0023 /**
0024  * @class DDVCSScalesModule
0025  *
0026  * @brief Abstract class for modules evaluating factorization and renormalization scales (DDVCS case).
0027  */
0028 class DDVCSScalesModule: public ScalesModule<DDVCSObservableKinematic> {
0029 
0030 public:
0031 
0032     /**
0033      * Type of module name used by the automatization.
0034      */
0035     static const std::string DDVCS_SCALES_MODULE_CLASS_NAME;
0036 
0037     /**
0038      * Constructor.
0039      * @param className Name of class.
0040      */
0041     DDVCSScalesModule(const std::string &className);
0042 
0043     /**
0044      * Copy constructor.
0045      * @param other Object to be copied.
0046      */
0047     DDVCSScalesModule(const DDVCSScalesModule &other);
0048 
0049     /**
0050      * Destructor.
0051      */
0052     virtual ~DDVCSScalesModule();
0053 
0054     virtual DDVCSScalesModule* clone() const = 0;
0055 
0056     virtual Scales compute(const DDVCSObservableKinematic& kinematic) = 0;
0057 
0058 protected:
0059 
0060     virtual void initModule();
0061     virtual void isModuleWellConfigured();
0062 };
0063 
0064 } /* namespace PARTONS */
0065 
0066 #endif /* DDVCS_SCALES_MODULE_H */