Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef TCS_SCALES_Q2PRIM_MULTIPLIER_H
0002 #define TCS_SCALES_Q2PRIM_MULTIPLIER_H
0003 
0004 /**
0005  * @file TCSScalesQ2PrimMultiplier.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date 28 October 2015
0008  * @version 1.0
0009  */
0010 
0011 #include <ElementaryUtils/parameters/Parameters.h>
0012 #include <string>
0013 
0014 #include "TCSScalesModule.h"
0015 
0016 namespace PARTONS {
0017 
0018 /**
0019  * @class TCSScalesQ2PrimMultiplier
0020  *
0021  * @brief Evaluation of factorization and renormalization scales as a linear function of \f$Q'^2\f$.
0022  *
0023  * This model evaluates factorization and renormalization scales as a linear function of \f$Q'^2\f$, i.e. <br>
0024  * \f$\mu_{F}^{2} = \mu_{R}^{2} = \lambda Q'^2\f$ <br>
0025  * The value of \f$\lambda\f$ can be changed by TCSScalesQ2PrimMultiplier::configure() function using TCSScalesQ2PrimMultiplier::PARAMETER_NAME_LAMBDA parameter key.
0026  *
0027  * For an example of usage of this module see the abstract class documentation.
0028  */
0029 class TCSScalesQ2PrimMultiplier: public TCSScalesModule {
0030 
0031 public:
0032 
0033     /**
0034      * Name to set value of TCSScalesQ2PrimMultiplier::m_lambda via the automatization.
0035      */
0036     static const std::string PARAMETER_NAME_LAMBDA;
0037 
0038     /**
0039      * Unique ID to automatically register the class in the registry.
0040      */
0041     static const unsigned int classId;
0042 
0043     /**
0044      * Constructor.
0045      * @param className Name of class.
0046      */
0047     TCSScalesQ2PrimMultiplier(const std::string &className);
0048 
0049     /**
0050      * Copy constructor.
0051      * @param other Object to be copied.
0052      */
0053     TCSScalesQ2PrimMultiplier(const TCSScalesQ2PrimMultiplier &other);
0054 
0055     /**
0056      * Destructor.
0057      */
0058     virtual ~TCSScalesQ2PrimMultiplier();
0059 
0060     virtual TCSScalesQ2PrimMultiplier* clone() const;
0061     virtual void configure(const ElemUtils::Parameters &parameters);
0062     virtual Scales compute(const TCSObservableKinematic& kinematic);
0063 
0064 private:
0065 
0066     /**
0067      * Scaling parameter.
0068      */
0069     double m_lambda;
0070 };
0071 
0072 } /* namespace PARTONS */
0073 
0074 #endif /* TCS_SCALES_Q2PRIM_MULTIPLIER_H */