Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SCALES_H
0002 #define SCALES_H
0003 
0004 /**
0005  * @file Scales.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date 07 October 2015
0008  * @version 1.0
0009  */
0010 
0011 #include <ElementaryUtils/parameters/GenericType.h>
0012 #include <ElementaryUtils/parameters/Parameters.h>
0013 #include <string>
0014 
0015 #include "../utils/type/PhysicalType.h"
0016 
0017 namespace PARTONS {
0018 
0019 /**
0020  * @class Scales
0021  *
0022  * @brief Container to store square values of factorization and renormalization scales.
0023  */
0024 class Scales: public BaseObject {
0025 
0026 public:
0027 
0028     /**
0029      * Default constructor.
0030      */
0031     Scales();
0032 
0033     /**
0034      * Assignment constructor.
0035      * @param parameters Parameters object storing values to be set marked by GPDKinematic::KINEMATIC_PARAMETER_NAME_MUF2, GPDKinematic::KINEMATIC_PARAMETER_NAME_MUR2.
0036      */
0037     Scales(const ElemUtils::Parameters &parameters);
0038 
0039     /**
0040      * Assignment constructor.
0041      * @param MuF2 Squared value of factorization scale to be set.
0042      * @param MuR2 Squared value of renormalization scale to be set.
0043      */
0044     Scales(double MuF2, double MuR2);
0045 
0046     /**
0047      * Assignment constructor.
0048      * @param MuF2 Squared value of factorization scale to be set.
0049      * @param MuR2 Squared value of renormalization scale to be set.
0050      */
0051     Scales(const PhysicalType<double>& MuF2, const PhysicalType<double>& MuR2);
0052 
0053     /**
0054      * Assignment constructor.
0055      * @param MuF2 Squared value of factorization scale to be set.
0056      * @param MuR2 Squared value of renormalization scale to be set.
0057      */
0058     Scales(const ElemUtils::GenericType& MuF2,
0059             const ElemUtils::GenericType& MuR2);
0060 
0061     /**
0062      * Copy constructor.
0063      * @param other Object to be copied.
0064      */
0065     Scales(const Scales &other);
0066 
0067     /**
0068      * Destructor.
0069      */
0070     virtual ~Scales();
0071 
0072     virtual std::string toString() const;
0073 
0074     //********************************************************
0075     //*** SETTERS AND GETTERS ********************************
0076     //********************************************************
0077 
0078     /**
0079      * Get squared value of factorization scale.
0080      */
0081     const PhysicalType<double>& getMuF2() const;
0082 
0083     /**
0084      * Set squared value of factorization scale.
0085      */
0086     void setMuF2(const PhysicalType<double>& muF2);
0087 
0088     /**
0089      * Set squared value of factorization scale.
0090      */
0091     void setMuF2(double muF2);
0092 
0093     /**
0094      * Get squared value of renormalization scale.
0095      */
0096     const PhysicalType<double>& getMuR2() const;
0097 
0098     /**
0099      * Set squared value of renormalization scale.
0100      */
0101     void setMuR2(double muR2);
0102 
0103     /**
0104      * Set squared value of renormalization scale.
0105      */
0106     void setMuR2(const PhysicalType<double>& muR2);
0107 
0108 private:
0109 
0110     /**
0111      * Squared value of factorization scale.
0112      */
0113     PhysicalType<double> m_MuF2;
0114 
0115     /**
0116      * Squared value of renormalization scale.
0117      */
0118     PhysicalType<double> m_MuR2;
0119 };
0120 
0121 } /* namespace PARTONS */
0122 
0123 #endif /* SCALES_H */