Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef ACTIVE_FLAVORS_THRESHOLDS_VARIABLE_H
0002 #define ACTIVE_FLAVORS_THRESHOLDS_VARIABLE_H
0003 
0004 /**
0005  * @file ActiveFlavorsThresholdsVariable.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date 26 October 2020
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 ActiveFlavorsThresholdsVariable
0021  *
0022  * @brief Variable number of active quark flavors.
0023  */
0024 class ActiveFlavorsThresholdsVariable: public ActiveFlavorsThresholdsModule {
0025 
0026 public:
0027 
0028     static const std::string PARAM_NAME_THRESHOLDS;
0029 
0030     /**
0031      * Unique ID to automatically register the class in the registry.
0032      */
0033     static const unsigned int classId;
0034 
0035     /**
0036      * Constructor.
0037      * @param className Name of this class.
0038      */
0039     ActiveFlavorsThresholdsVariable(const std::string &className);
0040 
0041     /**
0042      * Destructor.
0043      */
0044     virtual ~ActiveFlavorsThresholdsVariable();
0045 
0046     virtual ActiveFlavorsThresholdsVariable* clone() const;
0047     virtual void configure(const ElemUtils::Parameters &parameters);
0048     virtual void resolveObjectDependencies();
0049 
0050     /**
0051      * Set Thresholds.
0052      */
0053     void setThresholds(std::vector<double> thresholds);
0054 
0055     /**
0056      * Get number of quark flavors.
0057      */
0058     std::vector<double> getThresholds() const;
0059 
0060 protected:
0061 
0062     /**
0063      * Copy constructor.
0064      * @param other Object to be copied.
0065      */
0066     ActiveFlavorsThresholdsVariable(const ActiveFlavorsThresholdsVariable &other);
0067 
0068     virtual void initModule();
0069     virtual void isModuleWellConfigured();
0070 
0071 private:
0072 
0073     /**
0074      * Thresholds
0075      */
0076     std::vector<double> m_thresholds;
0077 };
0078 
0079 } /* namespace PARTONS */
0080 
0081 #endif /* ACTIVE_FLAVORS_THRESHOLDS_VARIABLE_H */