PARTONS
|
PARtonic Tomography Of Nucleon Software
|
GPD evolution according to Vinnikov routines. More...
Public Member Functions | |
GPDEvolutionVinnikov (const std::string &className) | |
virtual | ~GPDEvolutionVinnikov () |
virtual GPDEvolutionVinnikov * | clone () const |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More... | |
virtual void | configure (const ElemUtils::Parameters ¶meters) |
Provides a generic method to configure all types of modules by passing a Parameters object. More... | |
virtual void | resolveObjectDependencies () |
Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others. More... | |
size_t | getGridSize () const |
void | setGridSize (size_t gridSize) |
Public Member Functions inherited from PARTONS::GPDEvolutionModule | |
GPDEvolutionModule (const std::string &className) | |
Constructor. More... | |
virtual | ~GPDEvolutionModule () |
Destructor. More... | |
virtual std::string | toString () const |
Return a pre-formatted characters string for output visualization of class member's values. More... | |
virtual void | prepareSubModules (const std::map< std::string, BaseObjectData > &subModulesData) |
Method used in automation to prepare all the modules used by this current module and configure them recursively. More... | |
PartonDistribution | compute (const GPDKinematic &kinematic, GPDModule *pGPDModule, const GPDType::Type &type) |
Evaluate PartonDistribution. More... | |
void | setMuF2_ref (const double &MuF2_ref) |
void | setPertOrder (const PerturbativeQCDOrderType::Type &pertOrder) |
void | setGPDType (GPDType::Type type) |
void | setRunningAlphaStrongModule (RunningAlphaStrongModule *runningAlphaStrongModule) |
void | setActiveFlavorsModule (ActiveFlavorsThresholdsModule *activeFlavorsModule) |
double | getMuF2_ref () const |
double | getMuF_ref () const |
PerturbativeQCDOrderType::Type | getPertOrder () const |
GPDType::Type | getGPDType () const |
RunningAlphaStrongModule * | getRunningAlphaStrongModule () const |
ActiveFlavorsThresholdsModule * | getActiveFlavorsModule () const |
Public Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const std::string &className, ChannelType::Type channelType) | |
Constructor. More... | |
virtual | ~ModuleObject () |
Default destructor. More... | |
virtual void | run () |
unsigned int | getReferenceModuleId () const |
Get reference module id. More... | |
void | setReferenceModuleId (unsigned int referenceModuleId) |
Set reference module id. More... | |
ChannelType::Type | getChannelType () const |
Get channel type. More... | |
Public Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const std::string &className) | |
Constructor. More... | |
virtual | ~BaseObject () |
Default destructor. More... | |
void | serialize (ElemUtils::Packet &packet) const |
Used to split a complex C++ object into a concatenation of simple types. More... | |
void | unserialize (ElemUtils::Packet &packet) |
Used to rebuild a complex C++ object from a concatenation of simple type. More... | |
bool | operator< (const BaseObject &other) const |
Overload of < operator to sort BaseObject object by its indexId value. More... | |
const std::string & | getClassName () const |
unsigned int | getObjectId () const |
int | getIndexId () const |
void | setIndexId (int indexId) |
Public Member Functions inherited from PARTONS::MathIntegratorModule | |
MathIntegratorModule () | |
Default constructor. More... | |
virtual | ~MathIntegratorModule () |
Default destructor. More... | |
Static Public Attributes | |
static const std::string | PARAM_NAME_GRID_SIZE = "gridSize" |
static const unsigned int | classId |
Static Public Attributes inherited from PARTONS::GPDEvolutionModule | |
static const std::string | GPD_EVOLUTION_MODULE_CLASS_NAME |
Type of module name used by the automatization. More... | |
Static Public Attributes inherited from PARTONS::ModuleObject | |
static const std::string | CLASS_NAME = "className" |
Static Public Attributes inherited from PARTONS::MathIntegratorModule | |
static const std::string | PARAM_NAME_INTEGRATOR_TYPE |
Parameter used in configureIntegrator() or XML automation to set the type of integrator. More... | |
Protected Member Functions | |
GPDEvolutionVinnikov (const GPDEvolutionVinnikov &other) | |
virtual void | isModuleWellConfigured () |
Pure virtual function that provides skeleton to check if the module is well initialized and configured. More... | |
virtual void | initModule () |
Pure virtual function that provides skeleton for module initialization. More... | |
virtual PartonDistribution | compute (GPDModule *pGPDModule, const GPDType::Type &type) |
virtual double | nonSingletMu2FDerivative (double MuF2, QuarkNonSingletCombination::Type quarkNonSingletCombination) |
virtual double | singletMuF2Derivative (double MuF2) |
virtual double | gluonMuF2Derivative (double MuF2) |
void | computeMuF2DerivativeNS (double MuF2, double MuF2Last, QuarkNonSingletCombination::Type quarkNonSingletCombination) |
void | computeMuF2DerivativeSG (double MuF2, double MuF2Last) |
Protected Member Functions inherited from PARTONS::GPDEvolutionModule | |
GPDEvolutionModule (const GPDEvolutionModule &other) | |
Copy constructor. More... | |
virtual void | setKinematics (const GPDKinematic &kinematic) |
virtual GPDKinematic | getKinematics () const |
Protected Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const ModuleObject &other) | |
Protected Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const BaseObject &other) | |
Copy constructor. More... | |
void | info (const std::string &functionName, const std::string &message) const |
Print info message into logger. More... | |
void | debug (const std::string &functionName, const std::string &message) const |
Print debug message into logger. More... | |
void | warn (const std::string &functionName, const std::string &message) const |
Print warning message into logger. More... | |
void | errorMissingParameter (const std::string ¶meterName) const |
Use in automation process to throw exception when a parameter is missing from the XML scenario file. More... | |
Protected Member Functions inherited from PARTONS::MathIntegratorModule | |
MathIntegratorModule (const MathIntegratorModule &other) | |
Copy constructor. More... | |
void | setIntegrator (NumA::IntegratorType1D::Type integratorType) |
Sets a given integrator available in NumA++. More... | |
double | integrate (NumA::FunctionType1D *pFunction, double a, double b, std::vector< double > ¶meters) |
Computes the integral of a function defined via a functor. More... | |
void | configureIntegrator (const ElemUtils::Parameters ¶meters) |
Provides a generic method to configure all types of integration routines by passing a Parameters object. More... | |
NumA::Integrator1D * | getMathIntegrator () |
Private Member Functions | |
void | clearVectors (bool lastKinematicsDifferent) |
void | checkIfGridsValid () |
void | checkIfResultValid (const double x, double &value) |
void | checkEvolutionDirection (const double MuF2, const double MuF2Last) const |
std::map< QuarkNonSingletCombination::Type, double >::const_iterator | findInQuarkNonSingletCombinationMap (const std::map< QuarkNonSingletCombination::Type, double > &map, QuarkNonSingletCombination::Type key, const std::string &mapName) const |
Get constant iterator for given std::map<QuarkNonSingletCombination::Type, double> map and key. More... | |
double | conv_int_ns (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_qq (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_gg (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_gq (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_qg (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_qq_pol (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_gg_pol (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_gq_pol (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
double | conv_int_qg_pol (int const ix, double const xi, int const n, const std::vector< double > &gpd, const std::vector< double > &x) |
int | gpd_grid_ns (int const n, double const xi, std::vector< double > &x) |
int | gpd_grid_s (int const n, double const xi, std::vector< double > &x) |
std::map< QuarkNonSingletCombination::Type, double > | getNS (const size_t nFlavors, const PartonDistribution &partonDistribution) const |
Get map containing non-singlet values for given number of active flavors from PartonDistribution object. More... | |
double | getS (const size_t nFlavors, const PartonDistribution &partonDistribution) const |
Get singlet value for given number of active flavors from PartonDistribution object. More... | |
double | getG (const PartonDistribution &partonDistribution) const |
Get value for gluon contribution from PartonDistribution object. More... | |
std::map< QuarkFlavor::Type, QuarkDistribution >::const_iterator | findInQuarkFlavorMap (const std::map< QuarkFlavor::Type, QuarkDistribution > &map, QuarkFlavor::Type key, const std::string &mapName) const |
Get constant iterator for given std::map<QuarkFlavor::Type, QuarkDistribution> map and key. More... | |
PartonDistribution | getPartonDistribution (const size_t nFlavors, const std::map< QuarkNonSingletCombination::Type, double > &NS, double S, double G) const |
Get PartonDistribution object for given number of active flavors from non-singlet, singlet and gluon values. More... | |
void | initFunctorsForIntegrations () |
Initialize functors for integration. More... | |
double | integrateComputeOutputNS (double MuF2, std::vector< double > par) |
Wrapper to integrate GPDEvolutionModule::nonSingletMu2FDerivative. More... | |
double | integrateComputeOutputS (double MuF2, std::vector< double > par) |
Wrapper to integrate GPDEvolutionModule::singletMuF2Derivative. More... | |
double | integrateComputeOutputG (double MuF2, std::vector< double > par) |
Wrapper to integrate GPDEvolutionModule::gluonMuF2Derivative. More... | |
Private Attributes | |
std::map< QuarkNonSingletCombination::Type, std::vector< double > > | m_NS |
std::vector< double > | m_S |
std::vector< double > | m_G |
std::map< QuarkNonSingletCombination::Type, std::vector< double > > | m_NSDiff |
std::vector< double > | m_SDiff |
std::vector< double > | m_GDiff |
std::map< QuarkNonSingletCombination::Type, std::vector< double > > | m_NSEvolved |
std::vector< double > | m_SEvolved |
std::vector< double > | m_GEvolved |
std::map< QuarkNonSingletCombination::Type, bool > | m_NSEvoledForFirstTime |
bool | m_SEvoledForFirstTime |
bool | m_GEvoledForFirstTime |
std::map< QuarkNonSingletCombination::Type, double > | m_NSResultLast |
double | m_SResultLast |
double | m_GResultLast |
std::map< QuarkNonSingletCombination::Type, double > | m_NSMuF2Last |
double | m_SMuF2Last |
double | m_GMuF2Last |
std::vector< double > | m_NSXGrid |
std::vector< double > | m_SXGrid |
size_t | m_gridSize |
double | m_xiLast |
double | m_tLast |
double | m_MuR2Last |
size_t | m_nFlavors |
size_t | m_nFlavors_ref |
GPDModule * | m_pGPDModule |
PartonDistribution | m_PartonDistributionAtMuF2_ref |
std::map< size_t, NumA::MatrixD > | conversionMatrices |
NumA::FunctionType1D * | p_intIntegrateComputeOutputNS |
Functor to GPDEvolutionModule::integrateComputeOutputNS. More... | |
NumA::FunctionType1D * | p_intIntegrateComputeOutputS |
Functor to GPDEvolutionModule::integrateComputeOutputS. More... | |
NumA::FunctionType1D * | p_intIntegrateComputeOutputG |
Functor to GPDEvolutionModule::integrateComputeOutputG. More... | |
Static Private Attributes | |
static const double | N_C = 3.0 |
static const double | C_F = (0.5 * (N_C - 1.0 / N_C)) |
static const double | N_F = 3.0 |
static const double | B_0 = (11.0 * N_C / 3.0 - 2.0 * N_F / 3.0) |
static const double | C_A = (2.0 * C_F + 1.0 / N_C) |
static const double | T_R = (N_F / 2.0) |
Additional Inherited Members | |
Protected Attributes inherited from PARTONS::GPDEvolutionModule | |
double | m_MuF2_ref |
Attributes. More... | |
PerturbativeQCDOrderType::Type | m_pertOrder |
pQCD order assumed in the calculation. More... | |
GPDType::Type | m_type |
GPD distribution type. More... | |
RunningAlphaStrongModule * | m_pRunningAlphaStrongModule |
Pointer to RunningAlphaStrongModule object being used. More... | |
ActiveFlavorsThresholdsModule * | m_pActiveFlavorsModule |
Pointer to ActiveFlavorsThresholdsModule object being used. More... | |
double | m_x |
Kinematics. More... | |
double | m_xi |
Skewness variable. More... | |
double | m_t |
Four-momentum transfer squared of hadron target (in \(GeV^{2}\)). More... | |
double | m_MuF2 |
Factorization scale squared (in \(GeV^{2}\)). More... | |
double | m_MuR2 |
Renormalization scale squared (in \(GeV^{2}\)). More... | |
Protected Attributes inherited from PARTONS::ModuleObject | |
ModuleObjectFactory * | m_pModuleObjectFactory |
Pointer tp module object factory. More... | |
GPD evolution according to Vinnikov routines.
This class makes use of original Vinnikov routines for the GPD evolution. For the reference see Ref.
PARTONS::GPDEvolutionVinnikov::GPDEvolutionVinnikov | ( | const std::string & | className | ) |
|
virtual |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
virtual |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry.
Implements PARTONS::GPDEvolutionModule.
|
protectedvirtual |
Implements PARTONS::GPDEvolutionModule.
|
protected |
|
protected |
|
virtual |
Provides a generic method to configure all types of modules by passing a Parameters object.
Parameters class represents a list of couples key/value (see Parameters class documentation for more info).
parameters | ElemUtils::Parameters object. |
Reimplemented from PARTONS::GPDEvolutionModule.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
Get constant iterator for given std::map<QuarkFlavor::Type, QuarkDistribution> map and key.
map | Map. |
key | Key. |
mapName | Map name. |
|
inlineprivate |
Get constant iterator for given std::map<QuarkNonSingletCombination::Type, double> map and key.
map | Map. |
key | Key. |
mapName | Map name. |
|
private |
Get value for gluon contribution from PartonDistribution object.
partonDistribution | Input PartonDistribution object. |
size_t PARTONS::GPDEvolutionVinnikov::getGridSize | ( | ) | const |
|
private |
Get map containing non-singlet values for given number of active flavors from PartonDistribution object.
nFlavors | Number of active flavors. |
partonDistribution | Input PartonDistribution object. |
|
private |
Get PartonDistribution object for given number of active flavors from non-singlet, singlet and gluon values.
nFlavors | Number of active flavors. |
NS | Map containing non-singlet values. |
S | Singlet value. |
G | Value for gluon contribution. |
|
private |
Get singlet value for given number of active flavors from PartonDistribution object.
nFlavors | Number of active flavors. |
partonDistribution | Input PartonDistribution object. |
|
protectedvirtual |
|
private |
|
private |
|
private |
Initialize functors for integration.
|
protectedvirtual |
Pure virtual function that provides skeleton for module initialization.
Children must define and override it.
Reimplemented from PARTONS::GPDEvolutionModule.
|
private |
Wrapper to integrate GPDEvolutionModule::gluonMuF2Derivative.
|
private |
Wrapper to integrate GPDEvolutionModule::nonSingletMu2FDerivative.
|
private |
Wrapper to integrate GPDEvolutionModule::singletMuF2Derivative.
|
protectedvirtual |
Pure virtual function that provides skeleton to check if the module is well initialized and configured.
Children must define and override it.
Reimplemented from PARTONS::GPDEvolutionModule.
|
protectedvirtual |
|
virtual |
Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others.
To avoid the problem of pointer resolution order, this method is called by the BaseObjectRegistery after all objects are well registered in it. See BaseObjectRegistry class documentation for more details.
Reimplemented from PARTONS::GPDEvolutionModule.
void PARTONS::GPDEvolutionVinnikov::setGridSize | ( | size_t | gridSize | ) |
|
protectedvirtual |
|
staticprivate |
|
static |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
private |
Functor to GPDEvolutionModule::integrateComputeOutputG.
|
private |
Functor to GPDEvolutionModule::integrateComputeOutputNS.
|
private |
Functor to GPDEvolutionModule::integrateComputeOutputS.
|
static |
|
staticprivate |