Commit 55a8dee3 authored by Pawel Sznajder's avatar Pawel Sznajder
Browse files

update

parent 9b0848bf
......@@ -19,6 +19,9 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
# FIND LIBRARIES ===========================================================================
# find libraries: gsl
find_package(GSL)
# find libraries: Qt4
find_package(Qt4 REQUIRED QtCore QtSql)
......@@ -42,7 +45,7 @@ find_package(NumA++ REQUIRED)
find_package(PARTONS REQUIRED)
# directories containing headers
include_directories(${QT_INCLUDE_DIRS} ${SFML_INCLUDE_DIR} ${ELEMENTARY_UTILS_INCLUDE_DIR} ${NUMA_INCLUDE_DIR} ${PARTONS_INCLUDE_DIR})
include_directories($(GSL_INCLUDE_DIRS) ${QT_INCLUDE_DIRS} ${SFML_INCLUDE_DIR} ${ELEMENTARY_UTILS_INCLUDE_DIR} ${NUMA_INCLUDE_DIR} ${PARTONS_INCLUDE_DIR})
# FINALIZE ==================================================================================
......@@ -71,6 +74,8 @@ target_link_libraries(
PARTONS_example
${GSL_LIBRARIES}
${QT_LIBRARIES}
${SFML_LIBRARIES}
......
......@@ -10,7 +10,7 @@ This scenario demonstrates the evaluation of DVCS Compton Form Factors (CFF) for
<!-- First task: evaluate DVCS CFF for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="ConvolCoeffFunctionService" method="computeManyKinematicOneModel" storeInDB="0">
<task service="DVCSConvolCoeffFunctionService" method="computeManyKinematic" storeInDB="0">
<!-- Define DVCS CFF kinematics -->
<kinematics type="DVCSConvolCoeffFunctionKinematic">
......@@ -23,13 +23,13 @@ This scenario demonstrates the evaluation of DVCS Compton Form Factors (CFF) for
<computation_configuration>
<!-- Select DVCS CFF model -->
<module type="ConvolCoeffFunctionModule" name="DVCSCFFStandard">
<module type="DVCSConvolCoeffFunctionModule" name="DVCSCFFStandard">
<!-- Indicate pQCD order of calculation -->
<param name="qcd_order_type" value="LO" />
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16">
</module>
</module>
......@@ -39,7 +39,7 @@ This scenario demonstrates the evaluation of DVCS Compton Form Factors (CFF) for
</task>
<!-- Second task: print results of the last computation into standard output -->
<task service="ConvolCoeffFunctionService" method="printResults">
<task service="DVCSConvolCoeffFunctionService" method="printResults">
</task>
</scenario>
......@@ -10,7 +10,7 @@ This scenario demonstrates a simple task as the evaluation of DVCS Compton Form
<!-- First task: evaluate DVCS CFF for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="ConvolCoeffFunctionService" method="computeWithGPDModel" storeInDB="0">
<task service="DVCSConvolCoeffFunctionService" method="computeSingleKinematic" storeInDB="0">
<!-- Define DVCS CFF kinematics -->
<kinematics type="DVCSConvolCoeffFunctionKinematic">
......@@ -25,13 +25,13 @@ This scenario demonstrates a simple task as the evaluation of DVCS Compton Form
<computation_configuration>
<!-- Select DVCS CFF model -->
<module type="ConvolCoeffFunctionModule" name="DVCSCFFStandard">
<module type="DVCSConvolCoeffFunctionModule" name="DVCSCFFStandard">
<!-- Indicate pQCD order of calculation -->
<param name="qcd_order_type" value="LO" />
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16">
</module>
</module>
......@@ -41,7 +41,7 @@ This scenario demonstrates a simple task as the evaluation of DVCS Compton Form
</task>
<!-- Second task: print results of the last computation into standard output -->
<task service="ConvolCoeffFunctionService" method="printResults">
<task service="DVCSConvolCoeffFunctionService" method="printResults">
</task>
</scenario>
......@@ -10,7 +10,7 @@ This scenario demonstrates the evaluation of GPD model for kinematics defined in
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="GPDService" method="computeManyKinematicOneModel" storeInDB="0">
<task service="GPDService" method="computeManyKinematic" storeInDB="0">
<!-- Define GPD kinematics -->
<kinematics type="GPDKinematic">
......@@ -23,7 +23,7 @@ This scenario demonstrates the evaluation of GPD model for kinematics defined in
<computation_configuration>
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16">
</module>
</computation_configuration>
......
......@@ -10,7 +10,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="GPDService" method="computeGPDModel" storeInDB="0">
<task service="GPDService" method="computeSingleKinematic" storeInDB="0">
<!-- Define GPD kinematics -->
<kinematics type="GPDKinematic">
......@@ -25,7 +25,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<computation_configuration>
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16">
</module>
</computation_configuration>
......
......@@ -10,10 +10,10 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
<!-- First task: evaluate DVCS observable for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="ObservableService" method="computeManyKinematicOneModel" storeInDB="0">
<task service="DVCSObservableService" method="computeManyKinematic" storeInDB="0">
<!-- Define DVCS observable kinematics -->
<kinematics type="ObservableKinematic">
<kinematics type="DVCSObservableKinematic">
<!-- Path to file defining kinematics -->
<param name="file" value="/home/partons/git/partons-example/data/examples/observable/kinematics_dvcs_observable.csv" />
......@@ -23,14 +23,14 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
<computation_configuration>
<!-- Select DVCS observable -->
<module type="Observable" name="DVCSAllMinus">
<module type="DVCSObservableModule" name="DVCSAllMinus">
<!-- Select DVCS process model -->
<module type="ProcessModule" name="DVCSProcessGV08">
<module type="DVCSProcessModule" name="DVCSProcessGV08">
<!-- Select scales module -->
<!-- (it is used to evaluate factorization and renormalization scales out of kinematics) -->
<module type="ScalesModule" name="ScalesQ2Multiplier">
<module type="DVCSScalesModule" name="DVCSScalesQ2Multiplier">
<!-- Configure this module -->
<param name="lambda" value="1." />
......@@ -38,17 +38,17 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
<!-- Select xi-converter module -->
<!-- (it is used to evaluate GPD variable xi out of kinematics) -->
<module type="XiConverterModule" name="XiConverterXBToXi">
<module type="DVCSXiConverterModule" name="DVCSXiConverterXBToXi">
</module>
<!-- Select DVCS CFF model -->
<module type="ConvolCoeffFunctionModule" name="DVCSCFFStandard">
<module type="DVCSConvolCoeffFunctionModule" name="DVCSCFFStandard">
<!-- Indicate pQCD order of calculation -->
<param name="qcd_order_type" value="NLO" />
<param name="qcd_order_type" value="LO" />
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16">
</module>
</module>
......@@ -62,7 +62,7 @@ This scenario demonstrates the evaluation of DVCS observable for kinematics defi
</task>
<!-- Second task: print results of the last computation into standard output -->
<task service="ObservableService" method="printResults">
<task service="DVCSObservableService" method="printResults">
</task>
</scenario>
......@@ -10,28 +10,29 @@ This scenario demonstrates a simple task as the evaluation of DVCS observable in
<!-- First task: evaluate DVCS observable for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="ObservableService" method="computeObservable" storeInDB="0">
<task service="DVCSObservableService" method="computeSingleKinematic" storeInDB="0">
<!-- Define DVCS observable kinematics -->
<kinematics type="ObservableKinematic">
<kinematics type="DVCSObservableKinematic">
<param name="xB" value="0.2" />
<param name="t" value="-0.1" />
<param name="Q2" value="2." />
<param name="E" value="6." />
<param name="phi" value="0." />
</kinematics>
<!-- Define physics assumptions -->
<computation_configuration>
<!-- Select DVCS observable -->
<module type="Observable" name="DVCSAllMinus">
<module type="DVCSObservableModule" name="DVCSAllMinus">
<!-- Select DVCS process model -->
<module type="ProcessModule" name="DVCSProcessGV08">
<module type="DVCSProcessModule" name="DVCSProcessGV08">
<!-- Select scales module -->
<!-- (it is used to evaluate factorization and renormalization scales out of kinematics) -->
<module type="ScalesModule" name="ScalesQ2Multiplier">
<module type="DVCSScalesModule" name="DVCSScalesQ2Multiplier">
<!-- Configure this module -->
<param name="lambda" value="1." />
......@@ -39,17 +40,17 @@ This scenario demonstrates a simple task as the evaluation of DVCS observable in
<!-- Select xi-converter module -->
<!-- (it is used to evaluate GPD variable xi out of kinematics) -->
<module type="XiConverterModule" name="XiConverterXBToXi">
<module type="DVCSXiConverterModule" name="DVCSXiConverterXBToXi">
</module>
<!-- Select DVCS CFF model -->
<module type="ConvolCoeffFunctionModule" name="DVCSCFFStandard">
<module type="DVCSConvolCoeffFunctionModule" name="DVCSCFFStandard">
<!-- Indicate pQCD order of calculation -->
<param name="qcd_order_type" value="NLO" />
<param name="qcd_order_type" value="LO" />
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16">
</module>
</module>
......@@ -63,7 +64,7 @@ This scenario demonstrates a simple task as the evaluation of DVCS observable in
</task>
<!-- Second task: print results of the last computation into standard output -->
<task service="ObservableService" method="printResults">
<task service="DVCSObservableService" method="printResults">
</task>
</scenario>
......@@ -14,7 +14,7 @@ This scenario is the demonstration for GPD module. Note however that the way of
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="GPDService" method="computeGPDModel" storeInDB="0">
<task service="GPDService" method="computeSingleKinematic" storeInDB="0">
<!-- Define GPD kinematics -->
<kinematics type="GPDKinematic">
......@@ -29,7 +29,7 @@ This scenario is the demonstration for GPD module. Note however that the way of
<computation_configuration>
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16Numerical">
<!-- Change integration routine -->
<param name="integrator_type" value="GK21_ADAPTIVE" />
......
......@@ -10,7 +10,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="GPDService" method="computeGPDModel" storeInDB="0">
<task service="GPDService" method="computeSingleKinematic" storeInDB="0">
<!-- Define GPD kinematics -->
<kinematics type="GPDKinematic">
......@@ -25,7 +25,7 @@ This scenario demonstrates a simple task as the evaluation of GPD model in a sin
<computation_configuration>
<!-- Select GPD model -->
<module type="GPDModule" name="GPDMMS13">
<module type="GPDModule" name="GPDGK16">
<!-- Select GPD evolution model -->
<module type="GPDEvolutionModule" name="GPDEvolutionVinnikov">
......
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
This scenario demonstrates a simple task as the evaluation of GPD model in a single kinematic point for specific GPD types only.
The result of this function is printed out to the standard output.
These are the values for all defined in the model GPDs, including singlet and non-singlet combinations for quarks.
Note that you can use this example to select specific GPD types in the evaluation of CFFs and observables.
-->
<!-- Scenario starts here -->
<!-- For your convenience and for bookkeeping provide creation date and unique description -->
<scenario date="2017-07-18" description="Select specific GPD types">
<!-- First task: evaluate GPD model for a single kinematics -->
<!-- Indicate service and its methods to be used and indicate if the result should be stored in the database -->
<task service="GPDService" method="computeSingleKinematic" storeInDB="0">
<!-- Define GPD types -->
<task_param type="GPDType">
<param name="value" value="E|Et" />
</task_param>
<!-- Define GPD kinematics -->
<kinematics type="GPDKinematic">
<param name="x" value="0.1" />
<param name="xi" value="0.2" />
<param name="t" value="-0.1" />
<param name="MuF2" value="2." />
<param name="MuR2" value="2." />
</kinematics>
<!-- Define physics assumptions -->
<computation_configuration>
<!-- Select GPD model -->
<module type="GPDModule" name="GPDGK16">
</module>
</computation_configuration>
</task>
<!-- Second task: print results of the last computation into standard ouput -->
<task service="GPDService" method="printResults">
</task>
</scenario>
......@@ -81,4 +81,12 @@ void changeIntegrationRoutine();
*/
void makeUseOfGPDEvolution();
/**
* This function demonstrates a simple task as the evaluation of GPD model in a single kinematic point for specific GPD types only.
* The result of this function is printed out to the standard output.
* These are the values for all defined in the model GPDs, including singlet and non-singlet combinations for quarks.
* Note that you can use this example to select specific GPD types in the evaluation of CFFs and observables.
*/
void selectSpecificGPDTypes();
#endif /* INCLUDE_EXAMPLES_H_ */
......@@ -5,24 +5,31 @@
#include <ElementaryUtils/parameters/Parameters.h>
#include <NumA/integration/one_dimension/IntegratorType1D.h>
#include <NumA/integration/one_dimension/QuadratureIntegrator1D.h>
#include <partons/beans/convol_coeff_function/ConvolCoeffFunctionResult.h>
#include <partons/beans/convol_coeff_function/DVCS/DVCSConvolCoeffFunctionKinematic.h>
#include <partons/beans/gpd/GPDKinematic.h>
#include <partons/beans/gpd/GPDType.h>
#include <partons/beans/KinematicUtils.h>
#include <partons/beans/List.h>
#include <partons/beans/observable/ObservableKinematic.h>
#include <partons/beans/observable/DVCS/DVCSObservableKinematic.h>
#include <partons/beans/observable/ObservableResult.h>
#include <partons/beans/PerturbativeQCDOrderType.h>
#include <partons/modules/active_flavors_thresholds/ActiveFlavorsThresholdsConstant.h>
#include <partons/modules/convol_coeff_function/ConvolCoeffFunctionModule.h>
#include <partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.h>
#include <partons/modules/evolution/gpd/GPDEvolutionVinnikov.h>
#include <partons/modules/gpd/GPDMMS13.h>
#include <partons/modules/gpd/GPDGK16.h>
#include <partons/modules/gpd/GPDGK16Numerical.h>
#include <partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.h>
#include <partons/modules/process/DVCS/DVCSProcessGV08.h>
#include <partons/modules/running_alpha_strong/RunningAlphaStrongVinnikov.h>
#include <partons/modules/scales/ScalesQ2Multiplier.h>
#include <partons/modules/xi_converter/XiConverterXBToXi.h>
#include <partons/modules/scales/DVCS/DVCSScalesQ2Multiplier.h>
#include <partons/modules/xi_converter/DVCS/DVCSXiConverterXBToXi.h>
#include <partons/ModuleObjectFactory.h>
#include <partons/Partons.h>
#include <partons/services/ConvolCoeffFunctionService.h>
#include <partons/services/DVCSConvolCoeffFunctionService.h>
#include <partons/services/DVCSObservableService.h>
#include <partons/services/GPDService.h>
#include <partons/services/ObservableService.h>
#include <partons/ServiceObjectRegistry.h>
......@@ -36,14 +43,14 @@ void computeSingleKinematicsForGPD() {
// Create GPD module with the BaseModuleFactory
PARTONS::GPDModule* pGPDModel =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newGPDModule(
PARTONS::GPDMMS13::classId);
PARTONS::GPDGK16::classId);
// Create a GPDKinematic(x, xi, t, MuF2, MuR2) to compute
PARTONS::GPDKinematic gpdKinematic(0.1, 0.2, -0.1, 2., 2.);
// Run computation
PARTONS::GPDResult gpdResult = pGPDService->computeGPDModel(gpdKinematic,
pGPDModel);
PARTONS::GPDResult gpdResult = pGPDService->computeSingleKinematic(
gpdKinematic, pGPDModel);
// Print results
PARTONS::Partons::getInstance()->getLoggerManager()->info("main", __func__,
......@@ -65,7 +72,7 @@ void computeManyKinematicsForGPD() {
// Create GPD module with the BaseModuleFactory
PARTONS::GPDModule* pGPDModel =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newGPDModule(
PARTONS::GPDMMS13::classId);
PARTONS::GPDGK16::classId);
// Load list of kinematics from file
PARTONS::List<PARTONS::GPDKinematic> gpdKinematicList =
......@@ -74,8 +81,7 @@ void computeManyKinematicsForGPD() {
// Run computation
PARTONS::List<PARTONS::GPDResult> gpdResultList =
pGPDService->computeManyKinematicOneModel(gpdKinematicList,
pGPDModel);
pGPDService->computeManyKinematic(gpdKinematicList, pGPDModel);
// Print results
PARTONS::Partons::getInstance()->getLoggerManager()->info("main", __func__,
......@@ -91,13 +97,13 @@ void computeManyKinematicsForGPD() {
void computeSingleKinematicsForDVCSComptonFormFactor() {
// Retrieve service
PARTONS::ConvolCoeffFunctionService* pDVCSConvolCoeffFunctionService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getConvolCoeffFunctionService();
PARTONS::DVCSConvolCoeffFunctionService* pDVCSConvolCoeffFunctionService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getDVCSConvolCoeffFunctionService();
// Create GPD module with the BaseModuleFactory
PARTONS::GPDModule* pGPDModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newGPDModule(
PARTONS::GPDMMS13::classId);
PARTONS::GPDGK16::classId);
// Create CFF module with the BaseModuleFactory
PARTONS::DVCSConvolCoeffFunctionModule* pDVCSCFFModule =
......@@ -121,8 +127,8 @@ void computeSingleKinematicsForDVCSComptonFormFactor() {
// Run computation
PARTONS::DVCSConvolCoeffFunctionResult cffResult =
pDVCSConvolCoeffFunctionService->computeForOneCCFModel(cffKinematic,
pDVCSCFFModule);
pDVCSConvolCoeffFunctionService->computeSingleKinematic(
cffKinematic, pDVCSCFFModule);
// Print results for DVCSCFFModule
PARTONS::Partons::getInstance()->getLoggerManager()->info("main", __func__,
......@@ -142,13 +148,13 @@ void computeSingleKinematicsForDVCSComptonFormFactor() {
void computeManyKinematicsForDVCSComptonFormFactor() {
// Retrieve service
PARTONS::ConvolCoeffFunctionService* pDVCSConvolCoeffFunctionService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getConvolCoeffFunctionService();
PARTONS::DVCSConvolCoeffFunctionService* pDVCSConvolCoeffFunctionService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getDVCSConvolCoeffFunctionService();
// Create GPD module with the BaseModuleFactory
PARTONS::GPDModule* pGPDModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newGPDModule(
PARTONS::GPDMMS13::classId);
PARTONS::GPDGK16::classId);
// Create CFF module with the BaseModuleFactory
PARTONS::DVCSConvolCoeffFunctionModule* pDVCSCFFModule =
......@@ -168,12 +174,12 @@ void computeManyKinematicsForDVCSComptonFormFactor() {
// Load list of kinematics from file
PARTONS::List<PARTONS::DVCSConvolCoeffFunctionKinematic> cffKinematicList =
PARTONS::KinematicUtils().getCCFKinematicFromFile(
PARTONS::KinematicUtils().getDVCSCCFKinematicFromFile(
"/home/partons/git/partons-example/data/examples/cff/kinematics_dvcs_cff.csv");
// Run computation
PARTONS::List<PARTONS::DVCSConvolCoeffFunctionResult> cffResultList =
pDVCSConvolCoeffFunctionService->computeForOneCCFModelAndManyKinematics(
pDVCSConvolCoeffFunctionService->computeManyKinematic(
cffKinematicList, pDVCSCFFModule);
// Print results for DVCSCFFModule
......@@ -194,13 +200,13 @@ void computeManyKinematicsForDVCSComptonFormFactor() {
void computeSingleKinematicsForDVCSObservable() {
// Retrieve Observable service
PARTONS::ObservableService* pObservableService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getObservableService();
PARTONS::DVCSObservableService* pObservableService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getDVCSObservableService();
// Create GPDModule
PARTONS::GPDModule* pGPDModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newGPDModule(
PARTONS::GPDMMS13::classId);
PARTONS::GPDGK16::classId);
// Create CFF module
PARTONS::DVCSConvolCoeffFunctionModule* pDVCSCFFModel =
......@@ -211,22 +217,23 @@ void computeSingleKinematicsForDVCSObservable() {
pDVCSCFFModel->configure(
ElemUtils::Parameter(
PARTONS::PerturbativeQCDOrderType::PARAMETER_NAME_PERTURBATIVE_QCD_ORDER_TYPE,
PARTONS::PerturbativeQCDOrderType::NLO));
PARTONS::PerturbativeQCDOrderType::LO));
// Create XiConverterModule
PARTONS::XiConverterModule* pXiConverterModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newXiConverterModule(
PARTONS::XiConverterXBToXi::classId);
PARTONS::DVCSXiConverterModule* pXiConverterModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newDVCSXiConverterModule(
PARTONS::DVCSXiConverterXBToXi::classId);
// Create ScalesModule
PARTONS::ScalesModule* pScalesModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newScalesModule(
PARTONS::ScalesQ2Multiplier::classId);
PARTONS::DVCSScalesModule* pScalesModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newDVCSScalesModule(
PARTONS::DVCSScalesQ2Multiplier::classId);
// Set its lambda parameter, so MuF2 = MuR2 = lambda * Q2
pScalesModule->configure(
ElemUtils::Parameter(
PARTONS::ScalesQ2Multiplier::PARAMETER_NAME_LAMBDA, 1.));
PARTONS::DVCSScalesQ2Multiplier::PARAMETER_NAME_LAMBDA,
1.));
// Create ProcessModule
PARTONS::DVCSProcessModule* pProcessModule =
......@@ -234,8 +241,8 @@ void computeSingleKinematicsForDVCSObservable() {
PARTONS::DVCSProcessGV08::classId);
// Create Observable
PARTONS::Observable* pObservable =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newObservable(
PARTONS::DVCSObservable* pObservable =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newDVCSObservable(
PARTONS::DVCSAllMinus::classId);
// Link modules (set physics assumptions of your computation)
......@@ -246,12 +253,12 @@ void computeSingleKinematicsForDVCSObservable() {
pDVCSCFFModel->setGPDModule(pGPDModule);
// Load list of kinematics from file
PARTONS::ObservableKinematic observableKinematic =
PARTONS::ObservableKinematic(0.2, -0.1, 2., 6.);
PARTONS::DVCSObservableKinematic observableKinematic =
PARTONS::DVCSObservableKinematic(0.2, -0.1, 2., 6., 0.);
// Create kinematic
PARTONS::ObservableResult observableResult =
pObservableService->computeObservable(observableKinematic,
PARTONS::DVCSObservableResult observableResult =
pObservableService->computeSingleKinematic(observableKinematic,
pObservable);
// Print results
......@@ -288,13 +295,13 @@ void computeSingleKinematicsForDVCSObservable() {
void computeManyKinematicsForDVCSObservable() {
// Retrieve Observable service
PARTONS::ObservableService* pObservableService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getObservableService();
PARTONS::DVCSObservableService* pObservableService =
PARTONS::Partons::getInstance()->getServiceObjectRegistry()->getDVCSObservableService();
// Create GPDModule
PARTONS::GPDModule* pGPDModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newGPDModule(
PARTONS::GPDMMS13::classId);
PARTONS::GPDGK16::classId);
// Create CFF module
PARTONS::DVCSConvolCoeffFunctionModule* pDVCSCFFModel =
......@@ -305,22 +312,23 @@ void computeManyKinematicsForDVCSObservable() {
pDVCSCFFModel->configure(
ElemUtils::Parameter(
PARTONS::PerturbativeQCDOrderType::PARAMETER_NAME_PERTURBATIVE_QCD_ORDER_TYPE,
PARTONS::PerturbativeQCDOrderType::NLO));
PARTONS::PerturbativeQCDOrderType::LO));
// Create XiConverterModule
PARTONS::XiConverterModule* pXiConverterModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newXiConverterModule(
PARTONS::XiConverterXBToXi::classId);
PARTONS::DVCSXiConverterModule* pXiConverterModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newDVCSXiConverterModule(
PARTONS::DVCSXiConverterXBToXi::classId);
// Create ScalesModule
PARTONS::ScalesModule* pScalesModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newScalesModule(
PARTONS::ScalesQ2Multiplier::classId);
PARTONS::DVCSScalesModule* pScalesModule =
PARTONS::Partons::getInstance()->getModuleObjectFactory()->newDVCSScalesModule(
PARTONS::DVCSScalesQ2Multiplier::classId);
// Set its lambda parameter, so MuF2 = MuR2 = lambda * Q2
pScalesModule->configure(
ElemUtils::Parameter(
PARTONS::ScalesQ2Multiplier::PARAMETER_NAME_LAMBDA, 1.));
PARTONS::DVCSScalesQ2Multiplier::PARAMETER_NAME_LAMBDA,
1.));
// Create ProcessModule
PARTONS::DVCSProcessModule* pProcessModule =
......@@ -328,8 +336,8 @@ void computeManyKinematicsForDVCSObservable() {
PARTONS::DVCSProcessGV08::classId);
// Create Observable
PARTONS::Observable* pObservable =