Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef ACTIVE_FLAVORS_THRESHOLDS_CONSTANT_H
0002 #define ACTIVE_FLAVORS_THRESHOLDS_CONSTANT_H
0003 
0004 /**
0005  * @file ActiveFlavorsThresholdsConstant.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date 07 August 2015
0008  * @version 1.0
0009  */
0010 
0011 #include <ElementaryUtils/parameters/Parameters.h>
0012 #include <stddef.h>
0013 #include <string>
0014 
0015 #include "ActiveFlavorsThresholdsModule.h"
0016 
0017 namespace PARTONS {
0018 
0019 /**
0020  * @class ActiveFlavorsThresholdsConstant
0021  *
0022  * @brief Fixed number of active quark flavors.
0023  *
0024  * This module defines one number of active quark flavors for whole range of factorization scale. The default number is 3 and can be changed by or by.
0025  */
0026 class ActiveFlavorsThresholdsConstant: public ActiveFlavorsThresholdsModule {
0027 
0028 public:
0029 
0030     static const std::string PARAM_NAME_N_FLAVORS;
0031 
0032     /**
0033      * Unique ID to automatically register the class in the registry.
0034      */
0035     static const unsigned int classId;
0036 
0037     /**
0038      * Constructor.
0039      * @param className Name of this class.
0040      */
0041     ActiveFlavorsThresholdsConstant(const std::string &className);
0042 
0043     /**
0044      * Destructor.
0045      */
0046     virtual ~ActiveFlavorsThresholdsConstant();
0047 
0048     virtual ActiveFlavorsThresholdsConstant* clone() const;
0049     virtual void configure(const ElemUtils::Parameters &parameters);
0050     virtual void resolveObjectDependencies();
0051 
0052     /**
0053      * Set number of quark flavors.
0054      */
0055     void setNFlavors(size_t nFlavors);
0056 
0057     /**
0058      * Get number of quark flavors.
0059      */
0060     size_t getNFlavors() const;
0061 
0062 protected:
0063 
0064     /**
0065      * Copy constructor.
0066      * @param other Object to be copied.
0067      */
0068     ActiveFlavorsThresholdsConstant(
0069             const ActiveFlavorsThresholdsConstant &other);
0070 
0071     virtual void initModule();
0072     virtual void isModuleWellConfigured();
0073 
0074 private:
0075 
0076     /**
0077      * Number of quark flavors.
0078      */
0079     size_t m_nFlavors;
0080 };
0081 
0082 } /* namespace PARTONS */
0083 
0084 #endif /* ACTIVE_FLAVORS_THRESHOLDS_CONSTANT_H */