From 77ff2ef1d761e7bee0d45f5358626081beb512bd Mon Sep 17 00:00:00 2001 From: Pawel Sznajder Date: Wed, 21 Jun 2017 08:11:35 -0400 Subject: [PATCH 1/5] rename observables modules in a separate branch (to be mearged if accepted) --- .../scenario/observable_scenario_example.xml | 2 +- .../CLAS_ALU_asymmetries.dat | 334 +++++++++--------- .../beans/observable/ObservableKinematic.h | 2 +- include/partons/modules/observable/Ac.h | 45 --- .../partons/modules/observable/AcCos0phi.h | 56 --- .../partons/modules/observable/AcCos1phi.h | 55 --- .../partons/modules/observable/AcCos2phi.h | 60 ---- .../partons/modules/observable/AcCos3phi.h | 55 --- include/partons/modules/observable/All.h | 49 --- .../partons/modules/observable/AllCos0phi.h | 56 --- .../partons/modules/observable/AllCos1phi.h | 56 --- .../partons/modules/observable/AllCos2phi.h | 56 --- include/partons/modules/observable/Alu.h | 46 --- include/partons/modules/observable/AluDVCS.h | 45 --- .../modules/observable/AluDVCSSin1phi.h | 52 --- .../partons/modules/observable/AluSinPhi.h | 52 --- include/partons/modules/observable/Alui.h | 45 --- .../partons/modules/observable/AluiSin1phi.h | 52 --- .../partons/modules/observable/AluiSin2phi.h | 52 --- include/partons/modules/observable/Aul.h | 46 --- .../partons/modules/observable/AulSin2phi.h | 53 --- .../partons/modules/observable/AulSin3phi.h | 53 --- .../partons/modules/observable/AulSinPhi.h | 52 --- include/partons/modules/observable/AutINT.h | 54 --- .../modules/observable/AutSinPhiPhiS.h | 45 --- .../modules/observable/AutSinPhiPhiSOld.h | 45 --- .../observable/CrossSectionBeamMinusUU.h | 28 -- .../CrossSectionDifferenceBeamMinusLU.h | 28 -- .../observable/CrossSectionObservable.h | 56 --- .../observable/DVCS/asymmetry/DVCSAc.h | 65 ++++ .../observable/DVCS/asymmetry/DVCSAcCos0Phi.h | 80 +++++ .../observable/DVCS/asymmetry/DVCSAcCos1Phi.h | 80 +++++ .../observable/DVCS/asymmetry/DVCSAcCos2Phi.h | 84 +++++ .../observable/DVCS/asymmetry/DVCSAcCos3Phi.h | 81 +++++ .../observable/DVCS/asymmetry/DVCSAllMinus.h | 65 ++++ .../DVCS/asymmetry/DVCSAllMinusCos0Phi.h | 80 +++++ .../DVCS/asymmetry/DVCSAllMinusCos1Phi.h | 80 +++++ .../DVCS/asymmetry/DVCSAllMinusCos2Phi.h | 80 +++++ .../observable/DVCS/asymmetry/DVCSAluDVCS.h | 65 ++++ .../DVCS/asymmetry/DVCSAluDVCSSin1Phi.h | 80 +++++ .../observable/DVCS/asymmetry/DVCSAluInt.h | 65 ++++ .../DVCS/asymmetry/DVCSAluIntSin1Phi.h | 80 +++++ .../DVCS/asymmetry/DVCSAluIntSin2Phi.h | 80 +++++ .../observable/DVCS/asymmetry/DVCSAluMinus.h | 65 ++++ .../DVCS/asymmetry/DVCSAluMinusSin1Phi.h | 80 +++++ .../observable/DVCS/asymmetry/DVCSAulMinus.h | 65 ++++ .../DVCS/asymmetry/DVCSAulMinusSin1Phi.h | 80 +++++ .../DVCS/asymmetry/DVCSAulMinusSin2Phi.h | 80 +++++ .../DVCS/asymmetry/DVCSAulMinusSin3Phi.h | 80 +++++ .../DVCS/asymmetry/DVCSAutSinPhiMPhiS.h | 65 ++++ .../asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h | 81 +++++ .../DVCS/cross_section/DVCSCrossSection.h | 73 ++++ .../DVCSCrossSectionPhiIntegrated.h | 87 +++++ .../cross_section/DVCSCrossSectionUUMinus.h | 69 ++++ .../DVCSCrossSectionDifferenceLUMinus.h | 70 ++++ .../observable/PhiIntegratedCrossSection.h | 52 --- src/partons/modules/observable/Ac.cpp | 50 --- src/partons/modules/observable/AcCos0phi.cpp | 65 ---- src/partons/modules/observable/AcCos1phi.cpp | 65 ---- src/partons/modules/observable/AcCos2phi.cpp | 65 ---- src/partons/modules/observable/AcCos3phi.cpp | 65 ---- src/partons/modules/observable/All.cpp | 59 ---- src/partons/modules/observable/AllCos0phi.cpp | 65 ---- src/partons/modules/observable/AllCos1phi.cpp | 66 ---- src/partons/modules/observable/AllCos2phi.cpp | 65 ---- src/partons/modules/observable/Alu.cpp | 43 --- src/partons/modules/observable/AluDVCS.cpp | 53 --- .../modules/observable/AluDVCSSin1phi.cpp | 63 ---- src/partons/modules/observable/AluSinPhi.cpp | 63 ---- src/partons/modules/observable/Alui.cpp | 51 --- .../modules/observable/AluiSin1phi.cpp | 63 ---- .../modules/observable/AluiSin2phi.cpp | 63 ---- src/partons/modules/observable/Aul.cpp | 43 --- src/partons/modules/observable/AulSin2phi.cpp | 63 ---- src/partons/modules/observable/AulSin3phi.cpp | 63 ---- src/partons/modules/observable/AulSinPhi.cpp | 63 ---- src/partons/modules/observable/AutINT.cpp | 65 ---- .../modules/observable/AutSinPhiPhiS.cpp | 43 --- .../modules/observable/AutSinPhiPhiSOld.cpp | 43 --- .../observable/CrossSectionBeamMinusUU.cpp | 53 --- .../CrossSectionDifferenceBeamMinusLU.cpp | 49 --- .../observable/DVCS/asymmetry/DVCSAc.cpp | 50 +++ .../DVCS/asymmetry/DVCSAcCos0Phi.cpp | 63 ++++ .../DVCS/asymmetry/DVCSAcCos1Phi.cpp | 64 ++++ .../DVCS/asymmetry/DVCSAcCos2Phi.cpp | 64 ++++ .../DVCS/asymmetry/DVCSAcCos3Phi.cpp | 64 ++++ .../DVCS/asymmetry/DVCSAllMinus.cpp | 50 +++ .../DVCS/asymmetry/DVCSAllMinusCos0Phi.cpp | 64 ++++ .../DVCS/asymmetry/DVCSAllMinusCos1Phi.cpp | 64 ++++ .../DVCS/asymmetry/DVCSAllMinusCos2Phi.cpp | 64 ++++ .../observable/DVCS/asymmetry/DVCSAluDVCS.cpp | 50 +++ .../DVCS/asymmetry/DVCSAluDVCSSin1Phi.cpp | 63 ++++ .../observable/DVCS/asymmetry/DVCSAluInt.cpp | 50 +++ .../DVCS/asymmetry/DVCSAluIntSin1Phi.cpp | 62 ++++ .../DVCS/asymmetry/DVCSAluIntSin2Phi.cpp | 62 ++++ .../DVCS/asymmetry/DVCSAluMinus.cpp | 44 +++ .../DVCS/asymmetry/DVCSAluMinusSin1Phi.cpp | 63 ++++ .../DVCS/asymmetry/DVCSAulMinus.cpp | 50 +++ .../DVCS/asymmetry/DVCSAulMinusSin1Phi.cpp | 62 ++++ .../DVCS/asymmetry/DVCSAulMinusSin2Phi.cpp | 62 ++++ .../DVCS/asymmetry/DVCSAulMinusSin3Phi.cpp | 62 ++++ .../DVCS/asymmetry/DVCSAutSinPhiMPhiS.cpp | 50 +++ .../asymmetry/DVCSAutSinPhiMPhiSCos0Phi.cpp | 66 ++++ .../cross_section/DVCSCrossSection.cpp} | 45 ++- .../DVCSCrossSectionPhiIntegrated.cpp | 64 ++++ .../cross_section/DVCSCrossSectionUUMinus.cpp | 50 +++ .../DVCSCrossSectionDifferenceLUMinus.cpp | 52 +++ .../observable/PhiIntegratedCrossSection.cpp | 65 ---- 108 files changed, 3610 insertions(+), 3050 deletions(-) delete mode 100644 include/partons/modules/observable/Ac.h delete mode 100644 include/partons/modules/observable/AcCos0phi.h delete mode 100644 include/partons/modules/observable/AcCos1phi.h delete mode 100644 include/partons/modules/observable/AcCos2phi.h delete mode 100644 include/partons/modules/observable/AcCos3phi.h delete mode 100644 include/partons/modules/observable/All.h delete mode 100644 include/partons/modules/observable/AllCos0phi.h delete mode 100644 include/partons/modules/observable/AllCos1phi.h delete mode 100644 include/partons/modules/observable/AllCos2phi.h delete mode 100644 include/partons/modules/observable/Alu.h delete mode 100644 include/partons/modules/observable/AluDVCS.h delete mode 100644 include/partons/modules/observable/AluDVCSSin1phi.h delete mode 100644 include/partons/modules/observable/AluSinPhi.h delete mode 100644 include/partons/modules/observable/Alui.h delete mode 100644 include/partons/modules/observable/AluiSin1phi.h delete mode 100644 include/partons/modules/observable/AluiSin2phi.h delete mode 100644 include/partons/modules/observable/Aul.h delete mode 100644 include/partons/modules/observable/AulSin2phi.h delete mode 100644 include/partons/modules/observable/AulSin3phi.h delete mode 100644 include/partons/modules/observable/AulSinPhi.h delete mode 100644 include/partons/modules/observable/AutINT.h delete mode 100644 include/partons/modules/observable/AutSinPhiPhiS.h delete mode 100644 include/partons/modules/observable/AutSinPhiPhiSOld.h delete mode 100644 include/partons/modules/observable/CrossSectionBeamMinusUU.h delete mode 100644 include/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.h delete mode 100644 include/partons/modules/observable/CrossSectionObservable.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAc.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h create mode 100644 include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h create mode 100644 include/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.h create mode 100644 include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.h create mode 100644 include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.h create mode 100644 include/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.h delete mode 100644 include/partons/modules/observable/PhiIntegratedCrossSection.h delete mode 100644 src/partons/modules/observable/Ac.cpp delete mode 100644 src/partons/modules/observable/AcCos0phi.cpp delete mode 100644 src/partons/modules/observable/AcCos1phi.cpp delete mode 100644 src/partons/modules/observable/AcCos2phi.cpp delete mode 100644 src/partons/modules/observable/AcCos3phi.cpp delete mode 100644 src/partons/modules/observable/All.cpp delete mode 100644 src/partons/modules/observable/AllCos0phi.cpp delete mode 100644 src/partons/modules/observable/AllCos1phi.cpp delete mode 100644 src/partons/modules/observable/AllCos2phi.cpp delete mode 100644 src/partons/modules/observable/Alu.cpp delete mode 100644 src/partons/modules/observable/AluDVCS.cpp delete mode 100644 src/partons/modules/observable/AluDVCSSin1phi.cpp delete mode 100644 src/partons/modules/observable/AluSinPhi.cpp delete mode 100644 src/partons/modules/observable/Alui.cpp delete mode 100644 src/partons/modules/observable/AluiSin1phi.cpp delete mode 100644 src/partons/modules/observable/AluiSin2phi.cpp delete mode 100644 src/partons/modules/observable/Aul.cpp delete mode 100644 src/partons/modules/observable/AulSin2phi.cpp delete mode 100644 src/partons/modules/observable/AulSin3phi.cpp delete mode 100644 src/partons/modules/observable/AulSinPhi.cpp delete mode 100644 src/partons/modules/observable/AutINT.cpp delete mode 100644 src/partons/modules/observable/AutSinPhiPhiS.cpp delete mode 100644 src/partons/modules/observable/AutSinPhiPhiSOld.cpp delete mode 100644 src/partons/modules/observable/CrossSectionBeamMinusUU.cpp delete mode 100644 src/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAc.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.cpp create mode 100644 src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.cpp rename src/partons/modules/observable/{CrossSectionObservable.cpp => DVCS/cross_section/DVCSCrossSection.cpp} (60%) create mode 100644 src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.cpp create mode 100644 src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.cpp create mode 100644 src/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.cpp delete mode 100644 src/partons/modules/observable/PhiIntegratedCrossSection.cpp diff --git a/data/automation/scenario/observable_scenario_example.xml b/data/automation/scenario/observable_scenario_example.xml index 75f27ec2..9c80e97e 100644 --- a/data/automation/scenario/observable_scenario_example.xml +++ b/data/automation/scenario/observable_scenario_example.xml @@ -11,7 +11,7 @@ - + diff --git a/database/insert_experimental_data/CLAS_ALU_asymmetries.dat b/database/insert_experimental_data/CLAS_ALU_asymmetries.dat index d9b2b26f..c59a12c0 100644 --- a/database/insert_experimental_data/CLAS_ALU_asymmetries.dat +++ b/database/insert_experimental_data/CLAS_ALU_asymmetries.dat @@ -17,172 +17,172 @@ EXPERIMENT "2015" "e + p -> e + p + gamma" "fixed target" #=============================================================================================================================== #==== data ====================================================================================================================== -# bin xB t Q2 Ebeam phi obs. value stat- stat+ sys- sys+ err_tot +# bin xB t Q2 Ebeam phi obs. value stat- stat+ sys- sys+ err_tot # - 0 0.19400 -0.11000 1.68000 5.93200 25.00000 Alu 0.37000 0.23000 0.23000 0.01000 0.01000 0.23022 - 0 0.19000 -0.12000 1.68000 5.93200 60.00000 Alu 0.34000 0.11000 0.11000 0.03000 0.03000 0.11402 - 0 0.18600 -0.13000 1.58000 5.93200 92.00000 Alu 0.23000 0.06000 0.06000 0.01000 0.01000 0.06083 - 0 0.17800 -0.13000 1.54000 5.93200 128.00000 Alu 0.13000 0.05000 0.05000 0.01000 0.01000 0.05099 - 0 0.17400 -0.13000 1.50000 5.93200 161.00000 Alu 0.05000 0.05000 0.05000 0.01000 0.01000 0.05099 - 0 0.17300 -0.13000 1.51000 5.93200 198.00000 Alu -0.05000 0.05000 0.05000 0.00000 0.00000 0.05000 - 0 0.17700 -0.13000 1.52000 5.93200 235.00000 Alu -0.21000 0.06000 0.06000 0.01000 0.01000 0.06083 - 0 0.18500 -0.13000 1.60000 5.93200 266.00000 Alu -0.28000 0.06000 0.06000 0.01000 0.01000 0.06083 - 0 0.19000 -0.12000 1.68000 5.93200 305.00000 Alu -0.15000 0.10000 0.10000 0.02000 0.02000 0.10198 - 1 0.19000 -0.21000 1.61000 5.93200 97.00000 Alu 0.19000 0.19000 0.19000 0.06000 0.06000 0.19925 - 1 0.18200 -0.23000 1.57000 5.93200 128.00000 Alu 0.17000 0.10000 0.10000 0.03000 0.03000 0.10440 - 1 0.17900 -0.23000 1.51000 5.93200 161.00000 Alu 0.09000 0.08000 0.08000 0.02000 0.02000 0.08246 - 1 0.17800 -0.23000 1.54000 5.93200 199.00000 Alu -0.12000 0.07000 0.07000 0.02000 0.02000 0.07280 - 1 0.18400 -0.23000 1.62000 5.93200 233.00000 Alu -0.18000 0.09000 0.09000 0.03000 0.03000 0.09487 - 1 0.19100 -0.22000 1.64000 5.93200 263.00000 Alu -0.12000 0.17000 0.17000 0.05000 0.05000 0.17720 - 2 0.18800 -0.49000 1.63000 5.93200 96.00000 Alu 0.39000 0.24000 0.24000 0.09000 0.09000 0.25632 - 2 0.18100 -0.47000 1.54000 5.93200 127.00000 Alu 0.18000 0.11000 0.11000 0.05000 0.05000 0.12083 - 2 0.17300 -0.49000 1.36000 5.93200 162.00000 Alu 0.21000 0.07000 0.07000 0.02000 0.02000 0.07280 - 2 0.17400 -0.46000 1.42000 5.93200 196.00000 Alu -0.07000 0.08000 0.08000 0.02000 0.02000 0.08246 - 2 0.18100 -0.43000 1.60000 5.93200 234.00000 Alu -0.22000 0.12000 0.12000 0.02000 0.02000 0.12166 - 2 0.18500 -0.51000 1.56000 5.93200 261.00000 Alu -0.04000 0.21000 0.21000 0.12000 0.12000 0.24187 - 3 0.18400 -1.35000 1.62000 5.93200 20.00000 Alu 0.13000 0.16000 0.16000 0.07000 0.07000 0.17464 - 3 0.17800 -1.21000 1.56000 5.93200 56.00000 Alu 0.01000 0.14000 0.14000 0.05000 0.05000 0.14866 - 3 0.17800 -1.02000 1.46000 5.93200 92.00000 Alu 0.12000 0.15000 0.15000 0.14000 0.14000 0.20518 - 3 0.17600 -1.01000 1.48000 5.93200 128.00000 Alu 0.20000 0.19000 0.19000 0.05000 0.05000 0.19647 - 3 0.17000 -1.00000 1.36000 5.93200 164.00000 Alu -0.09000 0.08000 0.08000 0.01000 0.01000 0.08062 - 3 0.17100 -0.97000 1.35000 5.93200 192.00000 Alu 0.06000 0.14000 0.14000 0.11000 0.11000 0.17804 - 3 0.17100 -1.07000 1.40000 5.93200 239.00000 Alu -0.22000 0.17000 0.17000 0.07000 0.07000 0.18385 - 3 0.17800 -1.03000 1.41000 5.93200 266.00000 Alu 0.04000 0.10000 0.10000 0.05000 0.05000 0.11180 - 3 0.17900 -1.24000 1.58000 5.93200 306.00000 Alu 0.01000 0.14000 0.14000 0.09000 0.09000 0.16643 - 3 0.18300 -1.35000 1.62000 5.93200 340.00000 Alu -0.11000 0.18000 0.18000 0.12000 0.12000 0.21633 - 4 0.25500 -0.13000 2.03000 5.93200 19.00000 Alu 0.03000 0.03000 0.03000 0.01000 0.01000 0.03162 - 4 0.25000 -0.14000 1.99000 5.93200 52.00000 Alu 0.17000 0.03000 0.03000 0.01000 0.01000 0.03162 - 4 0.23900 -0.14000 1.93000 5.93200 89.00000 Alu 0.20000 0.03000 0.03000 0.01000 0.01000 0.03162 - 4 0.23500 -0.14000 1.91000 5.93200 124.00000 Alu 0.16000 0.05000 0.05000 0.01000 0.01000 0.05099 - 4 0.22800 -0.14000 1.84000 5.93200 160.00000 Alu 0.03000 0.06000 0.06000 0.01000 0.01000 0.06083 - 4 0.23100 -0.14000 1.89000 5.93200 199.00000 Alu 0.02000 0.06000 0.06000 0.01000 0.01000 0.06083 - 4 0.23500 -0.14000 1.93000 5.93200 238.00000 Alu -0.21000 0.05000 0.05000 0.02000 0.02000 0.05385 - 4 0.23900 -0.14000 1.94000 5.93200 270.00000 Alu -0.24000 0.04000 0.04000 0.01000 0.01000 0.04123 - 4 0.24800 -0.13000 1.97000 5.93200 308.00000 Alu -0.16000 0.03000 0.03000 0.01000 0.01000 0.03162 - 4 0.25500 -0.13000 2.03000 5.93200 340.00000 Alu -0.07000 0.03000 0.03000 0.00000 0.00000 0.03000 - 5 0.27600 -0.22000 2.23000 5.93200 21.00000 Alu 0.05000 0.05000 0.05000 0.01000 0.01000 0.05099 - 5 0.26800 -0.23000 2.12000 5.93200 53.00000 Alu 0.22000 0.04000 0.04000 0.01000 0.01000 0.04123 - 5 0.25100 -0.23000 2.01000 5.93200 91.00000 Alu 0.27000 0.04000 0.04000 0.01000 0.01000 0.04123 - 5 0.24800 -0.23000 1.91000 5.93200 124.00000 Alu 0.06000 0.06000 0.06000 0.01000 0.01000 0.06083 - 5 0.24600 -0.24000 1.79000 5.93200 161.00000 Alu 0.03000 0.06000 0.06000 0.01000 0.01000 0.06083 - 5 0.24500 -0.24000 1.80000 5.93200 199.00000 Alu 0.02000 0.06000 0.06000 0.01000 0.01000 0.06083 - 5 0.24200 -0.23000 1.97000 5.93200 235.00000 Alu -0.11000 0.06000 0.06000 0.01000 0.01000 0.06083 - 5 0.24800 -0.23000 2.01000 5.93200 270.00000 Alu -0.31000 0.04000 0.04000 0.01000 0.01000 0.04123 - 5 0.26800 -0.23000 2.14000 5.93200 307.00000 Alu -0.28000 0.04000 0.04000 0.02000 0.02000 0.04472 - 5 0.27700 -0.22000 2.21000 5.93200 340.00000 Alu -0.05000 0.04000 0.04000 0.01000 0.01000 0.04123 - 6 0.28600 -0.40000 2.34000 5.93200 26.00000 Alu 0.22000 0.16000 0.16000 0.01000 0.01000 0.16031 - 6 0.27600 -0.45000 2.20000 5.93200 56.00000 Alu 0.21000 0.06000 0.06000 0.02000 0.02000 0.06325 - 6 0.25400 -0.44000 2.04000 5.93200 90.00000 Alu 0.14000 0.06000 0.06000 0.01000 0.01000 0.06083 - 6 0.25500 -0.45000 1.82000 5.93200 127.00000 Alu 0.08000 0.06000 0.06000 0.04000 0.04000 0.07211 - 6 0.25200 -0.48000 1.73000 5.93200 163.00000 Alu 0.06000 0.04000 0.04000 0.01000 0.01000 0.04123 - 6 0.25400 -0.47000 1.74000 5.93200 197.00000 Alu 0.02000 0.05000 0.05000 0.01000 0.01000 0.05099 - 6 0.25100 -0.44000 1.88000 5.93200 233.00000 Alu -0.13000 0.07000 0.07000 0.02000 0.02000 0.07280 - 6 0.25300 -0.46000 1.99000 5.93200 271.00000 Alu -0.20000 0.05000 0.05000 0.03000 0.03000 0.05831 - 6 0.27400 -0.45000 2.20000 5.93200 303.00000 Alu -0.30000 0.06000 0.06000 0.03000 0.03000 0.06708 - 6 0.28700 -0.40000 2.36000 5.93200 334.00000 Alu -0.21000 0.12000 0.12000 0.03000 0.03000 0.12369 - 7 0.26100 -1.41000 2.03000 5.93200 17.00000 Alu -0.04000 0.05000 0.05000 0.02000 0.02000 0.05385 - 7 0.25800 -1.12000 1.98000 5.93200 54.00000 Alu 0.10000 0.06000 0.06000 0.02000 0.02000 0.06325 - 7 0.25600 -1.18000 1.78000 5.93200 87.00000 Alu 0.05000 0.07000 0.07000 0.03000 0.03000 0.07616 - 7 0.26100 -1.13000 1.82000 5.93200 128.00000 Alu 0.14000 0.09000 0.09000 0.03000 0.03000 0.09487 - 7 0.25200 -1.03000 1.79000 5.93200 164.00000 Alu 0.03000 0.05000 0.05000 0.01000 0.01000 0.05099 - 7 0.25400 -1.03000 1.78000 5.93200 195.00000 Alu -0.03000 0.07000 0.07000 0.02000 0.02000 0.07280 - 7 0.25700 -1.23000 1.84000 5.93200 238.00000 Alu -0.05000 0.08000 0.08000 0.02000 0.02000 0.08246 - 7 0.25700 -1.14000 1.75000 5.93200 270.00000 Alu -0.02000 0.05000 0.05000 0.02000 0.02000 0.05385 - 7 0.26000 -1.12000 2.01000 5.93200 307.00000 Alu -0.07000 0.07000 0.07000 0.01000 0.01000 0.07071 - 7 0.26100 -1.40000 2.03000 5.93200 343.00000 Alu 0.00000 0.04000 0.04000 0.01000 0.01000 0.04123 - 8 0.26500 -0.13000 2.45000 5.93200 20.00000 Alu -0.02000 0.04000 0.04000 0.01000 0.01000 0.04123 - 8 0.25300 -0.14000 2.36000 5.93200 53.00000 Alu 0.07000 0.05000 0.05000 0.02000 0.02000 0.05385 - 8 0.24900 -0.14000 2.32000 5.93200 88.00000 Alu 0.17000 0.05000 0.05000 0.01000 0.01000 0.05099 - 8 0.24600 -0.14000 2.30000 5.93200 125.00000 Alu 0.20000 0.08000 0.08000 0.02000 0.02000 0.08246 - 8 0.24200 -0.14000 2.26000 5.93200 162.00000 Alu 0.20000 0.10000 0.10000 0.03000 0.03000 0.10440 - 8 0.24200 -0.14000 2.27000 5.93200 199.00000 Alu -0.07000 0.09000 0.09000 0.04000 0.04000 0.09849 - 8 0.24300 -0.14000 2.28000 5.93200 237.00000 Alu -0.29000 0.07000 0.07000 0.02000 0.02000 0.07280 - 8 0.24800 -0.14000 2.32000 5.93200 271.00000 Alu -0.22000 0.06000 0.06000 0.02000 0.02000 0.06325 - 8 0.25300 -0.14000 2.36000 5.93200 307.00000 Alu -0.14000 0.04000 0.04000 0.01000 0.01000 0.04123 - 8 0.26500 -0.14000 2.45000 5.93200 340.00000 Alu -0.01000 0.05000 0.05000 0.02000 0.02000 0.05385 - 9 0.28100 -0.22000 2.57000 5.93200 24.00000 Alu 0.03000 0.08000 0.08000 0.02000 0.02000 0.08246 - 9 0.26900 -0.23000 2.50000 5.93200 53.00000 Alu 0.11000 0.05000 0.05000 0.02000 0.02000 0.05385 - 9 0.25800 -0.23000 2.40000 5.93200 90.00000 Alu 0.19000 0.06000 0.06000 0.02000 0.02000 0.06325 - 9 0.25200 -0.23000 2.35000 5.93200 126.00000 Alu 0.16000 0.09000 0.09000 0.02000 0.02000 0.09220 - 9 0.25400 -0.23000 2.36000 5.93200 161.00000 Alu 0.10000 0.10000 0.10000 0.03000 0.03000 0.10440 - 9 0.25400 -0.23000 2.37000 5.93200 199.00000 Alu 0.02000 0.09000 0.09000 0.02000 0.02000 0.09220 - 9 0.25400 -0.23000 2.36000 5.93200 236.00000 Alu -0.17000 0.08000 0.08000 0.02000 0.02000 0.08246 - 9 0.26000 -0.23000 2.42000 5.93200 270.00000 Alu -0.23000 0.06000 0.06000 0.03000 0.03000 0.06708 - 9 0.26600 -0.23000 2.48000 5.93200 308.00000 Alu -0.15000 0.05000 0.05000 0.02000 0.02000 0.05385 - 9 0.27900 -0.22000 2.56000 5.93200 336.00000 Alu -0.01000 0.07000 0.07000 0.01000 0.01000 0.07071 - 10 0.28400 -0.41000 2.60000 5.93200 31.00000 Alu -0.18000 0.22000 0.22000 0.09000 0.09000 0.23770 - 10 0.27500 -0.44000 2.55000 5.93200 52.00000 Alu 0.17000 0.06000 0.06000 0.01000 0.01000 0.06083 - 10 0.26400 -0.44000 2.45000 5.93200 91.00000 Alu 0.20000 0.07000 0.07000 0.02000 0.02000 0.07280 - 10 0.25400 -0.44000 2.37000 5.93200 122.00000 Alu 0.23000 0.10000 0.10000 0.03000 0.03000 0.10440 - 10 0.25000 -0.41000 2.33000 5.93200 159.00000 Alu -0.15000 0.13000 0.13000 0.04000 0.04000 0.13601 - 10 0.25300 -0.41000 2.36000 5.93200 199.00000 Alu -0.02000 0.12000 0.12000 0.04000 0.04000 0.12649 - 10 0.25400 -0.43000 2.36000 5.93200 235.00000 Alu -0.28000 0.10000 0.10000 0.03000 0.03000 0.10440 - 10 0.26100 -0.45000 2.43000 5.93200 270.00000 Alu -0.26000 0.07000 0.07000 0.02000 0.02000 0.07280 - 10 0.27400 -0.45000 2.54000 5.93200 307.00000 Alu -0.24000 0.07000 0.07000 0.03000 0.03000 0.07616 - 10 0.28400 -0.42000 2.61000 5.93200 330.00000 Alu -0.15000 0.19000 0.19000 0.07000 0.07000 0.20248 - 11 0.26100 -1.22000 2.43000 5.93200 20.00000 Alu -0.01000 0.08000 0.08000 0.02000 0.02000 0.08246 - 11 0.26500 -1.06000 2.45000 5.93200 52.00000 Alu 0.14000 0.09000 0.09000 0.03000 0.03000 0.09487 - 11 0.25500 -0.96000 2.37000 5.93200 88.00000 Alu 0.18000 0.20000 0.20000 0.12000 0.12000 0.23324 - 11 0.26100 -0.96000 2.43000 5.93200 273.00000 Alu -0.31000 0.17000 0.17000 0.05000 0.05000 0.17720 - 11 0.26200 -1.08000 2.44000 5.93200 308.00000 Alu -0.16000 0.10000 0.10000 0.04000 0.04000 0.10770 - 11 0.26500 -1.23000 2.46000 5.93200 340.00000 Alu -0.04000 0.07000 0.07000 0.02000 0.02000 0.07280 - 12 0.31900 -0.16000 2.55000 5.93200 19.00000 Alu 0.13000 0.05000 0.05000 0.02000 0.02000 0.05385 - 12 0.31900 -0.16000 2.50000 5.93200 50.00000 Alu 0.25000 0.07000 0.07000 0.03000 0.03000 0.07616 - 12 0.32000 -0.16000 2.53000 5.93200 88.00000 Alu 0.37000 0.14000 0.14000 0.08000 0.08000 0.16125 - 12 0.31700 -0.16000 2.55000 5.93200 240.00000 Alu -0.13000 0.22000 0.22000 0.01000 0.01000 0.22023 - 12 0.32100 -0.16000 2.59000 5.93200 273.00000 Alu -0.12000 0.15000 0.15000 0.05000 0.05000 0.15811 - 12 0.31900 -0.16000 2.53000 5.93200 309.00000 Alu -0.21000 0.07000 0.07000 0.02000 0.02000 0.07280 - 12 0.31800 -0.16000 2.55000 5.93200 342.00000 Alu -0.12000 0.06000 0.06000 0.02000 0.02000 0.06325 - 13 0.33800 -0.24000 2.72000 5.93200 19.00000 Alu 0.08000 0.03000 0.03000 0.00000 0.00000 0.03000 - 13 0.33800 -0.24000 2.68000 5.93200 51.00000 Alu 0.20000 0.03000 0.03000 0.01000 0.01000 0.03162 - 13 0.33700 -0.24000 2.67000 5.93200 89.00000 Alu 0.16000 0.05000 0.05000 0.02000 0.02000 0.05385 - 13 0.33700 -0.25000 2.43000 5.93200 122.00000 Alu 0.13000 0.07000 0.07000 0.01000 0.01000 0.07071 - 13 0.32600 -0.25000 2.47000 5.93200 161.00000 Alu 0.14000 0.12000 0.12000 0.01000 0.01000 0.12042 - 13 0.32200 -0.25000 2.55000 5.93200 201.00000 Alu -0.07000 0.09000 0.09000 0.03000 0.03000 0.09487 - 13 0.33800 -0.24000 2.55000 5.93200 238.00000 Alu -0.20000 0.07000 0.07000 0.02000 0.02000 0.07280 - 13 0.33700 -0.24000 2.73000 5.93200 271.00000 Alu -0.26000 0.06000 0.06000 0.03000 0.03000 0.06708 - 13 0.33600 -0.24000 2.69000 5.93200 309.00000 Alu -0.26000 0.03000 0.03000 0.02000 0.02000 0.03606 - 13 0.33800 -0.24000 2.68000 5.93200 341.00000 Alu -0.04000 0.03000 0.03000 0.00000 0.00000 0.03000 - 14 0.35600 -0.44000 2.81000 5.93200 20.00000 Alu 0.09000 0.03000 0.03000 0.01000 0.01000 0.03162 - 14 0.34600 -0.46000 2.74000 5.93200 51.00000 Alu 0.20000 0.03000 0.03000 0.01000 0.01000 0.03162 - 14 0.34600 -0.45000 2.68000 5.93200 90.00000 Alu 0.15000 0.05000 0.05000 0.02000 0.02000 0.05385 - 14 0.34900 -0.47000 2.24000 5.93200 126.00000 Alu 0.07000 0.05000 0.05000 0.01000 0.01000 0.05099 - 14 0.33900 -0.49000 2.25000 5.93200 162.00000 Alu 0.06000 0.06000 0.06000 0.01000 0.01000 0.06083 - 14 0.33900 -0.49000 2.23000 5.93200 202.00000 Alu -0.13000 0.06000 0.06000 0.02000 0.02000 0.06325 - 14 0.34700 -0.47000 2.43000 5.93200 232.00000 Alu -0.06000 0.06000 0.06000 0.01000 0.01000 0.06083 - 14 0.34400 -0.47000 2.72000 5.93200 271.00000 Alu -0.22000 0.05000 0.05000 0.02000 0.02000 0.05385 - 14 0.34700 -0.45000 2.77000 5.93200 309.00000 Alu -0.21000 0.03000 0.03000 0.01000 0.01000 0.03162 - 14 0.35500 -0.45000 2.77000 5.93200 340.00000 Alu -0.15000 0.02000 0.02000 0.01000 0.01000 0.02236 - 15 0.35200 -1.30000 2.59000 5.93200 20.00000 Alu 0.02000 0.03000 0.03000 0.00000 0.00000 0.03000 - 15 0.34800 -1.09000 2.59000 5.93200 52.00000 Alu 0.13000 0.04000 0.04000 0.01000 0.01000 0.04123 - 15 0.35000 -1.28000 2.28000 5.93200 87.00000 Alu 0.12000 0.06000 0.06000 0.02000 0.02000 0.06325 - 15 0.35300 -1.09000 2.27000 5.93200 129.00000 Alu 0.08000 0.06000 0.06000 0.03000 0.03000 0.06708 - 15 0.34500 -1.06000 2.33000 5.93200 161.00000 Alu -0.00000 0.06000 0.06000 0.02000 0.02000 0.06325 - 15 0.34700 -1.06000 2.29000 5.93200 201.00000 Alu -0.00000 0.06000 0.06000 0.02000 0.02000 0.06325 - 15 0.35200 -1.23000 2.33000 5.93200 236.00000 Alu -0.01000 0.06000 0.06000 0.02000 0.02000 0.06325 - 15 0.34700 -1.23000 2.25000 5.93200 269.00000 Alu -0.04000 0.05000 0.05000 0.01000 0.01000 0.05099 - 15 0.34900 -1.09000 2.61000 5.93200 308.00000 Alu -0.11000 0.05000 0.05000 0.01000 0.01000 0.05099 - 15 0.35200 -1.28000 2.57000 5.93200 340.00000 Alu -0.02000 0.03000 0.03000 0.00000 0.00000 0.03000 - 16 0.41400 -0.27000 3.21000 5.93200 19.00000 Alu -0.24000 0.18000 0.18000 0.02000 0.02000 0.18111 - 16 0.41400 -0.27000 3.16000 5.93200 51.00000 Alu 0.22000 0.21000 0.21000 0.09000 0.09000 0.22847 - 17 0.44300 -0.51000 3.36000 5.93200 17.00000 Alu 0.07000 0.04000 0.04000 0.01000 0.01000 0.04123 - 17 0.44400 -0.49000 3.41000 5.93200 52.00000 Alu 0.21000 0.05000 0.05000 0.02000 0.02000 0.05385 - 17 0.44800 -0.49000 3.25000 5.93200 89.00000 Alu 0.24000 0.07000 0.07000 0.03000 0.03000 0.07616 - 17 0.43000 -0.53000 2.84000 5.93200 124.00000 Alu 0.12000 0.09000 0.09000 0.05000 0.05000 0.10296 - 17 0.42000 -0.57000 2.93000 5.93200 155.00000 Alu -0.08000 0.24000 0.24000 0.08000 0.08000 0.25298 - 17 0.42100 -0.58000 2.94000 5.93200 207.00000 Alu -0.44000 0.23000 0.23000 0.06000 0.06000 0.23770 - 17 0.43500 -0.50000 2.95000 5.93200 238.00000 Alu -0.04000 0.11000 0.11000 0.05000 0.05000 0.12083 - 17 0.44000 -0.48000 3.33000 5.93200 271.00000 Alu -0.08000 0.08000 0.08000 0.02000 0.02000 0.08246 - 17 0.44500 -0.50000 3.46000 5.93200 310.00000 Alu -0.28000 0.05000 0.05000 0.02000 0.02000 0.05385 - 17 0.44300 -0.52000 3.35000 5.93200 342.00000 Alu -0.08000 0.03000 0.03000 0.01000 0.01000 0.03162 - 18 0.46500 -1.12000 3.37000 5.93200 18.00000 Alu 0.06000 0.03000 0.03000 0.01000 0.01000 0.03162 - 18 0.46500 -1.13000 3.46000 5.93200 52.00000 Alu 0.21000 0.05000 0.05000 0.02000 0.02000 0.05385 - 18 0.45900 -1.27000 3.18000 5.93200 89.00000 Alu -0.00000 0.07000 0.07000 0.02000 0.02000 0.07280 - 18 0.45600 -1.15000 3.13000 5.93200 126.00000 Alu 0.11000 0.06000 0.06000 0.01000 0.01000 0.06083 - 18 0.43400 -1.18000 3.30000 5.93200 159.00000 Alu 0.07000 0.11000 0.11000 0.09000 0.09000 0.14213 - 18 0.43000 -1.09000 3.11000 5.93200 203.00000 Alu -0.10000 0.13000 0.13000 0.03000 0.03000 0.13342 - 18 0.45500 -1.25000 3.16000 5.93200 236.00000 Alu -0.06000 0.07000 0.07000 0.01000 0.01000 0.07071 - 18 0.45400 -1.35000 3.12000 5.93200 269.00000 Alu -0.02000 0.06000 0.06000 0.02000 0.02000 0.06325 - 18 0.46700 -1.10000 3.49000 5.93200 310.00000 Alu -0.31000 0.06000 0.06000 0.04000 0.04000 0.07211 - 18 0.46400 -1.15000 3.36000 5.93200 342.00000 Alu -0.07000 0.03000 0.03000 0.01000 0.01000 0.03162 + 0 0.19400 -0.11000 1.68000 5.93200 25.00000 DVCSAluMinus 0.37000 0.23000 0.23000 0.01000 0.01000 0.23022 + 0 0.19000 -0.12000 1.68000 5.93200 60.00000 DVCSAluMinus 0.34000 0.11000 0.11000 0.03000 0.03000 0.11402 + 0 0.18600 -0.13000 1.58000 5.93200 92.00000 DVCSAluMinus 0.23000 0.06000 0.06000 0.01000 0.01000 0.06083 + 0 0.17800 -0.13000 1.54000 5.93200 128.00000 DVCSAluMinus 0.13000 0.05000 0.05000 0.01000 0.01000 0.05099 + 0 0.17400 -0.13000 1.50000 5.93200 161.00000 DVCSAluMinus 0.05000 0.05000 0.05000 0.01000 0.01000 0.05099 + 0 0.17300 -0.13000 1.51000 5.93200 198.00000 DVCSAluMinus -0.05000 0.05000 0.05000 0.00000 0.00000 0.05000 + 0 0.17700 -0.13000 1.52000 5.93200 235.00000 DVCSAluMinus -0.21000 0.06000 0.06000 0.01000 0.01000 0.06083 + 0 0.18500 -0.13000 1.60000 5.93200 266.00000 DVCSAluMinus -0.28000 0.06000 0.06000 0.01000 0.01000 0.06083 + 0 0.19000 -0.12000 1.68000 5.93200 305.00000 DVCSAluMinus -0.15000 0.10000 0.10000 0.02000 0.02000 0.10198 + 1 0.19000 -0.21000 1.61000 5.93200 97.00000 DVCSAluMinus 0.19000 0.19000 0.19000 0.06000 0.06000 0.19925 + 1 0.18200 -0.23000 1.57000 5.93200 128.00000 DVCSAluMinus 0.17000 0.10000 0.10000 0.03000 0.03000 0.10440 + 1 0.17900 -0.23000 1.51000 5.93200 161.00000 DVCSAluMinus 0.09000 0.08000 0.08000 0.02000 0.02000 0.08246 + 1 0.17800 -0.23000 1.54000 5.93200 199.00000 DVCSAluMinus -0.12000 0.07000 0.07000 0.02000 0.02000 0.07280 + 1 0.18400 -0.23000 1.62000 5.93200 233.00000 DVCSAluMinus -0.18000 0.09000 0.09000 0.03000 0.03000 0.09487 + 1 0.19100 -0.22000 1.64000 5.93200 263.00000 DVCSAluMinus -0.12000 0.17000 0.17000 0.05000 0.05000 0.17720 + 2 0.18800 -0.49000 1.63000 5.93200 96.00000 DVCSAluMinus 0.39000 0.24000 0.24000 0.09000 0.09000 0.25632 + 2 0.18100 -0.47000 1.54000 5.93200 127.00000 DVCSAluMinus 0.18000 0.11000 0.11000 0.05000 0.05000 0.12083 + 2 0.17300 -0.49000 1.36000 5.93200 162.00000 DVCSAluMinus 0.21000 0.07000 0.07000 0.02000 0.02000 0.07280 + 2 0.17400 -0.46000 1.42000 5.93200 196.00000 DVCSAluMinus -0.07000 0.08000 0.08000 0.02000 0.02000 0.08246 + 2 0.18100 -0.43000 1.60000 5.93200 234.00000 DVCSAluMinus -0.22000 0.12000 0.12000 0.02000 0.02000 0.12166 + 2 0.18500 -0.51000 1.56000 5.93200 261.00000 DVCSAluMinus -0.04000 0.21000 0.21000 0.12000 0.12000 0.24187 + 3 0.18400 -1.35000 1.62000 5.93200 20.00000 DVCSAluMinus 0.13000 0.16000 0.16000 0.07000 0.07000 0.17464 + 3 0.17800 -1.21000 1.56000 5.93200 56.00000 DVCSAluMinus 0.01000 0.14000 0.14000 0.05000 0.05000 0.14866 + 3 0.17800 -1.02000 1.46000 5.93200 92.00000 DVCSAluMinus 0.12000 0.15000 0.15000 0.14000 0.14000 0.20518 + 3 0.17600 -1.01000 1.48000 5.93200 128.00000 DVCSAluMinus 0.20000 0.19000 0.19000 0.05000 0.05000 0.19647 + 3 0.17000 -1.00000 1.36000 5.93200 164.00000 DVCSAluMinus -0.09000 0.08000 0.08000 0.01000 0.01000 0.08062 + 3 0.17100 -0.97000 1.35000 5.93200 192.00000 DVCSAluMinus 0.06000 0.14000 0.14000 0.11000 0.11000 0.17804 + 3 0.17100 -1.07000 1.40000 5.93200 239.00000 DVCSAluMinus -0.22000 0.17000 0.17000 0.07000 0.07000 0.18385 + 3 0.17800 -1.03000 1.41000 5.93200 266.00000 DVCSAluMinus 0.04000 0.10000 0.10000 0.05000 0.05000 0.11180 + 3 0.17900 -1.24000 1.58000 5.93200 306.00000 DVCSAluMinus 0.01000 0.14000 0.14000 0.09000 0.09000 0.16643 + 3 0.18300 -1.35000 1.62000 5.93200 340.00000 DVCSAluMinus -0.11000 0.18000 0.18000 0.12000 0.12000 0.21633 + 4 0.25500 -0.13000 2.03000 5.93200 19.00000 DVCSAluMinus 0.03000 0.03000 0.03000 0.01000 0.01000 0.03162 + 4 0.25000 -0.14000 1.99000 5.93200 52.00000 DVCSAluMinus 0.17000 0.03000 0.03000 0.01000 0.01000 0.03162 + 4 0.23900 -0.14000 1.93000 5.93200 89.00000 DVCSAluMinus 0.20000 0.03000 0.03000 0.01000 0.01000 0.03162 + 4 0.23500 -0.14000 1.91000 5.93200 124.00000 DVCSAluMinus 0.16000 0.05000 0.05000 0.01000 0.01000 0.05099 + 4 0.22800 -0.14000 1.84000 5.93200 160.00000 DVCSAluMinus 0.03000 0.06000 0.06000 0.01000 0.01000 0.06083 + 4 0.23100 -0.14000 1.89000 5.93200 199.00000 DVCSAluMinus 0.02000 0.06000 0.06000 0.01000 0.01000 0.06083 + 4 0.23500 -0.14000 1.93000 5.93200 238.00000 DVCSAluMinus -0.21000 0.05000 0.05000 0.02000 0.02000 0.05385 + 4 0.23900 -0.14000 1.94000 5.93200 270.00000 DVCSAluMinus -0.24000 0.04000 0.04000 0.01000 0.01000 0.04123 + 4 0.24800 -0.13000 1.97000 5.93200 308.00000 DVCSAluMinus -0.16000 0.03000 0.03000 0.01000 0.01000 0.03162 + 4 0.25500 -0.13000 2.03000 5.93200 340.00000 DVCSAluMinus -0.07000 0.03000 0.03000 0.00000 0.00000 0.03000 + 5 0.27600 -0.22000 2.23000 5.93200 21.00000 DVCSAluMinus 0.05000 0.05000 0.05000 0.01000 0.01000 0.05099 + 5 0.26800 -0.23000 2.12000 5.93200 53.00000 DVCSAluMinus 0.22000 0.04000 0.04000 0.01000 0.01000 0.04123 + 5 0.25100 -0.23000 2.01000 5.93200 91.00000 DVCSAluMinus 0.27000 0.04000 0.04000 0.01000 0.01000 0.04123 + 5 0.24800 -0.23000 1.91000 5.93200 124.00000 DVCSAluMinus 0.06000 0.06000 0.06000 0.01000 0.01000 0.06083 + 5 0.24600 -0.24000 1.79000 5.93200 161.00000 DVCSAluMinus 0.03000 0.06000 0.06000 0.01000 0.01000 0.06083 + 5 0.24500 -0.24000 1.80000 5.93200 199.00000 DVCSAluMinus 0.02000 0.06000 0.06000 0.01000 0.01000 0.06083 + 5 0.24200 -0.23000 1.97000 5.93200 235.00000 DVCSAluMinus -0.11000 0.06000 0.06000 0.01000 0.01000 0.06083 + 5 0.24800 -0.23000 2.01000 5.93200 270.00000 DVCSAluMinus -0.31000 0.04000 0.04000 0.01000 0.01000 0.04123 + 5 0.26800 -0.23000 2.14000 5.93200 307.00000 DVCSAluMinus -0.28000 0.04000 0.04000 0.02000 0.02000 0.04472 + 5 0.27700 -0.22000 2.21000 5.93200 340.00000 DVCSAluMinus -0.05000 0.04000 0.04000 0.01000 0.01000 0.04123 + 6 0.28600 -0.40000 2.34000 5.93200 26.00000 DVCSAluMinus 0.22000 0.16000 0.16000 0.01000 0.01000 0.16031 + 6 0.27600 -0.45000 2.20000 5.93200 56.00000 DVCSAluMinus 0.21000 0.06000 0.06000 0.02000 0.02000 0.06325 + 6 0.25400 -0.44000 2.04000 5.93200 90.00000 DVCSAluMinus 0.14000 0.06000 0.06000 0.01000 0.01000 0.06083 + 6 0.25500 -0.45000 1.82000 5.93200 127.00000 DVCSAluMinus 0.08000 0.06000 0.06000 0.04000 0.04000 0.07211 + 6 0.25200 -0.48000 1.73000 5.93200 163.00000 DVCSAluMinus 0.06000 0.04000 0.04000 0.01000 0.01000 0.04123 + 6 0.25400 -0.47000 1.74000 5.93200 197.00000 DVCSAluMinus 0.02000 0.05000 0.05000 0.01000 0.01000 0.05099 + 6 0.25100 -0.44000 1.88000 5.93200 233.00000 DVCSAluMinus -0.13000 0.07000 0.07000 0.02000 0.02000 0.07280 + 6 0.25300 -0.46000 1.99000 5.93200 271.00000 DVCSAluMinus -0.20000 0.05000 0.05000 0.03000 0.03000 0.05831 + 6 0.27400 -0.45000 2.20000 5.93200 303.00000 DVCSAluMinus -0.30000 0.06000 0.06000 0.03000 0.03000 0.06708 + 6 0.28700 -0.40000 2.36000 5.93200 334.00000 DVCSAluMinus -0.21000 0.12000 0.12000 0.03000 0.03000 0.12369 + 7 0.26100 -1.41000 2.03000 5.93200 17.00000 DVCSAluMinus -0.04000 0.05000 0.05000 0.02000 0.02000 0.05385 + 7 0.25800 -1.12000 1.98000 5.93200 54.00000 DVCSAluMinus 0.10000 0.06000 0.06000 0.02000 0.02000 0.06325 + 7 0.25600 -1.18000 1.78000 5.93200 87.00000 DVCSAluMinus 0.05000 0.07000 0.07000 0.03000 0.03000 0.07616 + 7 0.26100 -1.13000 1.82000 5.93200 128.00000 DVCSAluMinus 0.14000 0.09000 0.09000 0.03000 0.03000 0.09487 + 7 0.25200 -1.03000 1.79000 5.93200 164.00000 DVCSAluMinus 0.03000 0.05000 0.05000 0.01000 0.01000 0.05099 + 7 0.25400 -1.03000 1.78000 5.93200 195.00000 DVCSAluMinus -0.03000 0.07000 0.07000 0.02000 0.02000 0.07280 + 7 0.25700 -1.23000 1.84000 5.93200 238.00000 DVCSAluMinus -0.05000 0.08000 0.08000 0.02000 0.02000 0.08246 + 7 0.25700 -1.14000 1.75000 5.93200 270.00000 DVCSAluMinus -0.02000 0.05000 0.05000 0.02000 0.02000 0.05385 + 7 0.26000 -1.12000 2.01000 5.93200 307.00000 DVCSAluMinus -0.07000 0.07000 0.07000 0.01000 0.01000 0.07071 + 7 0.26100 -1.40000 2.03000 5.93200 343.00000 DVCSAluMinus 0.00000 0.04000 0.04000 0.01000 0.01000 0.04123 + 8 0.26500 -0.13000 2.45000 5.93200 20.00000 DVCSAluMinus -0.02000 0.04000 0.04000 0.01000 0.01000 0.04123 + 8 0.25300 -0.14000 2.36000 5.93200 53.00000 DVCSAluMinus 0.07000 0.05000 0.05000 0.02000 0.02000 0.05385 + 8 0.24900 -0.14000 2.32000 5.93200 88.00000 DVCSAluMinus 0.17000 0.05000 0.05000 0.01000 0.01000 0.05099 + 8 0.24600 -0.14000 2.30000 5.93200 125.00000 DVCSAluMinus 0.20000 0.08000 0.08000 0.02000 0.02000 0.08246 + 8 0.24200 -0.14000 2.26000 5.93200 162.00000 DVCSAluMinus 0.20000 0.10000 0.10000 0.03000 0.03000 0.10440 + 8 0.24200 -0.14000 2.27000 5.93200 199.00000 DVCSAluMinus -0.07000 0.09000 0.09000 0.04000 0.04000 0.09849 + 8 0.24300 -0.14000 2.28000 5.93200 237.00000 DVCSAluMinus -0.29000 0.07000 0.07000 0.02000 0.02000 0.07280 + 8 0.24800 -0.14000 2.32000 5.93200 271.00000 DVCSAluMinus -0.22000 0.06000 0.06000 0.02000 0.02000 0.06325 + 8 0.25300 -0.14000 2.36000 5.93200 307.00000 DVCSAluMinus -0.14000 0.04000 0.04000 0.01000 0.01000 0.04123 + 8 0.26500 -0.14000 2.45000 5.93200 340.00000 DVCSAluMinus -0.01000 0.05000 0.05000 0.02000 0.02000 0.05385 + 9 0.28100 -0.22000 2.57000 5.93200 24.00000 DVCSAluMinus 0.03000 0.08000 0.08000 0.02000 0.02000 0.08246 + 9 0.26900 -0.23000 2.50000 5.93200 53.00000 DVCSAluMinus 0.11000 0.05000 0.05000 0.02000 0.02000 0.05385 + 9 0.25800 -0.23000 2.40000 5.93200 90.00000 DVCSAluMinus 0.19000 0.06000 0.06000 0.02000 0.02000 0.06325 + 9 0.25200 -0.23000 2.35000 5.93200 126.00000 DVCSAluMinus 0.16000 0.09000 0.09000 0.02000 0.02000 0.09220 + 9 0.25400 -0.23000 2.36000 5.93200 161.00000 DVCSAluMinus 0.10000 0.10000 0.10000 0.03000 0.03000 0.10440 + 9 0.25400 -0.23000 2.37000 5.93200 199.00000 DVCSAluMinus 0.02000 0.09000 0.09000 0.02000 0.02000 0.09220 + 9 0.25400 -0.23000 2.36000 5.93200 236.00000 DVCSAluMinus -0.17000 0.08000 0.08000 0.02000 0.02000 0.08246 + 9 0.26000 -0.23000 2.42000 5.93200 270.00000 DVCSAluMinus -0.23000 0.06000 0.06000 0.03000 0.03000 0.06708 + 9 0.26600 -0.23000 2.48000 5.93200 308.00000 DVCSAluMinus -0.15000 0.05000 0.05000 0.02000 0.02000 0.05385 + 9 0.27900 -0.22000 2.56000 5.93200 336.00000 DVCSAluMinus -0.01000 0.07000 0.07000 0.01000 0.01000 0.07071 + 10 0.28400 -0.41000 2.60000 5.93200 31.00000 DVCSAluMinus -0.18000 0.22000 0.22000 0.09000 0.09000 0.23770 + 10 0.27500 -0.44000 2.55000 5.93200 52.00000 DVCSAluMinus 0.17000 0.06000 0.06000 0.01000 0.01000 0.06083 + 10 0.26400 -0.44000 2.45000 5.93200 91.00000 DVCSAluMinus 0.20000 0.07000 0.07000 0.02000 0.02000 0.07280 + 10 0.25400 -0.44000 2.37000 5.93200 122.00000 DVCSAluMinus 0.23000 0.10000 0.10000 0.03000 0.03000 0.10440 + 10 0.25000 -0.41000 2.33000 5.93200 159.00000 DVCSAluMinus -0.15000 0.13000 0.13000 0.04000 0.04000 0.13601 + 10 0.25300 -0.41000 2.36000 5.93200 199.00000 DVCSAluMinus -0.02000 0.12000 0.12000 0.04000 0.04000 0.12649 + 10 0.25400 -0.43000 2.36000 5.93200 235.00000 DVCSAluMinus -0.28000 0.10000 0.10000 0.03000 0.03000 0.10440 + 10 0.26100 -0.45000 2.43000 5.93200 270.00000 DVCSAluMinus -0.26000 0.07000 0.07000 0.02000 0.02000 0.07280 + 10 0.27400 -0.45000 2.54000 5.93200 307.00000 DVCSAluMinus -0.24000 0.07000 0.07000 0.03000 0.03000 0.07616 + 10 0.28400 -0.42000 2.61000 5.93200 330.00000 DVCSAluMinus -0.15000 0.19000 0.19000 0.07000 0.07000 0.20248 + 11 0.26100 -1.22000 2.43000 5.93200 20.00000 DVCSAluMinus -0.01000 0.08000 0.08000 0.02000 0.02000 0.08246 + 11 0.26500 -1.06000 2.45000 5.93200 52.00000 DVCSAluMinus 0.14000 0.09000 0.09000 0.03000 0.03000 0.09487 + 11 0.25500 -0.96000 2.37000 5.93200 88.00000 DVCSAluMinus 0.18000 0.20000 0.20000 0.12000 0.12000 0.23324 + 11 0.26100 -0.96000 2.43000 5.93200 273.00000 DVCSAluMinus -0.31000 0.17000 0.17000 0.05000 0.05000 0.17720 + 11 0.26200 -1.08000 2.44000 5.93200 308.00000 DVCSAluMinus -0.16000 0.10000 0.10000 0.04000 0.04000 0.10770 + 11 0.26500 -1.23000 2.46000 5.93200 340.00000 DVCSAluMinus -0.04000 0.07000 0.07000 0.02000 0.02000 0.07280 + 12 0.31900 -0.16000 2.55000 5.93200 19.00000 DVCSAluMinus 0.13000 0.05000 0.05000 0.02000 0.02000 0.05385 + 12 0.31900 -0.16000 2.50000 5.93200 50.00000 DVCSAluMinus 0.25000 0.07000 0.07000 0.03000 0.03000 0.07616 + 12 0.32000 -0.16000 2.53000 5.93200 88.00000 DVCSAluMinus 0.37000 0.14000 0.14000 0.08000 0.08000 0.16125 + 12 0.31700 -0.16000 2.55000 5.93200 240.00000 DVCSAluMinus -0.13000 0.22000 0.22000 0.01000 0.01000 0.22023 + 12 0.32100 -0.16000 2.59000 5.93200 273.00000 DVCSAluMinus -0.12000 0.15000 0.15000 0.05000 0.05000 0.15811 + 12 0.31900 -0.16000 2.53000 5.93200 309.00000 DVCSAluMinus -0.21000 0.07000 0.07000 0.02000 0.02000 0.07280 + 12 0.31800 -0.16000 2.55000 5.93200 342.00000 DVCSAluMinus -0.12000 0.06000 0.06000 0.02000 0.02000 0.06325 + 13 0.33800 -0.24000 2.72000 5.93200 19.00000 DVCSAluMinus 0.08000 0.03000 0.03000 0.00000 0.00000 0.03000 + 13 0.33800 -0.24000 2.68000 5.93200 51.00000 DVCSAluMinus 0.20000 0.03000 0.03000 0.01000 0.01000 0.03162 + 13 0.33700 -0.24000 2.67000 5.93200 89.00000 DVCSAluMinus 0.16000 0.05000 0.05000 0.02000 0.02000 0.05385 + 13 0.33700 -0.25000 2.43000 5.93200 122.00000 DVCSAluMinus 0.13000 0.07000 0.07000 0.01000 0.01000 0.07071 + 13 0.32600 -0.25000 2.47000 5.93200 161.00000 DVCSAluMinus 0.14000 0.12000 0.12000 0.01000 0.01000 0.12042 + 13 0.32200 -0.25000 2.55000 5.93200 201.00000 DVCSAluMinus -0.07000 0.09000 0.09000 0.03000 0.03000 0.09487 + 13 0.33800 -0.24000 2.55000 5.93200 238.00000 DVCSAluMinus -0.20000 0.07000 0.07000 0.02000 0.02000 0.07280 + 13 0.33700 -0.24000 2.73000 5.93200 271.00000 DVCSAluMinus -0.26000 0.06000 0.06000 0.03000 0.03000 0.06708 + 13 0.33600 -0.24000 2.69000 5.93200 309.00000 DVCSAluMinus -0.26000 0.03000 0.03000 0.02000 0.02000 0.03606 + 13 0.33800 -0.24000 2.68000 5.93200 341.00000 DVCSAluMinus -0.04000 0.03000 0.03000 0.00000 0.00000 0.03000 + 14 0.35600 -0.44000 2.81000 5.93200 20.00000 DVCSAluMinus 0.09000 0.03000 0.03000 0.01000 0.01000 0.03162 + 14 0.34600 -0.46000 2.74000 5.93200 51.00000 DVCSAluMinus 0.20000 0.03000 0.03000 0.01000 0.01000 0.03162 + 14 0.34600 -0.45000 2.68000 5.93200 90.00000 DVCSAluMinus 0.15000 0.05000 0.05000 0.02000 0.02000 0.05385 + 14 0.34900 -0.47000 2.24000 5.93200 126.00000 DVCSAluMinus 0.07000 0.05000 0.05000 0.01000 0.01000 0.05099 + 14 0.33900 -0.49000 2.25000 5.93200 162.00000 DVCSAluMinus 0.06000 0.06000 0.06000 0.01000 0.01000 0.06083 + 14 0.33900 -0.49000 2.23000 5.93200 202.00000 DVCSAluMinus -0.13000 0.06000 0.06000 0.02000 0.02000 0.06325 + 14 0.34700 -0.47000 2.43000 5.93200 232.00000 DVCSAluMinus -0.06000 0.06000 0.06000 0.01000 0.01000 0.06083 + 14 0.34400 -0.47000 2.72000 5.93200 271.00000 DVCSAluMinus -0.22000 0.05000 0.05000 0.02000 0.02000 0.05385 + 14 0.34700 -0.45000 2.77000 5.93200 309.00000 DVCSAluMinus -0.21000 0.03000 0.03000 0.01000 0.01000 0.03162 + 14 0.35500 -0.45000 2.77000 5.93200 340.00000 DVCSAluMinus -0.15000 0.02000 0.02000 0.01000 0.01000 0.02236 + 15 0.35200 -1.30000 2.59000 5.93200 20.00000 DVCSAluMinus 0.02000 0.03000 0.03000 0.00000 0.00000 0.03000 + 15 0.34800 -1.09000 2.59000 5.93200 52.00000 DVCSAluMinus 0.13000 0.04000 0.04000 0.01000 0.01000 0.04123 + 15 0.35000 -1.28000 2.28000 5.93200 87.00000 DVCSAluMinus 0.12000 0.06000 0.06000 0.02000 0.02000 0.06325 + 15 0.35300 -1.09000 2.27000 5.93200 129.00000 DVCSAluMinus 0.08000 0.06000 0.06000 0.03000 0.03000 0.06708 + 15 0.34500 -1.06000 2.33000 5.93200 161.00000 DVCSAluMinus -0.00000 0.06000 0.06000 0.02000 0.02000 0.06325 + 15 0.34700 -1.06000 2.29000 5.93200 201.00000 DVCSAluMinus -0.00000 0.06000 0.06000 0.02000 0.02000 0.06325 + 15 0.35200 -1.23000 2.33000 5.93200 236.00000 DVCSAluMinus -0.01000 0.06000 0.06000 0.02000 0.02000 0.06325 + 15 0.34700 -1.23000 2.25000 5.93200 269.00000 DVCSAluMinus -0.04000 0.05000 0.05000 0.01000 0.01000 0.05099 + 15 0.34900 -1.09000 2.61000 5.93200 308.00000 DVCSAluMinus -0.11000 0.05000 0.05000 0.01000 0.01000 0.05099 + 15 0.35200 -1.28000 2.57000 5.93200 340.00000 DVCSAluMinus -0.02000 0.03000 0.03000 0.00000 0.00000 0.03000 + 16 0.41400 -0.27000 3.21000 5.93200 19.00000 DVCSAluMinus -0.24000 0.18000 0.18000 0.02000 0.02000 0.18111 + 16 0.41400 -0.27000 3.16000 5.93200 51.00000 DVCSAluMinus 0.22000 0.21000 0.21000 0.09000 0.09000 0.22847 + 17 0.44300 -0.51000 3.36000 5.93200 17.00000 DVCSAluMinus 0.07000 0.04000 0.04000 0.01000 0.01000 0.04123 + 17 0.44400 -0.49000 3.41000 5.93200 52.00000 DVCSAluMinus 0.21000 0.05000 0.05000 0.02000 0.02000 0.05385 + 17 0.44800 -0.49000 3.25000 5.93200 89.00000 DVCSAluMinus 0.24000 0.07000 0.07000 0.03000 0.03000 0.07616 + 17 0.43000 -0.53000 2.84000 5.93200 124.00000 DVCSAluMinus 0.12000 0.09000 0.09000 0.05000 0.05000 0.10296 + 17 0.42000 -0.57000 2.93000 5.93200 155.00000 DVCSAluMinus -0.08000 0.24000 0.24000 0.08000 0.08000 0.25298 + 17 0.42100 -0.58000 2.94000 5.93200 207.00000 DVCSAluMinus -0.44000 0.23000 0.23000 0.06000 0.06000 0.23770 + 17 0.43500 -0.50000 2.95000 5.93200 238.00000 DVCSAluMinus -0.04000 0.11000 0.11000 0.05000 0.05000 0.12083 + 17 0.44000 -0.48000 3.33000 5.93200 271.00000 DVCSAluMinus -0.08000 0.08000 0.08000 0.02000 0.02000 0.08246 + 17 0.44500 -0.50000 3.46000 5.93200 310.00000 DVCSAluMinus -0.28000 0.05000 0.05000 0.02000 0.02000 0.05385 + 17 0.44300 -0.52000 3.35000 5.93200 342.00000 DVCSAluMinus -0.08000 0.03000 0.03000 0.01000 0.01000 0.03162 + 18 0.46500 -1.12000 3.37000 5.93200 18.00000 DVCSAluMinus 0.06000 0.03000 0.03000 0.01000 0.01000 0.03162 + 18 0.46500 -1.13000 3.46000 5.93200 52.00000 DVCSAluMinus 0.21000 0.05000 0.05000 0.02000 0.02000 0.05385 + 18 0.45900 -1.27000 3.18000 5.93200 89.00000 DVCSAluMinus -0.00000 0.07000 0.07000 0.02000 0.02000 0.07280 + 18 0.45600 -1.15000 3.13000 5.93200 126.00000 DVCSAluMinus 0.11000 0.06000 0.06000 0.01000 0.01000 0.06083 + 18 0.43400 -1.18000 3.30000 5.93200 159.00000 DVCSAluMinus 0.07000 0.11000 0.11000 0.09000 0.09000 0.14213 + 18 0.43000 -1.09000 3.11000 5.93200 203.00000 DVCSAluMinus -0.10000 0.13000 0.13000 0.03000 0.03000 0.13342 + 18 0.45500 -1.25000 3.16000 5.93200 236.00000 DVCSAluMinus -0.06000 0.07000 0.07000 0.01000 0.01000 0.07071 + 18 0.45400 -1.35000 3.12000 5.93200 269.00000 DVCSAluMinus -0.02000 0.06000 0.06000 0.02000 0.02000 0.06325 + 18 0.46700 -1.10000 3.49000 5.93200 310.00000 DVCSAluMinus -0.31000 0.06000 0.06000 0.04000 0.04000 0.07211 + 18 0.46400 -1.15000 3.36000 5.93200 342.00000 DVCSAluMinus -0.07000 0.03000 0.03000 0.01000 0.01000 0.03162 #================================================================================================================================ diff --git a/include/partons/beans/observable/ObservableKinematic.h b/include/partons/beans/observable/ObservableKinematic.h index 4ebf68d8..b63bf2a0 100644 --- a/include/partons/beans/observable/ObservableKinematic.h +++ b/include/partons/beans/observable/ObservableKinematic.h @@ -50,7 +50,7 @@ class Parameters; pDVCSModule->setConvolCoeffFunctionModule(pDVCSCFFModule); //load observable module with BaseModuleFactory - Observable* pObservable = Partons::getInstance()->getModuleObjectFactory()->newObservable(All::classId); + Observable* pObservable = Partons::getInstance()->getModuleObjectFactory()->newObservable(DVCSAllMinus::classId); //configure observable module pObservable->setProcessModule(pDVCSModule); diff --git a/include/partons/modules/observable/Ac.h b/include/partons/modules/observable/Ac.h deleted file mode 100644 index c6dbfd54..00000000 --- a/include/partons/modules/observable/Ac.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef AC_H -#define AC_H - -/** - * @file Ac.h - * @author Bryan BERTHOU (SPhN / CEA Saclay) - * @date November 25, 2014 - * @version 1.0 - */ - -#include - -#include "Observable.h" - -/** - * @class Ac - * @brief Beam charge asymmetry: \f$ A_{C}(\phi)=\frac{1}{4d\sigma_{UU}(\phi)} \left[(d\sigma^{\rightarrow +} + d\sigma^{\leftarrow +} ) - ( d\sigma^{\rightarrow -} + d\sigma^{\leftarrow -} ) \right]\f$ - * - * definition reference: arXiv:1210.6975v4 [hep-ph] eq. 45 - */ -class Ac: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - Ac(const std::string &className); - virtual ~Ac(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual Ac* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - /** - * Copy constructor - */ - Ac(const Ac &other); - -private: -}; - -#endif /* AC_H */ diff --git a/include/partons/modules/observable/AcCos0phi.h b/include/partons/modules/observable/AcCos0phi.h deleted file mode 100644 index 8cc61d20..00000000 --- a/include/partons/modules/observable/AcCos0phi.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef AC_COS_0_PHI_H -#define AC_COS_0_PHI_H - -/** - * @file AcCos0phi.h - * @author Luca COLANERI (IPNO) - * @date April 24, 2017 - * @version 1.0 - * @brief 0th fourier moment of charge asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{C}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{C}(\phi)\cos(n\phi) \f$ - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Ac.h" - -/** - * @class AcCos0phi - * - *@brief 0th fourier moment of charge asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{C}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{C}(\phi)\cos(n\phi) \f$ - * - * described in 1210.6975v3 [hep-ph] eq. (54) - * - * - */ -class AcCos0phi: public Ac, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AcCos0phi(const std::string &className); - virtual ~AcCos0phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AcCos0phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AcCos0phi(const AcCos0phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AC_COS_0_PHI_H */ diff --git a/include/partons/modules/observable/AcCos1phi.h b/include/partons/modules/observable/AcCos1phi.h deleted file mode 100644 index 4b025986..00000000 --- a/include/partons/modules/observable/AcCos1phi.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef AC_COS_1_PHI_H -#define AC_COS_1_PHI_H - -/** - * @class AcCos1phi - * @author Luca COLANERI (IPNO) - * @date July 18, 2016 - * @version 1.0 - * @brief 1st fourier moment of charge asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{C}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{C}(\phi)\cos(n\phi) \f$ - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Ac.h" - -/** - * @class AcCos1phi - * - * - * 1st Fourier cos coefficient of Charge Asymmetry - * - * described in 1210.6975v3 [hep-ph] eq. (54) - */ -class AcCos1phi: public Ac, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AcCos1phi(const std::string &className); - virtual ~AcCos1phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AcCos1phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AcCos1phi(const AcCos1phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AC_COS_1_PHI_H */ diff --git a/include/partons/modules/observable/AcCos2phi.h b/include/partons/modules/observable/AcCos2phi.h deleted file mode 100644 index f489fed3..00000000 --- a/include/partons/modules/observable/AcCos2phi.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef AC_COS_2_PHI_H -#define AC_COS_2_PHI_H - -/** - * @class AcCos2phi - * @author Bryan BERTHOU (SPhN / CEA Saclay) - * @date September 28, 2015 - * @version 1.0 - * @brief 2nd fourier moment of charge asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{C}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{C}(\phi)\cos(n\phi) \f$ - * - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Ac.h" - -namespace NumA { -class FunctionType1D; -} /* namespace NumA */ - -/** - * @class AcCos2phi - * - * - * 2nd Fourier cos coefficient of Charge Asymmetry - * - * described in 1210.6975v3 [hep-ph] eq. (54) - */ -class AcCos2phi: public Ac, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AcCos2phi(const std::string &className); - virtual ~AcCos2phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AcCos2phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AcCos2phi(const AcCos2phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AC_COS_2_PHI_H */ diff --git a/include/partons/modules/observable/AcCos3phi.h b/include/partons/modules/observable/AcCos3phi.h deleted file mode 100644 index 2ee80e52..00000000 --- a/include/partons/modules/observable/AcCos3phi.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef AC_COS_3_PHI_H -#define AC_COS_3_PHI_H - -/** - * @class AcCos3phi - * @author Luca COLANERI (IPNO) - * @date July 18, 2016 - * @version 1.0 - * @brief 3rd fourier moment of charge asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{C}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{C}(\phi)\cos(n\phi) \f$ - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Ac.h" - -/** - * @class AcCos3phi - * - * - * 3rd Fourier cos coefficient of Charge Asymmetry - * - * described in 1210.6975v3 [hep-ph] eq. (54) - */ -class AcCos3phi: public Ac, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AcCos3phi(const std::string &className); - virtual ~AcCos3phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AcCos3phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AcCos3phi(const AcCos3phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AC_COS_3_PHI_H */ diff --git a/include/partons/modules/observable/All.h b/include/partons/modules/observable/All.h deleted file mode 100644 index a3014491..00000000 --- a/include/partons/modules/observable/All.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef ALL_H -#define ALL_H - -/** - * - * @file All.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2016 - * @version 1.0 - * @brief longitudinal target-beam spin asymmetry: \f$ A_{LL}(\phi)= \frac{[d\sigma^{\rightarrow \Rightarrow} + d\sigma^{\leftarrow \leftarrow} ] - [d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \leftarrow} ] }{[d\sigma^{\rightarrow \Rightarrow} + d\sigma^{\leftarrow \leftarrow} ] + [d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \leftarrow} ] }\f$ - */ - -#include - -#include "Observable.h" - -/** - * @class All - * @brief longitudinal target-beam spin asymmetry: \f$ A_{LL}(\phi)= \frac{[d\sigma^{\rightarrow \Rightarrow} + d\sigma^{\leftarrow \leftarrow} ] - [d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \leftarrow} ] }{[d\sigma^{\rightarrow \Rightarrow} + d\sigma^{\leftarrow \leftarrow} ] + [d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \leftarrow} ] }\f$ - * - * double longitudinal target spin asymmetry, implemented only for electron beams - * - * described in 1210.6975v3 [hep-ph] eq. (51) - */ -class All: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - All(const std::string &className); - virtual ~All(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual All* clone() const; - - virtual double computePhiObservable(double phi); ///< calculate cross sections with various helicities and beam charge and combine them to obtain the asymmetry - -protected: - /** - * Copy constructor - */ - All(const All &other); - -private: -}; - -#endif /* ALL_H */ diff --git a/include/partons/modules/observable/AllCos0phi.h b/include/partons/modules/observable/AllCos0phi.h deleted file mode 100644 index 7d6033ae..00000000 --- a/include/partons/modules/observable/AllCos0phi.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef ALL_COS_0_PHI_H -#define ALL_COS_0_PHI_H - -/** - * @file AllCos0phi.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2015 - * @version 1.0 - * @brief 0th fourier moment of target-beam spin asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{LL}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{LL}(\phi)\cos(n\phi) \f$ - * - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "All.h" - -/** - * @class AllCos0phi - * @brief 0th fourier moment of target-beam spin asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{LL}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{LL}(\phi)\cos(n\phi) \f$ - * - * 0th Fourier cos coefficient of double longitudinal target spin asymmetry - * - * described in 1210.6975v3 [hep-ph] eq. (51) + (54) - */ -class AllCos0phi: public All, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AllCos0phi(const std::string &className); - virtual ~AllCos0phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AllCos0phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AllCos0phi(const AllCos0phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* ALL_COS_0_PHI_H */ diff --git a/include/partons/modules/observable/AllCos1phi.h b/include/partons/modules/observable/AllCos1phi.h deleted file mode 100644 index ee0622df..00000000 --- a/include/partons/modules/observable/AllCos1phi.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef ALL_COS_1_PHI_H -#define ALL_COS_1_PHI_H - -/** - * @file AllCos1phi.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2015 - * @version 1.0 - * @brief 1st fourier moment of target-beam spin asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{LL}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{LL}(\phi)\cos(n\phi) \f$ - * - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "All.h" - -/** - * @class AllCos1phi - * @brief 1st fourier moment of target-beam spin asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{LL}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{LL}(\phi)\cos(n\phi) \f$ - * - * 1st Fourier cos coefficient of double longitudinal target spin asymmetry Asymmetry - * - * described in 1210.6975v3 [hep-ph] eq. (51) + (54) - */ -class AllCos1phi: public All, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AllCos1phi(const std::string &className); - virtual ~AllCos1phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AllCos1phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AllCos1phi(const AllCos1phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* ALL_COS_1_PHI_H */ diff --git a/include/partons/modules/observable/AllCos2phi.h b/include/partons/modules/observable/AllCos2phi.h deleted file mode 100644 index bd6b02bd..00000000 --- a/include/partons/modules/observable/AllCos2phi.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef ALL_COS_2_PHI_H -#define ALL_COS_2_PHI_H - -/** - * @file AllCos2phi.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2015 - * @version 1.0 - * @brief 2nd fourier moment of target-beam spin asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{LL}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{LL}(\phi)\cos(n\phi) \f$ - * - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "All.h" - -/** - * @class AllCos2phi - * @brief 2nd fourier moment of target-beam spin asymmetry (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{LL}^{\cos(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{LL}(\phi)\cos(n\phi) \f$ - * - * 2nd Fourier cos coefficient of double longitudinal target spin asymmetry - * - * described in 1210.6975v3 [hep-ph] eq. (51) + (54) - */ -class AllCos2phi: public All, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AllCos2phi(const std::string &className); - virtual ~AllCos2phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AllCos2phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AllCos2phi(const AllCos2phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* ALL_COS_2_PHI_H */ diff --git a/include/partons/modules/observable/Alu.h b/include/partons/modules/observable/Alu.h deleted file mode 100644 index 1e962ffb..00000000 --- a/include/partons/modules/observable/Alu.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef ALU_H -#define ALU_H - -/** - * @file Alu.h - * @author Bryan BERTHOU (SPhN / CEA Saclay) - * @date November 28, 2014 - * @version 1.0 - * @brief \f$ A_{LU}(\phi)= \frac{d\sigma^{\rightarrow}- d\sigma^{\leftarrow}}{d\sigma^{\rightarrow} + d\sigma^{\leftarrow}} \f$ - */ - -#include - -#include "Observable.h" - -/** - * @class Alu - * @brief Beam spin asymmetry: \f$ A_{LU}(\phi)= \frac{d\sigma^{\rightarrow}- d\sigma^{\leftarrow}}{d\sigma^{\rightarrow} + d\sigma^{\leftarrow}} \f$ - * - * described in 1210.6975v3 [hep-ph] eq. (48) - */ -class Alu: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - Alu(const std::string &className); - virtual ~Alu(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual Alu* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - /** - * Copy constructor - */ - Alu(const Alu &other); - -private: -}; - -#endif /* ALU_H */ diff --git a/include/partons/modules/observable/AluDVCS.h b/include/partons/modules/observable/AluDVCS.h deleted file mode 100644 index 8e45d397..00000000 --- a/include/partons/modules/observable/AluDVCS.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef AluDVCS_H -#define AluDVCS_H - -/** - * @file AluDVCS.h - * @author Luca COLANERI (IPNO) - * @date July 19, 2016 - * @version 1.0 - */ - -#include - -#include "Observable.h" - -/** - * @class AluDVCS - * DVCS contribution to beam spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (47) - */ -class AluDVCS: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AluDVCS(const std::string &className); - virtual ~AluDVCS(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AluDVCS* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - /** - * Copy constructor - */ - AluDVCS(const AluDVCS &other); - -private: -}; - -#endif /* AluDVCS_H */ diff --git a/include/partons/modules/observable/AluDVCSSin1phi.h b/include/partons/modules/observable/AluDVCSSin1phi.h deleted file mode 100644 index 7d319c39..00000000 --- a/include/partons/modules/observable/AluDVCSSin1phi.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ALU_DVCS_SIN_1_PHI_H -#define ALU_DVCS_SIN_1_PHI_H - -/** - * @file AluDVCSSin1phi.h - * @author Luca COLANERI (IPNO) - * @date July 19, 2016 - * @version 1.0 - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "AluDVCS.h" - -/** - * @class AluDVCSSin1phi - * 1st Fourier sin coefficient of DVCS contribution of beam spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (47) + (54) - */ -class AluDVCSSin1phi: public AluDVCS, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AluDVCSSin1phi(const std::string &className); - virtual ~AluDVCSSin1phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AluDVCSSin1phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AluDVCSSin1phi(const AluDVCSSin1phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* ALU_DVCS_SIN_1_PHI_H */ diff --git a/include/partons/modules/observable/AluSinPhi.h b/include/partons/modules/observable/AluSinPhi.h deleted file mode 100644 index 42f903b0..00000000 --- a/include/partons/modules/observable/AluSinPhi.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ALU_SIN_PHI_H -#define ALU_SIN_PHI_H - -/** - * @file AluSinPhi.h - * @author Bryan BERTHOU (CEA Saclay) - * @date September 28, 2015 - * @version 1.0 - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Alu.h" - -/** - * @class AluiSin1phi - * 1st Fourier sin coefficient of beam spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (48) + (54) - */ -class AluSinPhi: public Alu, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AluSinPhi(const std::string &className); - virtual ~AluSinPhi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AluSinPhi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AluSinPhi(const AluSinPhi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* ALU_SIN_PHI_H */ diff --git a/include/partons/modules/observable/Alui.h b/include/partons/modules/observable/Alui.h deleted file mode 100644 index 5bec6c3d..00000000 --- a/include/partons/modules/observable/Alui.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef AluI_H -#define AluI_H - -/** - * @file Alui.h - * @author Luca COLANERI (IPNO) - * @date July 19, 2016 - * @version 1.0 - */ - -#include - -#include "Observable.h" - -/** - * @class Alui - * Interference contribution to beam spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (46) - */ -class Alui: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - Alui(const std::string &className); - virtual ~Alui(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual Alui* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - /** - * Copy constructor - */ - Alui(const Alui &other); - -private: -}; - -#endif /* AluI_H */ diff --git a/include/partons/modules/observable/AluiSin1phi.h b/include/partons/modules/observable/AluiSin1phi.h deleted file mode 100644 index 2d5786a4..00000000 --- a/include/partons/modules/observable/AluiSin1phi.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ALU_I_SIN_1_PHI_H -#define ALU_I_SIN_1_PHI_H - -/** - * @file AluiSin1phi.h - * @author Luca COLANERI (IPNO) - * @date July 19, 2016 - * @version 1.0 - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Alui.h" - -/** - * @class AluiSin1phi - * 1st Fourier sin coefficient of Interference contribution of beam spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (46) + (54) - */ -class AluiSin1phi: public Alui, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AluiSin1phi(const std::string &className); - virtual ~AluiSin1phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AluiSin1phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AluiSin1phi(const AluiSin1phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* ALU_I_SIN_1_PHI_H */ diff --git a/include/partons/modules/observable/AluiSin2phi.h b/include/partons/modules/observable/AluiSin2phi.h deleted file mode 100644 index 29e58d65..00000000 --- a/include/partons/modules/observable/AluiSin2phi.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ALU_I_SIN_2_PHI_H -#define ALU_I_SIN_2_PHI_H - -/** - * @file AluiSin2phi.h - * @author Luca COLANERI (IPNO) - * @date July 19, 2016 - * @version 1.0 - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Alui.h" - -/** - * @class AluiSin1phi - * 2nd Fourier sin coefficient of Interference contribution of beam spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (46) + (54) - */ -class AluiSin2phi: public Alui, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AluiSin2phi(const std::string &className); - virtual ~AluiSin2phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AluiSin2phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AluiSin2phi(const AluiSin2phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* ALU_I_SIN_2_PHI_H */ diff --git a/include/partons/modules/observable/Aul.h b/include/partons/modules/observable/Aul.h deleted file mode 100644 index 2f163a7a..00000000 --- a/include/partons/modules/observable/Aul.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef AUL_H -#define AUL_H - -/** - * @file Aul.h - * @author Bryan BERTHOU (SPhN / CEA Saclay) - * @date November 28, 2014 - * @version 1.0 - * @brief target longitudinal spin asymmetry: \f$ A_{UL}(\phi)= \frac{[d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \Rightarrow} ] - [d\sigma^{\leftarrow \Leftarrow} + d\sigma^{\rightarrow \Leftarrow} ] }{[d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \Rightarrow} ] - [d\sigma^{\leftarrow \Leftarrow} + d\sigma^{\rightarrow \Leftarrow} ] }\f$ - */ - -#include - -#include "Observable.h" - -/** - * @class Aul - * @brief target longitudinal spin asymmetry: \f$ A_{UL}(\phi)= \frac{[d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \Rightarrow} ] - [d\sigma^{\leftarrow \Leftarrow} + d\sigma^{\rightarrow \Leftarrow} ] }{[d\sigma^{\leftarrow \Rightarrow} + d\sigma^{\rightarrow \Rightarrow} ] - [d\sigma^{\leftarrow \Leftarrow} + d\sigma^{\rightarrow \Leftarrow} ] }\f$ - * - * described in 1210.6975v3 [hep-ph] eq. (50) - */ -class Aul: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - Aul(const std::string &className); - virtual ~Aul(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual Aul* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - /** - * Copy constructor - */ - Aul(const Aul &other); - -private: -}; - -#endif /* AUL_H */ diff --git a/include/partons/modules/observable/AulSin2phi.h b/include/partons/modules/observable/AulSin2phi.h deleted file mode 100644 index b8afc1cd..00000000 --- a/include/partons/modules/observable/AulSin2phi.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef AUL_SIN_2_PHI_H -#define AUL_SIN_2_PHI_H - -/** - * @file AulSin2phi.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2016 - * @version 1.0 - * @brief 2nd Fourier sin coefficient of target longitudinal spin asymmetry: (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{UL}^{\sin(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{UL}(\phi)\sin(n\phi) \f$ - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Aul.h" - -/** - * @class AulSin2phi - * @brief 2nd Fourier sin coefficient of target longitudinal spin asymmetry: (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{UL}^{\sin(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{UL}(\phi)\sin(n\phi) \f$ - * - * described in 1210.6975v3 [hep-ph] eq. (50) + (54) - */ -class AulSin2phi: public Aul, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AulSin2phi(const std::string &className); - virtual ~AulSin2phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AulSin2phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AulSin2phi(const AulSin2phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AUL_SIN_2_PHI_H */ diff --git a/include/partons/modules/observable/AulSin3phi.h b/include/partons/modules/observable/AulSin3phi.h deleted file mode 100644 index d1a28e38..00000000 --- a/include/partons/modules/observable/AulSin3phi.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef AUL_SIN_3_PHI_H -#define AUL_SIN_3_PHI_H - -/** - * @file AulSin3phi.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2016 - * @version 1.0 - * @brief 3rd Fourier sin coefficient of target longitudinal spin asymmetry: (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{UL}^{\sin(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{UL}(\phi)\sin(n\phi) \f$ - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Aul.h" - -/** - * @class AulSin3phi - * @brief @brief 3rd Fourier sin coefficient of target longitudinal spin asymmetry: (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{UL}^{\sin(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{UL}(\phi)\sin(n\phi) \f$ - * - * described in 1210.6975v3 [hep-ph] eq. (50) + (54) - */ -class AulSin3phi: public Aul, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AulSin3phi(const std::string &className); - virtual ~AulSin3phi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AulSin3phi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AulSin3phi(const AulSin3phi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AUL_SIN_3_PHI_H */ diff --git a/include/partons/modules/observable/AulSinPhi.h b/include/partons/modules/observable/AulSinPhi.h deleted file mode 100644 index 10582d5b..00000000 --- a/include/partons/modules/observable/AulSinPhi.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef AUL_SIN_PHI_H -#define AUL_SIN_PHI_H - -/** - * @file AulSinPhi.h - * @author Bryan BERTHOU (SPhN / CEA Saclay) - * @date September 28, 2015 - * @version 1.0 - * @brief 1st Fourier sin coefficient of target longitudinal spin asymmetry: (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{UL}^{\sin(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{UL}(\phi)\sin(n\phi) \f$ - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "Aul.h" - -/** - * @class AulSinPhi - * @brief 1st Fourier sin coefficient of target longitudinal spin asymmetry: (\f$ N=\frac{1}{2\pi}\f$ in case n=0 ,\f$ N=\frac{1}{\pi}\f$ otherwise ): \f$ A_{UL}^{\sin(n\phi)}=N \int _{0}^{2*\pi} d\phi A_{UL}(\phi)\sin(n\phi) \f$ - * described in 1210.6975v3 [hep-ph] eq. (50) + (54) - */ -class AulSinPhi: public Aul, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AulSinPhi(const std::string &className); - virtual ~AulSinPhi(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AulSinPhi* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AulSinPhi(const AulSinPhi &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AUL_SIN_PHI_H */ diff --git a/include/partons/modules/observable/AutINT.h b/include/partons/modules/observable/AutINT.h deleted file mode 100644 index ddf13350..00000000 --- a/include/partons/modules/observable/AutINT.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef AUT_INT_H -#define AUT_INT_H - -/** - * @file AcCos1phi.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2016 - * @version 1.0 - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "AutSinPhiPhiS.h" - -/** - * @class AutINT - * - * - * 0th fourier cos coefficient of Charge Asymmetry - * - * described in 1210.6975v3 [hep-ph] eq. (54) - */ -class AutINT: public AutSinPhiPhiS, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AutINT(const std::string &className); - virtual ~AutINT(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AutINT* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - AutINT(const AutINT &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - -#endif /* AUT_INT_H */ diff --git a/include/partons/modules/observable/AutSinPhiPhiS.h b/include/partons/modules/observable/AutSinPhiPhiS.h deleted file mode 100644 index 2e695125..00000000 --- a/include/partons/modules/observable/AutSinPhiPhiS.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef AutSinPhiPhiS_H -#define AutSinPhiPhiS_H - -/** - * @file AutSinPhiPhiS.h - * @author Bryan BERTHOU (SPhN / CEA Saclay) - * @date November 28, 2014 - * @version 1.0 - */ - -#include - -#include "Observable.h" - -/** - * @class AutSinPhiPhiS - * target longitudianl spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (50) - */ -class AutSinPhiPhiS: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AutSinPhiPhiS(const std::string &className); - virtual ~AutSinPhiPhiS(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AutSinPhiPhiS* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - /** - * Copy constructor - */ - AutSinPhiPhiS(const AutSinPhiPhiS &other); - -private: -}; - -#endif /* AutSinPhiPhiS_H */ diff --git a/include/partons/modules/observable/AutSinPhiPhiSOld.h b/include/partons/modules/observable/AutSinPhiPhiSOld.h deleted file mode 100644 index 9eed520c..00000000 --- a/include/partons/modules/observable/AutSinPhiPhiSOld.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef AutSinPhiPhiSOld_H -#define AutSinPhiPhiSOld_H - -/** - * @file AutSinPhiPhiSOld.h - * @author Bryan BERTHOU (SPhN / CEA Saclay) - * @date November 28, 2014 - * @version 1.0 - */ - -#include - -#include "Observable.h" - -/** - * @class AutSinPhiPhiSOld - * target longitudianl spin asymmetry - * @brief - * described in 1210.6975v3 [hep-ph] eq. (50) - */ -class AutSinPhiPhiSOld: public Observable { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - AutSinPhiPhiSOld(const std::string &className); - virtual ~AutSinPhiPhiSOld(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual AutSinPhiPhiSOld* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - /** - * Copy constructor - */ - AutSinPhiPhiSOld(const AutSinPhiPhiSOld &other); - -private: -}; - -#endif /* AutSinPhiPhiSOld_H */ diff --git a/include/partons/modules/observable/CrossSectionBeamMinusUU.h b/include/partons/modules/observable/CrossSectionBeamMinusUU.h deleted file mode 100644 index 51a5e091..00000000 --- a/include/partons/modules/observable/CrossSectionBeamMinusUU.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef CROSSSECTIONBEAMMINUSUU_H -#define CROSSSECTIONBEAMMINUSUU_H - -#include - -#include "Observable.h" - -class CrossSectionBeamMinusUU: public Observable { - -public: - - static const unsigned int classId; - - CrossSectionBeamMinusUU(const std::string &className); - virtual ~CrossSectionBeamMinusUU(); - - virtual CrossSectionBeamMinusUU* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - - CrossSectionBeamMinusUU(const CrossSectionBeamMinusUU &other); - -private: -}; - -#endif /* CROSSSECTIONBEAMMINUSUU_H */ diff --git a/include/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.h b/include/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.h deleted file mode 100644 index 01b53801..00000000 --- a/include/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef CROSSSECTIONDIFFERENCEBEAMMINUSLU_H -#define CROSSSECTIONDIFFERENCEBEAMMINUSLU_H - -#include - -#include "Observable.h" - -class CrossSectionDifferenceBeamMinusLU: public Observable { - -public: - - static const unsigned int classId; - - CrossSectionDifferenceBeamMinusLU(const std::string &className); - virtual ~CrossSectionDifferenceBeamMinusLU(); - - virtual CrossSectionDifferenceBeamMinusLU* clone() const; - - virtual double computePhiObservable(double phi); - -protected: - - CrossSectionDifferenceBeamMinusLU(const CrossSectionDifferenceBeamMinusLU &other); - -private: -}; - -#endif /* CROSSSECTIONDIFFERENCEBEAMMINUSLU_H */ diff --git a/include/partons/modules/observable/CrossSectionObservable.h b/include/partons/modules/observable/CrossSectionObservable.h deleted file mode 100644 index a5e54366..00000000 --- a/include/partons/modules/observable/CrossSectionObservable.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef CROSSSECTIONOBSERVABLE_H_ -#define CROSSSECTIONOBSERVABLE_H_ - -/** - * @file CrossSectionObservable.h - * @author Nabil CHOUIKA (SPhN / CEA Saclay) - * @date October 15, 2015 - * @version 1.0 - */ - -#include - -#include "Observable.h" - -/** - * @class CrossSectionObservable - * - * @brief - */ -class CrossSectionObservable: public Observable { -public: - static const std::string PARAMETER_NAME_BEAM_HELICITY; - static const std::string PARAMETER_NAME_BEAM_CHARGE; - static const std::string PARAMETER_NAME_TARGET_POLARIZATION; - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - CrossSectionObservable(const std::string &className); - virtual ~CrossSectionObservable(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual CrossSectionObservable* clone() const; - - virtual double computePhiObservable(double phi); - - /** - * Provides a generic method to configure all types of modules by passing a Parameters object. - * (See ModuleObject class for more info). - * - * @param parameters - */ - virtual void configure(const ElemUtils::Parameters ¶meters); - -protected: - /** - * Copy constructor - */ - CrossSectionObservable(const CrossSectionObservable &other); - -private: -}; - -#endif /* CROSSSECTIONOBSERVABLE_H_ */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAc.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAc.h new file mode 100644 index 00000000..5e064d19 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAc.h @@ -0,0 +1,65 @@ +#ifndef DVCSAC_H +#define DVCSAC_H + +/** + * @file DVCSAc.h + * @author Bryan BERTHOU (SPhN / CEA Saclay) + * @date November 25, 2014 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSAc + * @brief Beam charge asymmetry. + * + * Definition:
+ * + * \f$ + * A_{C}(x_{B}, t, Q^2, \phi) = + * \frac{ + * (d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi)) - (d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * }{ + * (d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi)) + (d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * } + * \f$ + * + * where: + * \f$\sigma^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + */ +class DVCSAc: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAc(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAc(); + + virtual DVCSAc* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAc(const DVCSAc &other); +}; + +#endif /* DVCSAC_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.h new file mode 100644 index 00000000..8059e234 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSACCOS0PHI_H +#define DVCSACCOS0PHI_H + +/** + * @file DVCSAcCos0Phi.h + * @author Luca COLANERI (IPNO) + * @date April 24, 2017 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAc.h" + +/** + * @class DVCSAcCos0Phi + * + * @brief 0th Fourier moment of beam charge asymmetry. + * + * Definition:
+ * + * \f$ + * A_{C}^{\cos(0\phi)}(x_{B}, t, Q^2) = + * \frac{1}{2\pi} + * \int_{0}^{2\pi} d\phi A_{C}(x_{B}, t, Q^2, \phi) \cos(0\phi) + * \f$ + * + * where \f$A_{C}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAc. + */ +class DVCSAcCos0Phi: public DVCSAc, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAcCos0Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAcCos0Phi(); + + virtual DVCSAcCos0Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAcCos0Phi(const DVCSAcCos0Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSACCOS0PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.h new file mode 100644 index 00000000..7a1b5264 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSACCOS1PHI_H +#define DVCSACCOS1PHI_H + +/** + * @file DVCSAcCos1Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAc.h" + +/** + * @class DVCSAcCos1Phi + * + * @brief 1th Fourier moment of beam charge asymmetry. + * + * Definition:
+ * + * \f$ + * A_{C}^{\cos(1\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{C}(x_{B}, t, Q^2, \phi) \cos(1\phi) + * \f$ + * + * where \f$A_{C}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAc. + */ +class DVCSAcCos1Phi: public DVCSAc, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAcCos1Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAcCos1Phi(); + + virtual DVCSAcCos1Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAcCos1Phi(const DVCSAcCos1Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSACCOS1PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.h new file mode 100644 index 00000000..4fa1fe26 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.h @@ -0,0 +1,84 @@ +#ifndef DVCSACCOS2PHI_H +#define DVCSACCOS2PHI_H + +/** + * @file DVCSAcCos2Phi.h + * @author Bryan BERTHOU (SPhN / CEA Saclay) + * @date September 28, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAc.h" + +namespace NumA { +class FunctionType1D; +} /* namespace NumA */ + +/** + * @class DVCSAcCos2Phi + * + * @brief 2th Fourier moment of beam charge asymmetry. + * + * Definition:
+ * + * \f$ + * A_{C}^{\cos(2\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{C}(x_{B}, t, Q^2, \phi) \cos(2\phi) + * \f$ + * + * where \f$A_{C}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAc. + */ +class DVCSAcCos2Phi: public DVCSAc, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAcCos2Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAcCos2Phi(); + + virtual DVCSAcCos2Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAcCos2Phi(const DVCSAcCos2Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSACCOS2PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.h new file mode 100644 index 00000000..a15c4151 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.h @@ -0,0 +1,81 @@ +#ifndef DVCSACCOS3PHI_H +#define DVCSACCOS3PHI_H + +/** + * @file DVCSAcCos3Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAc.h" + +/** + * @class DVCSAcCos3Phi + * + * @brief 3th Fourier moment of beam charge asymmetry. + * + * Definition:
+ * + * \f$ + * A_{C}^{\cos(3\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{C}(x_{B}, t, Q^2, \phi) \cos(3\phi) + * \f$ + * + * where \f$A_{C}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAc. + */ +class DVCSAcCos3Phi: public DVCSAc, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAcCos3Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAcCos3Phi(); + + + virtual DVCSAcCos3Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAcCos3Phi(const DVCSAcCos3Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSACCOS3PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.h new file mode 100644 index 00000000..92470d0f --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.h @@ -0,0 +1,65 @@ +#ifndef DVCSALLMINUS_H +#define DVCSALLMINUS_H + +/** + * @file DVCSAllMinus.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2016 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSAllMinus + * @brief Longitudinally polarized beam and target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{LL}(x_{B}, t, Q^2, \phi) = + * \frac{ + * (d^4\sigma_{\leftarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\rightarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) - (d^4\sigma_{\rightarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\leftarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * }{ + * (d^4\sigma_{\leftarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\rightarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + (d^4\sigma_{\rightarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\leftarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * } + * \f$ + * + * where: + * \f$\sigma_{t_{h}}^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for target helicity denoted by \f$t_{h}\f$, beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + */ +class DVCSAllMinus: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAllMinus(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAllMinus(); + + virtual DVCSAllMinus* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAllMinus(const DVCSAllMinus &other); +}; + +#endif /* DVCSALLMINUS_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.h new file mode 100644 index 00000000..a38e1e07 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSALLMINUSCOS0PHI_H +#define DVCSALLMINUSCOS0PHI_H + +/** + * @file DVCSAllMinusCos0Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAllMinus.h" + +/** + * @class DVCSAllMinusCos0Phi + * + * @brief 0th Fourier moment of longitudinally polarized beam and target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{LL}^{\cos(0\phi)}(x_{B}, t, Q^2) = + * \frac{1}{2\pi} + * \int_{0}^{2\pi} d\phi A_{LL}(x_{B}, t, Q^2, \phi) \cos(0\phi) + * \f$ + * + * where \f$A_{LL}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAllMinus. + */ +class DVCSAllMinusCos0Phi: public DVCSAllMinus, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAllMinusCos0Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAllMinusCos0Phi(); + + virtual DVCSAllMinusCos0Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAllMinusCos0Phi(const DVCSAllMinusCos0Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSALLMINUSCOS0PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.h new file mode 100644 index 00000000..abcd248f --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSALLMINUSCOS1PHI_H +#define DVCSALLMINUSCOS1PHI_H + +/** + * @file DVCSAllMinusCos1Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAllMinus.h" + +/** + * @class DVCSAllMinusCos1Phi + * + * @brief 1th Fourier moment of longitudinally polarized beam and target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{LL}^{\cos(1\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{LL}(x_{B}, t, Q^2, \phi) \cos(1\phi) + * \f$ + * + * where \f$A_{LL}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAllMinus. + */ +class DVCSAllMinusCos1Phi: public DVCSAllMinus, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAllMinusCos1Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAllMinusCos1Phi(); + + virtual DVCSAllMinusCos1Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAllMinusCos1Phi(const DVCSAllMinusCos1Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSALLMINUSCOS1PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.h new file mode 100644 index 00000000..277fc25f --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSALLMINUSCOS2PHI_H +#define DVCSALLMINUSCOS2PHI_H + +/** + * @file DVCSAllMinusCos2Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAllMinus.h" + +/** + * @class DVCSAllMinusCos2Phi + * + * @brief 2th Fourier moment of longitudinally polarized beam and target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{LL}^{\cos(2\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{LL}(x_{B}, t, Q^2, \phi) \cos(2\phi) + * \f$ + * + * where \f$A_{LL}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAllMinus. + */ +class DVCSAllMinusCos2Phi: public DVCSAllMinus, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAllMinusCos2Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAllMinusCos2Phi(); + + virtual DVCSAllMinusCos2Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAllMinusCos2Phi(const DVCSAllMinusCos2Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSALLMINUSCOS2PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.h new file mode 100644 index 00000000..7e6c6ca0 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.h @@ -0,0 +1,65 @@ +#ifndef DVCSALUDVCS_H +#define DVCSALUDVCS_H + +/** + * @file DVCSAluDVCS.h + * @author Luca COLANERI (IPNO) + * @date July 19, 2016 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSAluDVCS + * @brief Longitudinally polarized beam asymmetry for sum over beam charges (DVCS part). + * + * Definition:
+ * + * \f$ + * A_{LU, DVCS}(x_{B}, t, Q^2, \phi) = + * \frac{ + * (d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi)) - (d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * }{ + * (d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi)) + (d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * } + * \f$ + * + * where: + * \f$\sigma^{b_{h} b_{c}}\f$ is single photon production cross-section (BH and Int) for beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + */ +class DVCSAluDVCS: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAluDVCS(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAluDVCS(); + + virtual DVCSAluDVCS* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAluDVCS(const DVCSAluDVCS &other); +}; + +#endif /* DVCSALUDVCS_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.h new file mode 100644 index 00000000..65c97bc8 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSALUDVCSSIN1PHI_H +#define DVCSALUDVCSSIN1PHI_H + +/** + * @file DVCSAluDVCSSin1Phi.h + * @author Luca COLANERI (IPNO) + * @date July 19, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAluDVCS.h" + +/** + * @class DVCSAluDVCSSin1Phi + * + * @brief 1th Fourier moment of longitudinally polarized beam asymmetry for sum over beam charges (DVCS part). + * + * Definition:
+ * + * \f$ + * A_{LU, DVCS}^{\sin(1\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{LU, DVCS}(x_{B}, t, Q^2, \phi) \sin(1\phi) + * \f$ + * + * where \f$A_{LU, DVCS}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAluDVCS. + */ +class DVCSAluDVCSSin1Phi: public DVCSAluDVCS, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAluDVCSSin1Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAluDVCSSin1Phi(); + + virtual DVCSAluDVCSSin1Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAluDVCSSin1Phi(const DVCSAluDVCSSin1Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSALUDVCSSIN1PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.h new file mode 100644 index 00000000..b65d7496 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.h @@ -0,0 +1,65 @@ +#ifndef DVCSALUINT_H +#define DVCSALUINT_H + +/** + * @file DVCSAluInt.h + * @author Luca COLANERI (IPNO) + * @date July 19, 2016 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSAluInt + * @brief Longitudinally polarized beam asymmetry for difference over beam charges (interference part). + * + * Definition:
+ * + * \f$ + * A_{LU, Int}(x_{B}, t, Q^2, \phi) = + * \frac{ + * (d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) - d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi)) - (d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi) - d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * }{ + * (d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) - d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi)) + (d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi) - d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * } + * \f$ + * + * where: + * \f$\sigma^{b_{h} b_{c}}\f$ is single photon production cross-section (BH and Int) for beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + */ +class DVCSAluInt: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAluInt(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAluInt(); + + virtual DVCSAluInt* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAluInt(const DVCSAluInt &other); +}; + +#endif /* DVCSALUINT_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.h new file mode 100644 index 00000000..f6855f71 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSALUINTSIN1Phi_H +#define DVCSALUINTSIN1Phi_H + +/** + * @file DVCSAluIntSin1Phi.h + * @author Luca COLANERI (IPNO) + * @date July 19, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAluInt.h" + +/** + * @class DVCSAluIntSin1Phi + * + * @brief 1th Fourier moment of longitudinally polarized beam asymmetry for difference over beam charges (interference part). + * + * Definition:
+ * + * \f$ + * A_{LU, Int}^{\sin(1\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{LU, Int}(x_{B}, t, Q^2, \phi) \sin(1\phi) + * \f$ + * + * where \f$A_{LU, Int}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAluInt. + */ +class DVCSAluIntSin1Phi: public DVCSAluInt, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAluIntSin1Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAluIntSin1Phi(); + + virtual DVCSAluIntSin1Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAluIntSin1Phi(const DVCSAluIntSin1Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSALUINTSIN1Phi_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.h new file mode 100644 index 00000000..6cde2747 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSALUINTSIN2Phi_H +#define DVCSALUINTSIN2Phi_H + +/** + * @file DVCSAluIntSin2Phi.h + * @author Luca COLANERI (IPNO) + * @date July 19, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAluInt.h" + +/** + * @class DVCSAluIntSin2Phi + * + * @brief 2th Fourier moment of longitudinally polarized beam asymmetry for difference over beam charges (interference part). + * + * Definition:
+ * + * \f$ + * A_{LU, Int}^{\sin(2\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{LU, Int}(x_{B}, t, Q^2, \phi) \sin(2\phi) + * \f$ + * + * where \f$A_{LU, Int}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAluInt. + */ +class DVCSAluIntSin2Phi: public DVCSAluInt, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAluIntSin2Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAluIntSin2Phi(); + + virtual DVCSAluIntSin2Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAluIntSin2Phi(const DVCSAluIntSin2Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSALUINTSIN2Phi_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.h new file mode 100644 index 00000000..860b7c91 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.h @@ -0,0 +1,65 @@ +#ifndef DVCSALUMINUS_H +#define DVCSALUMINUS_H + +/** + * @file DVCSAluMinus.h + * @author Bryan BERTHOU (SPhN / CEA Saclay) + * @date November 28, 2014 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSAluMinus + * @brief Longitudinally polarized beam asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{LU}(x_{B}, t, Q^2, \phi) = + * \frac{ + * d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi) - d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi) + * }{ + * d^4\sigma^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow -}(x_{B}, t, Q^2, \phi) + * } + * \f$ + * + * where: + * \f$\sigma^{b_{h} b_{c}}\f$ is single photon production cross-section (BH and Int) for beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + */ +class DVCSAluMinus: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAluMinus(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAluMinus(); + + virtual DVCSAluMinus* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAluMinus(const DVCSAluMinus &other); +}; + +#endif /* DVCSALUMINUS_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.h new file mode 100644 index 00000000..fea8b2a0 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSALUMINUSSIN1PHI_H +#define DVCSALUMINUSSIN1PHI_H + +/** + * @file DVCSAluMinusSin1Phi.h + * @author Bryan BERTHOU (CEA Saclay) + * @date September 28, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAluMinus.h" + +/** + * @class DVCSAluMinusSin1Phi + * + * @brief 1th Fourier moment of longitudinally polarized beam asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{LU}^{\sin(1\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{LU}(x_{B}, t, Q^2, \phi) \sin(1\phi) + * \f$ + * + * where \f$A_{LU}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAluMinus. + */ +class DVCSAluMinusSin1Phi: public DVCSAluMinus, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAluMinusSin1Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAluMinusSin1Phi(); + + virtual DVCSAluMinusSin1Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAluMinusSin1Phi(const DVCSAluMinusSin1Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSALUMINUSSIN1PHI_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.h new file mode 100644 index 00000000..564290e1 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.h @@ -0,0 +1,65 @@ +#ifndef DVCSAULMINUS +#define DVCSAULMINUS + +/** + * @file DVCSAulMinus.h + * @author Bryan BERTHOU (SPhN / CEA Saclay) + * @date November 28, 2014 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSAulMinus + * @brief Longitudinally polarized target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{UL}(x_{B}, t, Q^2, \phi) = + * \frac{ + * (d^4\sigma_{\leftarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\leftarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) - (d^4\sigma_{\rightarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\rightarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * }{ + * (d^4\sigma_{\leftarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\leftarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + (d^4\sigma_{\rightarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\rightarrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * } + * \f$ + * + * where: + * \f$\sigma_{t_{h}}^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for target helicity denoted by \f$t_{h}\f$, beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + */ +class DVCSAulMinus: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAulMinus(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAulMinus(); + + virtual DVCSAulMinus* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAulMinus(const DVCSAulMinus &other); +}; + +#endif /* DVCSAULMINUS */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.h new file mode 100644 index 00000000..8fff6f4e --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSAULMINUSSIN1PHI +#define DVCSAULMINUSSIN1PHI + +/** + * @file DVCSAulMinusSin1Phi.h + * @author Bryan BERTHOU (SPhN / CEA Saclay) + * @date September 28, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAulMinus.h" + +/** + * @class DVCSAulMinusSin1Phi + * + * @brief 1th Fourier moment of longitudinally polarized target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{UL}^{\sin(1\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{UL}(x_{B}, t, Q^2, \phi) \sin(1\phi) + * \f$ + * + * where \f$A_{UL}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAulMinus. + */ +class DVCSAulMinusSin1Phi: public DVCSAulMinus, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAulMinusSin1Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAulMinusSin1Phi(); + + virtual DVCSAulMinusSin1Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAulMinusSin1Phi(const DVCSAulMinusSin1Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSAULMINUSSIN1PHI */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.h new file mode 100644 index 00000000..d6a6dcfe --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSAULMINUSSIN2PHI +#define DVCSAULMINUSSIN2PHI + +/** + * @file DVCSAulMinusSin2Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAulMinus.h" + +/** + * @class DVCSAulMinusSin2Phi + * + * @brief 2th Fourier moment of longitudinally polarized target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{UL}^{\sin(2\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{UL}(x_{B}, t, Q^2, \phi) \sin(2\phi) + * \f$ + * + * where \f$A_{UL}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAulMinus. + */ +class DVCSAulMinusSin2Phi: public DVCSAulMinus, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAulMinusSin2Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAulMinusSin2Phi(); + + virtual DVCSAulMinusSin2Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAulMinusSin2Phi(const DVCSAulMinusSin2Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSAULMINUSSIN2PHI */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.h new file mode 100644 index 00000000..5f5de721 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.h @@ -0,0 +1,80 @@ +#ifndef DVCSAULMINUSSIN3PHI +#define DVCSAULMINUSSIN3PHI + +/** + * @file DVCSAulMinusSin3Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAulMinus.h" + +/** + * @class DVCSAulMinusSin3Phi + * + * @brief 3th Fourier moment of longitudinally polarized target asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{UL}^{\sin(3\phi)}(x_{B}, t, Q^2) = + * \frac{1}{\pi} + * \int_{0}^{2\pi} d\phi A_{UL}(x_{B}, t, Q^2, \phi) \sin(3\phi) + * \f$ + * + * where \f$A_{UL}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAulMinus. + */ +class DVCSAulMinusSin3Phi: public DVCSAulMinus, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAulMinusSin3Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAulMinusSin3Phi(); + + virtual DVCSAulMinusSin3Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAulMinusSin3Phi(const DVCSAulMinusSin3Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSAULMINUSSIN3PHI */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h new file mode 100644 index 00000000..c1781816 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h @@ -0,0 +1,65 @@ +#ifndef DVCSAUTSINPHIMPHIS_H +#define DVCSAUTSINPHIMPHIS_H + +/** + * @file DVCSAutSinPhiMPhiS.h + * @author Bryan BERTHOU (SPhN / CEA Saclay) + * @date November 28, 2014 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSAutSinPhiMPhiS + * @brief Transverse target beam asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{UT}^{\sin(\phi-\phi_{S})}(x_{B}, t, Q^2, \phi) = + * \frac{ + * (d^4\sigma_{\downarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\downarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi)) - (d^4\sigma_{\uparrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\uparrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * }{ + * (d^4\sigma_{\downarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\downarrow}^{\rightarrow -}(x_{B}, t, Q^2, \phi)) + (d^4\sigma_{\uparrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi) + d^4\sigma_{\uparrow}^{\leftarrow -}(x_{B}, t, Q^2, \phi)) + * } + * \f$ + * + * where: + * \f$\sigma_{t_{h}}^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for target helicity denoted by \f$t_{h}\f$, beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + */ +class DVCSAutSinPhiMPhiS: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAutSinPhiMPhiS(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAutSinPhiMPhiS(); + + virtual DVCSAutSinPhiMPhiS* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAutSinPhiMPhiS(const DVCSAutSinPhiMPhiS &other); +}; + +#endif /* DVCSAUTSINPHIMPHIS_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h new file mode 100644 index 00000000..e0667808 --- /dev/null +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h @@ -0,0 +1,81 @@ +#ifndef DVCSAUTSINPHIMPHISCOS0PHI_H +#define DVCSAUTSINPHIMPHISCOS0PHI_H + +/** + * @file DVCSAutSinPhiMPhiSCos0Phi.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2016 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSAutSinPhiMPhiS.h" + +/** + * @class DVCSAutSinPhiMPhiSCos0Phi + * + * @brief 0th Fourier moment of transverse target beam asymmetry for negative beam charge. + * + * Definition:
+ * + * \f$ + * A_{UT}^{\sin(\phi-\phi_{S})\cos(0\phi)}(x_{B}, t, Q^2) = + * \frac{1}{2\pi} + * \int_{0}^{2\pi} d\phi A_{UT}^{\sin(\phi-\phi_{S})}(x_{B}, t, Q^2, \phi) \cos(0\phi) + * \f$ + * + * where \f$A_{UT}^{\sin(\phi-\phi_{S})}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAutSinPhiMPhiS. + */ +class DVCSAutSinPhiMPhiSCos0Phi: public DVCSAutSinPhiMPhiS, + public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSAutSinPhiMPhiSCos0Phi(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSAutSinPhiMPhiSCos0Phi(); + + virtual DVCSAutSinPhiMPhiSCos0Phi* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSAutSinPhiMPhiSCos0Phi(const DVCSAutSinPhiMPhiSCos0Phi &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + +#endif /* DVCSAUTSINPHIMPHISCOS0PHI_H */ diff --git a/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.h b/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.h new file mode 100644 index 00000000..e9b80cee --- /dev/null +++ b/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.h @@ -0,0 +1,73 @@ +#ifndef DVCSCROSSSECTION_H_ +#define DVCSCROSSSECTION_H_ + +/** + * @file DVCSCrossSection.h + * @author Nabil CHOUIKA (SPhN / CEA Saclay) + * @date October 15, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../Observable.h" + +/** + * @class DVCSCrossSection + * + * @brief Evaluate cross-section with parameters set via automatization mechanism. + * + * This module can be used to evaluate a given cross-section with beam charge, beam helicity and target polarization set via the automatization mechanism. + * + * Definition:
+ * + * \f$ + * d^5\sigma_{t_{h}}^{b_{h} b_{c}}(x_{B}, t, Q^2, \phi, \phi_{S}) + * \f$ + * + * where: + * \f$\sigma_{t_{h}}^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for target helicity denoted by \f$t_{h}\f$, beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + * + * Units:
+ * + *\f$1/\mathrm{GeV}^6\f$ + */ +class DVCSCrossSection: public Observable { + +public: + + static const std::string PARAMETER_NAME_BEAM_HELICITY; ///< Name of parameter to set beam helicity via the automatization mechanism. + static const std::string PARAMETER_NAME_BEAM_CHARGE; ///< Name of parameter to set beam charge via the automatization mechanism. + static const std::string PARAMETER_NAME_TARGET_POLARIZATION; ///< Name of parameter to set target polarization via the automatization mechanism. + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSCrossSection(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSCrossSection(); + + virtual DVCSCrossSection* clone() const; + virtual double computePhiObservable(double phi); + virtual void configure(const ElemUtils::Parameters ¶meters); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSCrossSection(const DVCSCrossSection &other); +}; + +#endif /* DVCSCROSSSECTION_H_ */ diff --git a/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.h b/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.h new file mode 100644 index 00000000..610fea34 --- /dev/null +++ b/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.h @@ -0,0 +1,87 @@ +#ifndef DVCSCROSSSECTIONPHIINTEGRATED_H +#define DVCSCROSSSECTIONPHIINTEGRATED_H + +/** + * @file DVCSCrossSectionPhiIntegrated.h + * @author Luca COLANERI (IPNO) + * @date July 18, 2015 + * @version 1.0 + */ + +#include +#include + +#include "../../../MathIntegratorModule.h" +#include "DVCSCrossSection.h" + +/** + * @class DVCSCrossSectionPhiIntegrated + * + * @brief Evaluate cross-section integrated over \f$\phi\f$ with parameters set via automatization mechanism. + * + * This module can be used to evaluate a given cross-section integrated over \f$/phi\f$ with beam charge, beam helicity and target polarization set via the automatization mechanism. + * + * Definition:
+ * + * \f$ + * d^4\sigma_{t_{h}}^{b_{h} b_{c}}(x_{B}, t, Q^2, \phi_{S}) = + * \int_{0}^{2\pi} d\phi d^5\sigma_{t_{h}}^{b_{h} b_{c}}(x_{B}, t, Q^2, \phi, \phi_{S}) + * \f$ + * + * where: + * \f$\sigma_{t_{h}}^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for target helicity denoted by \f$t_{h}\f$, beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + * + * Units:
+ * + *\f$1/\mathrm{GeV}^6\f$ + */ +class DVCSCrossSectionPhiIntegrated: public DVCSCrossSection, public MathIntegratorModule { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSCrossSectionPhiIntegrated(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSCrossSectionPhiIntegrated(); + + virtual DVCSCrossSectionPhiIntegrated* clone() const; + virtual double computeFourierObservable(); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSCrossSectionPhiIntegrated(const DVCSCrossSectionPhiIntegrated &other); + + /** + * Functor to perform the integration. + */ + NumA::FunctionType1D* m_pFunctionToIntegrateObservable; + + /** + * Function to be integrated. + */ + virtual double functionToIntegrateObservable(double x, + std::vector params); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); +}; + + +#endif /* DVCSCROSSSECTIONPHIINTEGRATED_H */ diff --git a/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.h b/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.h new file mode 100644 index 00000000..60ac991b --- /dev/null +++ b/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.h @@ -0,0 +1,69 @@ +#ifndef DVCSCROSSSECTIONUUMINUS_H +#define DVCSCROSSSECTIONUUMINUS_H + +/** + * @file DVCSCrossSectionUUMinus.h + * @author Pawel Sznajder (IPNO) + * @date November 25, 2016 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSCrossSectionUUMinus + * @brief Unpolarized cross-section for negative beam charge. + * + * Definition:
+ * + * \f$ + * d^4\sigma_{UU}(x_{B}, t, Q^2, \phi) = + * \frac{ + * d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) + d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi) + * }{ + * 2 + * } + * \f$ + * + * where: + * \f$\sigma^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + * + * Units:
+ * + *\f$\mathrm{nbarn}/\mathrm{GeV}^4\f$ + */ +class DVCSCrossSectionUUMinus: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSCrossSectionUUMinus(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSCrossSectionUUMinus(); + + virtual DVCSCrossSectionUUMinus* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSCrossSectionUUMinus(const DVCSCrossSectionUUMinus &other); +}; + +#endif /* DVCSCROSSSECTIONUUMINUS_H */ diff --git a/include/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.h b/include/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.h new file mode 100644 index 00000000..71477140 --- /dev/null +++ b/include/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.h @@ -0,0 +1,70 @@ +#ifndef DVCSCROSSSECTIONDIFFERENCELUMINUS_H +#define DVCSCROSSSECTIONDIFFERENCELUMINUS_H + +/** + * @file DVCSCrossSectionDifferenceLUMinus.h + * @author Pawel Sznajder (IPNO) + * @date November 25, 2016 + * @version 1.0 + */ + +#include + +#include "../../Observable.h" + +/** + * @class DVCSCrossSectionDifferenceLUMinus + * @brief Unpolarized cross-section difference for longitudinally polarized beam and negative beam charge. + * + * Definition:
+ * + * \f$ + * \Delta d^4\sigma_{LU}(x_{B}, t, Q^2, \phi) = + * \frac{ + * d^4\sigma^{\rightarrow +}(x_{B}, t, Q^2, \phi) - d^4\sigma^{\leftarrow +}(x_{B}, t, Q^2, \phi) + * }{ + * 2 + * } + * \f$ + * + * where: + * \f$\sigma^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. + * + * Units:
+ * + *\f$\mathrm{nbarn}/\mathrm{GeV}^4\f$ + */ +class DVCSCrossSectionDifferenceLUMinus: public Observable { + +public: + + /** + * Unique ID to automatically register the class in the registry. + */ + static const unsigned int classId; + + /** + * Constructor. + * @param className Name of class. + */ + DVCSCrossSectionDifferenceLUMinus(const std::string &className); + + /** + * Destructor. + */ + virtual ~DVCSCrossSectionDifferenceLUMinus(); + + virtual DVCSCrossSectionDifferenceLUMinus* clone() const; + virtual double computePhiObservable(double phi); + +protected: + + /** + * Copy constructor. + * @param other Object to be copied. + */ + DVCSCrossSectionDifferenceLUMinus( + const DVCSCrossSectionDifferenceLUMinus &other); +}; + +#endif /* DVCSCROSSSECTIONDIFFERENCELUMINUS_H */ diff --git a/include/partons/modules/observable/PhiIntegratedCrossSection.h b/include/partons/modules/observable/PhiIntegratedCrossSection.h deleted file mode 100644 index b40410eb..00000000 --- a/include/partons/modules/observable/PhiIntegratedCrossSection.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef PHI_INTEGRATED_CROSS_SECTION_H -#define PHI_INTEGRATED_CROSS_SECTION_H - -/** - * @file PhiIntegratedCrossSection.h - * @author Luca COLANERI (IPNO) - * @date July 18, 2015 - * @version 1.0 - * @brief integrates differential cross section over \f$ \phi \f$ at given kinematic: \f$ d\sigma(x_{B},t,Q^2) = \int_{0}^{2\pi}d\sigma(x_{B},t,Q^2,\phi) \f$ - */ - -#include -#include - -#include "../MathIntegratorModule.h" -#include "CrossSectionObservable.h" - -/** - * @class PhiIntegratedCrossSection - * @brief integrates differential cross section over \f$ \phi \f$ at given kinematic: \f$ d\sigma(x_{B},t,Q^2) = \int_{0}^{2\pi}d\sigma(x_{B},t,Q^2,\phi) \f$ - */ -class PhiIntegratedCrossSection: public CrossSectionObservable, public MathIntegratorModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - PhiIntegratedCrossSection(const std::string &className); - virtual ~PhiIntegratedCrossSection(); - - /** - * Virtual clone function to allow factory to copy all derived members - * @return - */ - virtual PhiIntegratedCrossSection* clone() const; - - virtual double computeFourierObservable(); - -protected: - /** - * Copy constructor - */ - PhiIntegratedCrossSection(const PhiIntegratedCrossSection &other); - - NumA::FunctionType1D* m_pFunctionToIntegrateObservable; - - virtual double functionToIntegrateObservable(double x, - std::vector params); - - void initFunctorsForIntegrations(); -}; - - -#endif /* PHI_INTEGRATED_CROSS_SECTION_H */ diff --git a/src/partons/modules/observable/Ac.cpp b/src/partons/modules/observable/Ac.cpp deleted file mode 100644 index c6a07477..00000000 --- a/src/partons/modules/observable/Ac.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include "../../../../include/partons/modules/observable/Ac.h" - -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int Ac::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new Ac("Ac")); - -Ac::Ac(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -Ac::Ac(const Ac& other) : - Observable(other) { -} - -Ac::~Ac() { -} - -Ac* Ac::clone() const { - return new Ac(*this); -} - -//TODO vérifier -//TODO !!! division par zero !!! -double Ac::computePhiObservable(double phi) { - - debug(__func__, ElemUtils::Formatter() << "phi = " << phi); - - double result = 0.; - - result = ((m_pProcessModule->computeCrossSection(+1, +1, - NumA::Vector3D(0., 0., 0.), phi) - + m_pProcessModule->computeCrossSection(-1, +1, - NumA::Vector3D(0., 0., 0.), phi)) - - ((m_pProcessModule->computeCrossSection(+1, -1, - NumA::Vector3D(0., 0., 0.), phi) - + m_pProcessModule->computeCrossSection(-1, -1, - NumA::Vector3D(0., 0., 0.), phi)))) - / (4. - * (m_pProcessModule->computeCrossSection(0., 0., - NumA::Vector3D(0., 0., 0.), phi))); - return result; -} diff --git a/src/partons/modules/observable/AcCos0phi.cpp b/src/partons/modules/observable/AcCos0phi.cpp deleted file mode 100644 index 528298b4..00000000 --- a/src/partons/modules/observable/AcCos0phi.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/AcCos0phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AcCos0phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AcCos0phi("AcCos0phi")); - -AcCos0phi::AcCos0phi(const std::string &className) : - Ac(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AcCos0phi::AcCos0phi(const AcCos0phi& other) : - Ac(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AcCos0phi::~AcCos0phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AcCos0phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AcCos0phi::functionToIntegrateObservable); -} - -AcCos0phi* AcCos0phi::clone() const { - return new AcCos0phi(*this); -} - -double AcCos0phi::functionToIntegrateObservable(double x, - std::vector params) { - return Ac::computePhiObservable(x) * cos(0 * x); -} - -double AcCos0phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / (2 * Constant::PI); -} diff --git a/src/partons/modules/observable/AcCos1phi.cpp b/src/partons/modules/observable/AcCos1phi.cpp deleted file mode 100644 index 194fd685..00000000 --- a/src/partons/modules/observable/AcCos1phi.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/AcCos1phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AcCos1phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AcCos1phi("AcCos1phi")); - -AcCos1phi::AcCos1phi(const std::string &className) : - Ac(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AcCos1phi::AcCos1phi(const AcCos1phi& other) : - Ac(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AcCos1phi::~AcCos1phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AcCos1phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AcCos1phi::functionToIntegrateObservable); -} - -AcCos1phi* AcCos1phi::clone() const { - return new AcCos1phi(*this); -} - -double AcCos1phi::functionToIntegrateObservable(double x, - std::vector params) { - return Ac::computePhiObservable(x) * cos(x); -} - -double AcCos1phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/AcCos2phi.cpp b/src/partons/modules/observable/AcCos2phi.cpp deleted file mode 100644 index b8829e71..00000000 --- a/src/partons/modules/observable/AcCos2phi.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/AcCos2phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AcCos2phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AcCos2phi("AcCos2phi")); - -AcCos2phi::AcCos2phi(const std::string &className) : - Ac(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AcCos2phi::AcCos2phi(const AcCos2phi& other) : - Ac(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AcCos2phi::~AcCos2phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AcCos2phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AcCos2phi::functionToIntegrateObservable); -} - -AcCos2phi* AcCos2phi::clone() const { - return new AcCos2phi(*this); -} - -double AcCos2phi::functionToIntegrateObservable(double x, - std::vector params) { - return Ac::computePhiObservable(x) * cos(2 * x); -} - -double AcCos2phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/AcCos3phi.cpp b/src/partons/modules/observable/AcCos3phi.cpp deleted file mode 100644 index 5adb952f..00000000 --- a/src/partons/modules/observable/AcCos3phi.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/AcCos3phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AcCos3phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AcCos3phi("AcCos3phi")); - -AcCos3phi::AcCos3phi(const std::string &className) : - Ac(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AcCos3phi::AcCos3phi(const AcCos3phi& other) : - Ac(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AcCos3phi::~AcCos3phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AcCos3phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AcCos3phi::functionToIntegrateObservable); -} - -AcCos3phi* AcCos3phi::clone() const { - return new AcCos3phi(*this); -} - -double AcCos3phi::functionToIntegrateObservable(double x, - std::vector params) { - return Ac::computePhiObservable(x) * cos(3 * x); -} - -double AcCos3phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/All.cpp b/src/partons/modules/observable/All.cpp deleted file mode 100644 index aa90fbd5..00000000 --- a/src/partons/modules/observable/All.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "../../../../include/partons/modules/observable/All.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int All::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new All("All")); - -All::All(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -All::All(const All& other) : - Observable(other) { -} - -All::~All() { -} - -All* All::clone() const { - return new All(*this); -} - - -double All::computePhiObservable(double phi) { - - double result = 0.; - - - - - double SigmaPP = m_pProcessModule->computeCrossSection(+1, -1, - NumA::Vector3D(0., 0., +1.0), phi); - - double SigmaMM = m_pProcessModule->computeCrossSection(-1, -1, - NumA::Vector3D(0., 0., -1.0), phi); - - double SigmaMP = m_pProcessModule->computeCrossSection(-1, -1, - NumA::Vector3D(0., 0., +1.0), phi); - - double SigmaPM = m_pProcessModule->computeCrossSection(+1, -1, - NumA::Vector3D(0., 0., -1.0), phi); - - //TODO !!! division par zero !!! - result = (SigmaPP + SigmaMM - SigmaMP - SigmaPM) / (SigmaPP + SigmaMM + SigmaMP + SigmaPM); - - - return result; -} - - - - - diff --git a/src/partons/modules/observable/AllCos0phi.cpp b/src/partons/modules/observable/AllCos0phi.cpp deleted file mode 100644 index bb1c5c61..00000000 --- a/src/partons/modules/observable/AllCos0phi.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/AllCos0phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AllCos0phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AllCos0phi("AllCos0phi")); - -AllCos0phi::AllCos0phi(const std::string &className) : - All(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AllCos0phi::AllCos0phi(const AllCos0phi& other) : - All(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AllCos0phi::~AllCos0phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AllCos0phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AllCos0phi::functionToIntegrateObservable); -} - -AllCos0phi* AllCos0phi::clone() const { - return new AllCos0phi(*this); -} - -double AllCos0phi::functionToIntegrateObservable(double x, - std::vector params) { - return All::computePhiObservable(x) * cos(0 * x); -} - -double AllCos0phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / (2 * Constant::PI); -} diff --git a/src/partons/modules/observable/AllCos1phi.cpp b/src/partons/modules/observable/AllCos1phi.cpp deleted file mode 100644 index ff6ca953..00000000 --- a/src/partons/modules/observable/AllCos1phi.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "../../../../include/partons/modules/observable/AllCos1phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AllCos1phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AllCos1phi("AllCos1phi")); - -AllCos1phi::AllCos1phi(const std::string &className) : - All(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AllCos1phi::AllCos1phi(const AllCos1phi& other) : - All(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AllCos1phi::~AllCos1phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AllCos1phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AllCos1phi::functionToIntegrateObservable); -} - -AllCos1phi* AllCos1phi::clone() const { - return new AllCos1phi(*this); -} - -double AllCos1phi::functionToIntegrateObservable(double x, - std::vector params) { - // x[0] = phi - return All::computePhiObservable(x) * cos(1 * x); -} - -double AllCos1phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / (Constant::PI); -} diff --git a/src/partons/modules/observable/AllCos2phi.cpp b/src/partons/modules/observable/AllCos2phi.cpp deleted file mode 100644 index ff6ec518..00000000 --- a/src/partons/modules/observable/AllCos2phi.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/AllCos2phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AllCos2phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AllCos2phi("AllCos2phi")); - -AllCos2phi::AllCos2phi(const std::string &className) : - All(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AllCos2phi::AllCos2phi(const AllCos2phi& other) : - All(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AllCos2phi::~AllCos2phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AllCos2phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AllCos2phi::functionToIntegrateObservable); -} - -AllCos2phi* AllCos2phi::clone() const { - return new AllCos2phi(*this); -} - -double AllCos2phi::functionToIntegrateObservable(double x, - std::vector params) { - return All::computePhiObservable(x) * cos(2 * x); -} - -double AllCos2phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / (Constant::PI); -} diff --git a/src/partons/modules/observable/Alu.cpp b/src/partons/modules/observable/Alu.cpp deleted file mode 100644 index ced69e17..00000000 --- a/src/partons/modules/observable/Alu.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "../../../../include/partons/modules/observable/Alu.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int Alu::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new Alu("Alu")); - -Alu::Alu(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -Alu::Alu(const Alu& other) : - Observable(other) { -} - -Alu::~Alu() { -} - -Alu* Alu::clone() const { - return new Alu(*this); -} - -// optimisation remplacement des multiples appels similaires par A - B / A + B -double Alu::computePhiObservable(double phi) { - double result = 0.; - - double A = m_pProcessModule->computeCrossSection(+1, -1, - NumA::Vector3D(0., 0., 0.), phi); - - double B = m_pProcessModule->computeCrossSection(-1, -1, - NumA::Vector3D(0., 0., 0.), phi); - - //TODO !!! division par zero !!! - result = (A - B) / (A + B); - - return result; -} diff --git a/src/partons/modules/observable/AluDVCS.cpp b/src/partons/modules/observable/AluDVCS.cpp deleted file mode 100644 index 36c92a2d..00000000 --- a/src/partons/modules/observable/AluDVCS.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include "../../../../include/partons/modules/observable/AluDVCS.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AluDVCS::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new AluDVCS("AluDVCS")); - -AluDVCS::AluDVCS(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -AluDVCS::AluDVCS(const AluDVCS& other) : - Observable(other) { -} - -AluDVCS::~AluDVCS() { -} - -AluDVCS* AluDVCS::clone() const { - return new AluDVCS(*this); -} - -// optimisation remplacement des multiples appels similaires par A - B / A + B -double AluDVCS::computePhiObservable(double phi) { - - double result = 0.; - - double SigmaPP = m_pProcessModule->computeCrossSection(+1, +1, - NumA::Vector3D(0., 0., 0.), phi); - - double SigmaPM = m_pProcessModule->computeCrossSection(-1, +1, - NumA::Vector3D(0., 0., 0.), phi); - - double SigmaMP = m_pProcessModule->computeCrossSection(+1, -1, - NumA::Vector3D(0., 0., 0.), phi); - - double SigmaMM = m_pProcessModule->computeCrossSection(-1, -1, - NumA::Vector3D(0., 0., 0.), phi); - - double SigmaUU = m_pProcessModule->computeCrossSection(0., 0, - NumA::Vector3D(0., 0., 0.), phi); - - //TODO !!! division par zero !!! - result = ((SigmaPP + SigmaPM) - (SigmaMP + SigmaMM)) / (4 * SigmaUU); - - return result; -} diff --git a/src/partons/modules/observable/AluDVCSSin1phi.cpp b/src/partons/modules/observable/AluDVCSSin1phi.cpp deleted file mode 100644 index 814f427b..00000000 --- a/src/partons/modules/observable/AluDVCSSin1phi.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../../../../include/partons/modules/observable/AluDVCSSin1phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AluDVCSSin1phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AluDVCSSin1phi("AluDVCSSin1phi")); - -AluDVCSSin1phi::AluDVCSSin1phi(const std::string &className) : - AluDVCS(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AluDVCSSin1phi::AluDVCSSin1phi(const AluDVCSSin1phi& other) : - AluDVCS(other), MathIntegratorModule(other) { - initFunctorsForIntegrations(); -} - -AluDVCSSin1phi::~AluDVCSSin1phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AluDVCSSin1phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AluDVCSSin1phi::functionToIntegrateObservable); -} - -AluDVCSSin1phi* AluDVCSSin1phi::clone() const { - return new AluDVCSSin1phi(*this); -} - -double AluDVCSSin1phi::functionToIntegrateObservable(double x, - std::vector params) { - return AluDVCS::computePhiObservable(x) * sin(x); -} - -double AluDVCSSin1phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; - -} diff --git a/src/partons/modules/observable/AluSinPhi.cpp b/src/partons/modules/observable/AluSinPhi.cpp deleted file mode 100644 index c879150f..00000000 --- a/src/partons/modules/observable/AluSinPhi.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../../../../include/partons/modules/observable/AluSinPhi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AluSinPhi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AluSinPhi("AluSinPhi")); - -AluSinPhi::AluSinPhi(const std::string &className) : - Alu(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AluSinPhi::AluSinPhi(const AluSinPhi& other) : - Alu(other), MathIntegratorModule(other) { - initFunctorsForIntegrations(); -} - -AluSinPhi::~AluSinPhi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } - -} - -void AluSinPhi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AluSinPhi::functionToIntegrateObservable); -} - -AluSinPhi* AluSinPhi::clone() const { - return new AluSinPhi(*this); -} - -double AluSinPhi::functionToIntegrateObservable(double x, - std::vector params) { - return Alu::computePhiObservable(x) * sin(x); -} - -double AluSinPhi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/Alui.cpp b/src/partons/modules/observable/Alui.cpp deleted file mode 100644 index 38926f10..00000000 --- a/src/partons/modules/observable/Alui.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "../../../../include/partons/modules/observable/Alui.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int Alui::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new Alui("Alui")); - -Alui::Alui(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -Alui::Alui(const Alui& other) : - Observable(other) { -} - -Alui::~Alui() { -} - -Alui* Alui::clone() const { - return new Alui(*this); -} - -// optimisation remplacement des multiples appels similaires par A - B / A + B -double Alui::computePhiObservable(double phi) { - - double result = 0.; - - double SigmaPP = m_pProcessModule->computeCrossSection(+1, +1, - NumA::Vector3D(0., 0., 0.), phi); - - double SigmaPM = m_pProcessModule->computeCrossSection(-1, +1, - NumA::Vector3D(0., 0., 0.), phi); - - double SigmaMP = m_pProcessModule->computeCrossSection(+1, -1, - NumA::Vector3D(0., 0., 0.), phi); - - double SigmaMM = m_pProcessModule->computeCrossSection(-1, -1, - NumA::Vector3D(0., 0., 0.), phi); - - //TODO !!! division par zero !!! - result = ((SigmaPP - SigmaPM) - (SigmaMP - SigmaMM)) - / (SigmaPP + SigmaPM + SigmaMP + SigmaMM); - - return result; -} diff --git a/src/partons/modules/observable/AluiSin1phi.cpp b/src/partons/modules/observable/AluiSin1phi.cpp deleted file mode 100644 index 0e910f93..00000000 --- a/src/partons/modules/observable/AluiSin1phi.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../../../../include/partons/modules/observable/AluiSin1phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AluiSin1phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AluiSin1phi("AluiSin1phi")); - -AluiSin1phi::AluiSin1phi(const std::string &className) : - Alui(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AluiSin1phi::AluiSin1phi(const AluiSin1phi& other) : - Alui(other), MathIntegratorModule(other) { - initFunctorsForIntegrations(); -} - -AluiSin1phi::~AluiSin1phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } - -} - -void AluiSin1phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AluiSin1phi::functionToIntegrateObservable); -} - -AluiSin1phi* AluiSin1phi::clone() const { - return new AluiSin1phi(*this); -} - -double AluiSin1phi::functionToIntegrateObservable(double x, - std::vector params) { - return Alui::computePhiObservable(x) * sin(x); -} - -double AluiSin1phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/AluiSin2phi.cpp b/src/partons/modules/observable/AluiSin2phi.cpp deleted file mode 100644 index 23688adb..00000000 --- a/src/partons/modules/observable/AluiSin2phi.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../../../../include/partons/modules/observable/AluiSin2phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AluiSin2phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AluiSin2phi("AluiSin2phi")); - -AluiSin2phi::AluiSin2phi(const std::string &className) : - Alui(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AluiSin2phi::AluiSin2phi(const AluiSin2phi& other) : - Alui(other), MathIntegratorModule(other) { - initFunctorsForIntegrations(); -} - -AluiSin2phi::~AluiSin2phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } - -} - -void AluiSin2phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AluiSin2phi::functionToIntegrateObservable); -} - -AluiSin2phi* AluiSin2phi::clone() const { - return new AluiSin2phi(*this); -} - -double AluiSin2phi::functionToIntegrateObservable(double x, - std::vector params) { - return Alui::computePhiObservable(x) * sin(2 * x); -} - -double AluiSin2phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/Aul.cpp b/src/partons/modules/observable/Aul.cpp deleted file mode 100644 index 10c2117d..00000000 --- a/src/partons/modules/observable/Aul.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "../../../../include/partons/modules/observable/Aul.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int Aul::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new Aul("Aul")); - -Aul::Aul(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -Aul::Aul(const Aul& other) : - Observable(other) { -} - -Aul::~Aul() { -} - -Aul* Aul::clone() const { - return new Aul(*this); -} - -double Aul::computePhiObservable(double phi) { - - double result = 0.; - - double A = m_pProcessModule->computeCrossSection(0, -1, - NumA::Vector3D(0., 0., +1.), phi); - - double B = m_pProcessModule->computeCrossSection(0, -1, - NumA::Vector3D(0., 0., -1.), phi); - - //TODO !!! division par zero !!! - result = (A - B) / (A + B); - - return result; -} diff --git a/src/partons/modules/observable/AulSin2phi.cpp b/src/partons/modules/observable/AulSin2phi.cpp deleted file mode 100644 index dacc959f..00000000 --- a/src/partons/modules/observable/AulSin2phi.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../../../../include/partons/modules/observable/AulSin2phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AulSin2phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AulSin2phi("AulSin2phi")); - -AulSin2phi::AulSin2phi(const std::string &className) : - Aul(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AulSin2phi::AulSin2phi(const AulSin2phi& other) : - Aul(other), MathIntegratorModule(other) { - initFunctorsForIntegrations(); -} - -AulSin2phi::~AulSin2phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } - -} - -void AulSin2phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AulSin2phi::functionToIntegrateObservable); -} - -AulSin2phi* AulSin2phi::clone() const { - return new AulSin2phi(*this); -} - -double AulSin2phi::functionToIntegrateObservable(double x, - std::vector params) { - return Aul::computePhiObservable(x) * sin(2 * x); -} - -double AulSin2phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/AulSin3phi.cpp b/src/partons/modules/observable/AulSin3phi.cpp deleted file mode 100644 index 2f3e57e9..00000000 --- a/src/partons/modules/observable/AulSin3phi.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../../../../include/partons/modules/observable/AulSin3phi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AulSin3phi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AulSin3phi("AulSin3phi")); - -AulSin3phi::AulSin3phi(const std::string &className) : - Aul(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AulSin3phi::AulSin3phi(const AulSin3phi& other) : - Aul(other), MathIntegratorModule(other) { - initFunctorsForIntegrations(); -} - -AulSin3phi::~AulSin3phi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } - -} - -void AulSin3phi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AulSin3phi::functionToIntegrateObservable); -} - -AulSin3phi* AulSin3phi::clone() const { - return new AulSin3phi(*this); -} - -double AulSin3phi::functionToIntegrateObservable(double x, - std::vector params) { - return Aul::computePhiObservable(x) * sin(3 * x); -} - -double AulSin3phi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/AulSinPhi.cpp b/src/partons/modules/observable/AulSinPhi.cpp deleted file mode 100644 index 754a43f4..00000000 --- a/src/partons/modules/observable/AulSinPhi.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../../../../include/partons/modules/observable/AulSinPhi.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AulSinPhi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AulSinPhi("AulSinPhi")); - -AulSinPhi::AulSinPhi(const std::string &className) : - Aul(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AulSinPhi::AulSinPhi(const AulSinPhi& other) : - Aul(other), MathIntegratorModule(other) { - initFunctorsForIntegrations(); -} - -AulSinPhi::~AulSinPhi() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } - -} - -void AulSinPhi::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AulSinPhi::functionToIntegrateObservable); -} - -AulSinPhi* AulSinPhi::clone() const { - return new AulSinPhi(*this); -} - -double AulSinPhi::functionToIntegrateObservable(double x, - std::vector params) { - return Aul::computePhiObservable(x) * sin(x); -} - -double AulSinPhi::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / Constant::PI; -} diff --git a/src/partons/modules/observable/AutINT.cpp b/src/partons/modules/observable/AutINT.cpp deleted file mode 100644 index 4c54f41b..00000000 --- a/src/partons/modules/observable/AutINT.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/AutINT.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AutINT::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new AutINT("AutINT")); - -AutINT::AutINT(const std::string &className) : - AutSinPhiPhiS(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -AutINT::AutINT(const AutINT& other) : - AutSinPhiPhiS(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -AutINT::~AutINT() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void AutINT::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &AutINT::functionToIntegrateObservable); -} - -AutINT* AutINT::clone() const { - return new AutINT(*this); -} - -double AutINT::functionToIntegrateObservable(double x, - std::vector params) { - return AutSinPhiPhiS::computePhiObservable(x)*cos(x); -} - -double AutINT::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters) / (2 * Constant::PI); -} diff --git a/src/partons/modules/observable/AutSinPhiPhiS.cpp b/src/partons/modules/observable/AutSinPhiPhiS.cpp deleted file mode 100644 index 36f6c08d..00000000 --- a/src/partons/modules/observable/AutSinPhiPhiS.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "../../../../include/partons/modules/observable/AutSinPhiPhiS.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AutSinPhiPhiS::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new AutSinPhiPhiS("AutSinPhiPhiS")); - -AutSinPhiPhiS::AutSinPhiPhiS(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -AutSinPhiPhiS::AutSinPhiPhiS(const AutSinPhiPhiS& other) : - Observable(other) { -} - -AutSinPhiPhiS::~AutSinPhiPhiS() { -} - -AutSinPhiPhiS* AutSinPhiPhiS::clone() const { - return new AutSinPhiPhiS(*this); -} - -double AutSinPhiPhiS::computePhiObservable(double phi) { - - double result = 0.; - - double A = m_pProcessModule->computeCrossSection(0, -1, - NumA::Vector3D(0., 0., 0.), phi); - - double B = m_pProcessModule->computeCrossSection(0, -1, - NumA::Vector3D(0., -1., 0.), phi); - - //TODO !!! division par zero !!! - // result = (A - B) / (A + B); - result = B/A-1; - return result; -} diff --git a/src/partons/modules/observable/AutSinPhiPhiSOld.cpp b/src/partons/modules/observable/AutSinPhiPhiSOld.cpp deleted file mode 100644 index 273dce9b..00000000 --- a/src/partons/modules/observable/AutSinPhiPhiSOld.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "../../../../include/partons/modules/observable/AutSinPhiPhiSOld.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -// Initialise [class]::classId with a unique name. -const unsigned int AutSinPhiPhiSOld::classId = - BaseObjectRegistry::getInstance()->registerBaseObject(new AutSinPhiPhiSOld("AutSinPhiPhiSOld")); - -AutSinPhiPhiSOld::AutSinPhiPhiSOld(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -AutSinPhiPhiSOld::AutSinPhiPhiSOld(const AutSinPhiPhiSOld& other) : - Observable(other) { -} - -AutSinPhiPhiSOld::~AutSinPhiPhiSOld() { -} - -AutSinPhiPhiSOld* AutSinPhiPhiSOld::clone() const { - return new AutSinPhiPhiSOld(*this); -} - -double AutSinPhiPhiSOld::computePhiObservable(double phi) { - - double result = 0.; - - double A = m_pProcessModule->computeCrossSection(0, -1, - NumA::Vector3D(0., 1., 0.), phi); - - double B = m_pProcessModule->computeCrossSection(0, -1, - NumA::Vector3D(0., -1., 0.), phi); - - //TODO !!! division par zero !!! - result = (A - B) / (A + B); - - return result; -} diff --git a/src/partons/modules/observable/CrossSectionBeamMinusUU.cpp b/src/partons/modules/observable/CrossSectionBeamMinusUU.cpp deleted file mode 100644 index 5a0a5d94..00000000 --- a/src/partons/modules/observable/CrossSectionBeamMinusUU.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include "../../../../include/partons/modules/observable/CrossSectionBeamMinusUU.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -const unsigned int CrossSectionBeamMinusUU::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new CrossSectionBeamMinusUU("CrossSectionBeamMinusUU")); - -CrossSectionBeamMinusUU::CrossSectionBeamMinusUU(const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -CrossSectionBeamMinusUU::CrossSectionBeamMinusUU( - const CrossSectionBeamMinusUU& other) : - Observable(other) { -} - -CrossSectionBeamMinusUU::~CrossSectionBeamMinusUU() { -} - -CrossSectionBeamMinusUU* CrossSectionBeamMinusUU::clone() const { - return new CrossSectionBeamMinusUU(*this); -} - -double CrossSectionBeamMinusUU::computePhiObservable(double phi) { - - double result = 0.; - - double A = m_pProcessModule->computeCrossSection(1., -1, - NumA::Vector3D(0., 0., +1.), phi); - - double B = m_pProcessModule->computeCrossSection(-1., -1, - NumA::Vector3D(0., 0., +1.), phi); - - double C = m_pProcessModule->computeCrossSection(1., -1, - NumA::Vector3D(0., 0., -1.), phi); - - double D = m_pProcessModule->computeCrossSection(-1., -1, - NumA::Vector3D(0., 0., -1.), phi); - - result = (A + B + C + D) / 4.; - - result *= 2 * Constant::PI; //integrate over transversely polarized target dependence to obtain 4-fold differential cross-section - result *= 0.3894 * 1.E6; //change to nb - - return result; -} diff --git a/src/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.cpp b/src/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.cpp deleted file mode 100644 index a412458c..00000000 --- a/src/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "../../../../include/partons/modules/observable/CrossSectionDifferenceBeamMinusLU.h" - -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" -#include "../../../../include/partons/modules/ProcessModule.h" - -const unsigned int CrossSectionDifferenceBeamMinusLU::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new CrossSectionDifferenceBeamMinusLU( - "CrossSectionDifferenceBeamMinusLU")); - -CrossSectionDifferenceBeamMinusLU::CrossSectionDifferenceBeamMinusLU( - const std::string &className) : - Observable(className) { - m_channel = ObservableChannel::DVCS; -} - -CrossSectionDifferenceBeamMinusLU::CrossSectionDifferenceBeamMinusLU( - const CrossSectionDifferenceBeamMinusLU& other) : - Observable(other) { -} - -CrossSectionDifferenceBeamMinusLU::~CrossSectionDifferenceBeamMinusLU() { -} - -CrossSectionDifferenceBeamMinusLU* CrossSectionDifferenceBeamMinusLU::clone() const { - return new CrossSectionDifferenceBeamMinusLU(*this); -} - -double CrossSectionDifferenceBeamMinusLU::computePhiObservable(double phi) { - - double result = 0.; - - double A = m_pProcessModule->computeCrossSection(1., -1, - NumA::Vector3D(0., 0., 0.), phi); - - double B = m_pProcessModule->computeCrossSection(-1., -1, - NumA::Vector3D(0., 0., 0.), phi); - - result = 0.5*(A - B); - - result *= 2 * Constant::PI; //integrate over transversely polarized target dependence to obtain 4-fold differential cross-section - result *= 0.3894 * 1.E6; //change to nb - - return result; -} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAc.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAc.cpp new file mode 100644 index 00000000..1cf19875 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAc.cpp @@ -0,0 +1,50 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAc.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSAc::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAc("DVCSAc")); + +DVCSAc::DVCSAc(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSAc::DVCSAc(const DVCSAc& other) : + Observable(other) { +} + +DVCSAc::~DVCSAc() { +} + +DVCSAc* DVCSAc::clone() const { + return new DVCSAc(*this); +} + +double DVCSAc::computePhiObservable(double phi) { + + double A = m_pProcessModule->computeCrossSection(+1, +1, + NumA::Vector3D(0., 0., 0.), phi); + + double B = m_pProcessModule->computeCrossSection(-1, +1, + NumA::Vector3D(0., 0., 0.), phi); + + double C = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + double D = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + if(A + B + C + D == 0.){ + + warn(__func__, "Asymmetry denominator is zero."); + return 0.; + } + + return ((A + B) - (C + D)) / ((A + B) + (C + D)); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.cpp new file mode 100644 index 00000000..97d722ce --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.cpp @@ -0,0 +1,63 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos0Phi.h" + +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAcCos0Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAcCos0Phi("DVCSAcCos0Phi")); + +DVCSAcCos0Phi::DVCSAcCos0Phi(const std::string &className) : + DVCSAc(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAcCos0Phi::DVCSAcCos0Phi(const DVCSAcCos0Phi& other) : + DVCSAc(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAcCos0Phi::~DVCSAcCos0Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAcCos0Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAcCos0Phi::functionToIntegrateObservable); +} + +DVCSAcCos0Phi* DVCSAcCos0Phi::clone() const { + return new DVCSAcCos0Phi(*this); +} + +double DVCSAcCos0Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAc::computePhiObservable(x); +} + +double DVCSAcCos0Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / (2 * Constant::PI); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.cpp new file mode 100644 index 00000000..d613b2d7 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.cpp @@ -0,0 +1,64 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos1Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAcCos1Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAcCos1Phi("DVCSAcCos1Phi")); + +DVCSAcCos1Phi::DVCSAcCos1Phi(const std::string &className) : + DVCSAc(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAcCos1Phi::DVCSAcCos1Phi(const DVCSAcCos1Phi& other) : + DVCSAc(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAcCos1Phi::~DVCSAcCos1Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAcCos1Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAcCos1Phi::functionToIntegrateObservable); +} + +DVCSAcCos1Phi* DVCSAcCos1Phi::clone() const { + return new DVCSAcCos1Phi(*this); +} + +double DVCSAcCos1Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAc::computePhiObservable(x) * cos(x); +} + +double DVCSAcCos1Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.cpp new file mode 100644 index 00000000..ba07fcd3 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.cpp @@ -0,0 +1,64 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos2Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAcCos2Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAcCos2Phi("DVCSAcCos2Phi")); + +DVCSAcCos2Phi::DVCSAcCos2Phi(const std::string &className) : + DVCSAc(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAcCos2Phi::DVCSAcCos2Phi(const DVCSAcCos2Phi& other) : + DVCSAc(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAcCos2Phi::~DVCSAcCos2Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAcCos2Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAcCos2Phi::functionToIntegrateObservable); +} + +DVCSAcCos2Phi* DVCSAcCos2Phi::clone() const { + return new DVCSAcCos2Phi(*this); +} + +double DVCSAcCos2Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAc::computePhiObservable(x) * cos(2 * x); +} + +double DVCSAcCos2Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.cpp new file mode 100644 index 00000000..34c098f9 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.cpp @@ -0,0 +1,64 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAcCos3Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAcCos3Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAcCos3Phi("DVCSAcCos3Phi")); + +DVCSAcCos3Phi::DVCSAcCos3Phi(const std::string &className) : + DVCSAc(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAcCos3Phi::DVCSAcCos3Phi(const DVCSAcCos3Phi& other) : + DVCSAc(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAcCos3Phi::~DVCSAcCos3Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAcCos3Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAcCos3Phi::functionToIntegrateObservable); +} + +DVCSAcCos3Phi* DVCSAcCos3Phi::clone() const { + return new DVCSAcCos3Phi(*this); +} + +double DVCSAcCos3Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAc::computePhiObservable(x) * cos(3 * x); +} + +double DVCSAcCos3Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.cpp new file mode 100644 index 00000000..8171100e --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.cpp @@ -0,0 +1,50 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinus.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSAllMinus::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAllMinus("DVCSAllMinus")); + +DVCSAllMinus::DVCSAllMinus(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSAllMinus::DVCSAllMinus(const DVCSAllMinus& other) : + Observable(other) { +} + +DVCSAllMinus::~DVCSAllMinus() { +} + +DVCSAllMinus* DVCSAllMinus::clone() const { + return new DVCSAllMinus(*this); +} + +double DVCSAllMinus::computePhiObservable(double phi) { + + double A = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., -1.), phi); + + double B = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., +1.), phi); + + double C = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., +1.), phi); + + double D = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., -1.), phi); + + if (A + B + C + D == 0.) { + + warn(__func__, "Asymmetry denominator is zero."); + return 0.; + } + + return ((A + B) - (C + D)) / ((A + B) + (C + D)); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.cpp new file mode 100644 index 00000000..109892aa --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.cpp @@ -0,0 +1,64 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos0Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAllMinusCos0Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAllMinusCos0Phi("DVCSAllMinusCos0Phi")); + +DVCSAllMinusCos0Phi::DVCSAllMinusCos0Phi(const std::string &className) : + DVCSAllMinus(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAllMinusCos0Phi::DVCSAllMinusCos0Phi(const DVCSAllMinusCos0Phi& other) : + DVCSAllMinus(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAllMinusCos0Phi::~DVCSAllMinusCos0Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAllMinusCos0Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAllMinusCos0Phi::functionToIntegrateObservable); +} + +DVCSAllMinusCos0Phi* DVCSAllMinusCos0Phi::clone() const { + return new DVCSAllMinusCos0Phi(*this); +} + +double DVCSAllMinusCos0Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAllMinus::computePhiObservable(x) * cos(0 * x); +} + +double DVCSAllMinusCos0Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / (2 * Constant::PI); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.cpp new file mode 100644 index 00000000..2f876099 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.cpp @@ -0,0 +1,64 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos1Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAllMinusCos1Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAllMinusCos1Phi("DVCSAllMinusCos1Phi")); + +DVCSAllMinusCos1Phi::DVCSAllMinusCos1Phi(const std::string &className) : + DVCSAllMinus(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAllMinusCos1Phi::DVCSAllMinusCos1Phi(const DVCSAllMinusCos1Phi& other) : + DVCSAllMinus(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAllMinusCos1Phi::~DVCSAllMinusCos1Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAllMinusCos1Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAllMinusCos1Phi::functionToIntegrateObservable); +} + +DVCSAllMinusCos1Phi* DVCSAllMinusCos1Phi::clone() const { + return new DVCSAllMinusCos1Phi(*this); +} + +double DVCSAllMinusCos1Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAllMinus::computePhiObservable(x) * cos(1 * x); +} + +double DVCSAllMinusCos1Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / (Constant::PI); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.cpp new file mode 100644 index 00000000..cdb8213c --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.cpp @@ -0,0 +1,64 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAllMinusCos2Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAllMinusCos2Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAllMinusCos2Phi("DVCSAllMinusCos2Phi")); + +DVCSAllMinusCos2Phi::DVCSAllMinusCos2Phi(const std::string &className) : + DVCSAllMinus(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAllMinusCos2Phi::DVCSAllMinusCos2Phi(const DVCSAllMinusCos2Phi& other) : + DVCSAllMinus(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAllMinusCos2Phi::~DVCSAllMinusCos2Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAllMinusCos2Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAllMinusCos2Phi::functionToIntegrateObservable); +} + +DVCSAllMinusCos2Phi* DVCSAllMinusCos2Phi::clone() const { + return new DVCSAllMinusCos2Phi(*this); +} + +double DVCSAllMinusCos2Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAllMinus::computePhiObservable(x) * cos(2 * x); +} + +double DVCSAllMinusCos2Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / (Constant::PI); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.cpp new file mode 100644 index 00000000..f44856ef --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.cpp @@ -0,0 +1,50 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCS.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSAluDVCS::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAluDVCS("DVCSAluDVCS")); + +DVCSAluDVCS::DVCSAluDVCS(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSAluDVCS::DVCSAluDVCS(const DVCSAluDVCS& other) : + Observable(other) { +} + +DVCSAluDVCS::~DVCSAluDVCS() { +} + +DVCSAluDVCS* DVCSAluDVCS::clone() const { + return new DVCSAluDVCS(*this); +} + +double DVCSAluDVCS::computePhiObservable(double phi) { + + double A = m_pProcessModule->computeCrossSection(+1, +1, + NumA::Vector3D(0., 0., 0.), phi); + + double B = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + double C = m_pProcessModule->computeCrossSection(-1, +1, + NumA::Vector3D(0., 0., 0.), phi); + + double D = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + if (A + B + C + D == 0.) { + + warn(__func__, "Asymmetry denominator is zero."); + return 0.; + } + + return ((A + B) - (C + D)) / ((A + B) + (C + D)); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.cpp new file mode 100644 index 00000000..a9be025f --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.cpp @@ -0,0 +1,63 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAluDVCSSin1Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAluDVCSSin1Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAluDVCSSin1Phi("DVCSAluDVCSSin1Phi")); + +DVCSAluDVCSSin1Phi::DVCSAluDVCSSin1Phi(const std::string &className) : + DVCSAluDVCS(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAluDVCSSin1Phi::DVCSAluDVCSSin1Phi(const DVCSAluDVCSSin1Phi& other) : + DVCSAluDVCS(other), MathIntegratorModule(other) { + initFunctorsForIntegrations(); +} + +DVCSAluDVCSSin1Phi::~DVCSAluDVCSSin1Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAluDVCSSin1Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAluDVCSSin1Phi::functionToIntegrateObservable); +} + +DVCSAluDVCSSin1Phi* DVCSAluDVCSSin1Phi::clone() const { + return new DVCSAluDVCSSin1Phi(*this); +} + +double DVCSAluDVCSSin1Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAluDVCS::computePhiObservable(x) * sin(x); +} + +double DVCSAluDVCSSin1Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; + +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.cpp new file mode 100644 index 00000000..79cb34be --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.cpp @@ -0,0 +1,50 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAluInt.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSAluInt::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAluInt("DVCSAluInt")); + +DVCSAluInt::DVCSAluInt(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSAluInt::DVCSAluInt(const DVCSAluInt& other) : + Observable(other) { +} + +DVCSAluInt::~DVCSAluInt() { +} + +DVCSAluInt* DVCSAluInt::clone() const { + return new DVCSAluInt(*this); +} + +double DVCSAluInt::computePhiObservable(double phi) { + + double A = m_pProcessModule->computeCrossSection(+1, +1, + NumA::Vector3D(0., 0., 0.), phi); + + double B = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + double C = m_pProcessModule->computeCrossSection(-1, +1, + NumA::Vector3D(0., 0., 0.), phi); + + double D = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + if (A + B + C + D == 0.) { + + warn(__func__, "Asymmetry denominator is zero."); + return 0.; + } + + return ((A - B) - (C - D)) / ((A - B) + (C - D)); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.cpp new file mode 100644 index 00000000..45a10ec2 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.cpp @@ -0,0 +1,62 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin1Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAluIntSin1Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAluIntSin1Phi("DVCSAluIntSin1Phi")); + +DVCSAluIntSin1Phi::DVCSAluIntSin1Phi(const std::string &className) : + DVCSAluInt(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAluIntSin1Phi::DVCSAluIntSin1Phi(const DVCSAluIntSin1Phi& other) : + DVCSAluInt(other), MathIntegratorModule(other) { + initFunctorsForIntegrations(); +} + +DVCSAluIntSin1Phi::~DVCSAluIntSin1Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAluIntSin1Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAluIntSin1Phi::functionToIntegrateObservable); +} + +DVCSAluIntSin1Phi* DVCSAluIntSin1Phi::clone() const { + return new DVCSAluIntSin1Phi(*this); +} + +double DVCSAluIntSin1Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAluInt::computePhiObservable(x) * sin(x); +} + +double DVCSAluIntSin1Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.cpp new file mode 100644 index 00000000..39985763 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.cpp @@ -0,0 +1,62 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAluIntSin2Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAluIntSin2Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAluIntSin2Phi("DVCSAluIntSin2Phi")); + +DVCSAluIntSin2Phi::DVCSAluIntSin2Phi(const std::string &className) : + DVCSAluInt(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAluIntSin2Phi::DVCSAluIntSin2Phi(const DVCSAluIntSin2Phi& other) : + DVCSAluInt(other), MathIntegratorModule(other) { + initFunctorsForIntegrations(); +} + +DVCSAluIntSin2Phi::~DVCSAluIntSin2Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAluIntSin2Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAluIntSin2Phi::functionToIntegrateObservable); +} + +DVCSAluIntSin2Phi* DVCSAluIntSin2Phi::clone() const { + return new DVCSAluIntSin2Phi(*this); +} + +double DVCSAluIntSin2Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAluInt::computePhiObservable(x) * sin(2 * x); +} + +double DVCSAluIntSin2Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.cpp new file mode 100644 index 00000000..bd55fbbd --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.cpp @@ -0,0 +1,44 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinus.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSAluMinus::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAluMinus("DVCSAluMinus")); + +DVCSAluMinus::DVCSAluMinus(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSAluMinus::DVCSAluMinus(const DVCSAluMinus& other) : + Observable(other) { +} + +DVCSAluMinus::~DVCSAluMinus() { +} + +DVCSAluMinus* DVCSAluMinus::clone() const { + return new DVCSAluMinus(*this); +} + +double DVCSAluMinus::computePhiObservable(double phi) { + + double A = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + double B = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., 0.), phi); + + if (A + B == 0.) { + + warn(__func__, "Asymmetry denominator is zero."); + return 0.; + } + + return (A - B) / (A + B); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.cpp new file mode 100644 index 00000000..649a4cdb --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.cpp @@ -0,0 +1,63 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAluMinusSin1Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAluMinusSin1Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAluMinusSin1Phi("DVCSAluMinusSin1Phi")); + +DVCSAluMinusSin1Phi::DVCSAluMinusSin1Phi(const std::string &className) : + DVCSAluMinus(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAluMinusSin1Phi::DVCSAluMinusSin1Phi(const DVCSAluMinusSin1Phi& other) : + DVCSAluMinus(other), MathIntegratorModule(other) { + initFunctorsForIntegrations(); +} + +DVCSAluMinusSin1Phi::~DVCSAluMinusSin1Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } + +} + +void DVCSAluMinusSin1Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAluMinusSin1Phi::functionToIntegrateObservable); +} + +DVCSAluMinusSin1Phi* DVCSAluMinusSin1Phi::clone() const { + return new DVCSAluMinusSin1Phi(*this); +} + +double DVCSAluMinusSin1Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAluMinus::computePhiObservable(x) * sin(x); +} + +double DVCSAluMinusSin1Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.cpp new file mode 100644 index 00000000..874aeee5 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.cpp @@ -0,0 +1,50 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinus.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSAulMinus::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAulMinus("DVCSAulMinus")); + +DVCSAulMinus::DVCSAulMinus(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSAulMinus::DVCSAulMinus(const DVCSAulMinus& other) : + Observable(other) { +} + +DVCSAulMinus::~DVCSAulMinus() { +} + +DVCSAulMinus* DVCSAulMinus::clone() const { + return new DVCSAulMinus(*this); +} + +double DVCSAulMinus::computePhiObservable(double phi) { + + double A = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., -1.), phi); + + double B = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., -1.), phi); + + double C = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., 0., +1.), phi); + + double D = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., 0., +1.), phi); + + if (A + B + C + D == 0.) { + + warn(__func__, "Asymmetry denominator is zero."); + return 0.; + } + + return ((A + B) - (C + D)) / ((A + B) + (C + D)); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.cpp new file mode 100644 index 00000000..8cf705de --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.cpp @@ -0,0 +1,62 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin1Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAulMinusSin1Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAulMinusSin1Phi("DVCSAulMinusSin1Phi")); + +DVCSAulMinusSin1Phi::DVCSAulMinusSin1Phi(const std::string &className) : + DVCSAulMinus(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAulMinusSin1Phi::DVCSAulMinusSin1Phi(const DVCSAulMinusSin1Phi& other) : + DVCSAulMinus(other), MathIntegratorModule(other) { + initFunctorsForIntegrations(); +} + +DVCSAulMinusSin1Phi::~DVCSAulMinusSin1Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAulMinusSin1Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAulMinusSin1Phi::functionToIntegrateObservable); +} + +DVCSAulMinusSin1Phi* DVCSAulMinusSin1Phi::clone() const { + return new DVCSAulMinusSin1Phi(*this); +} + +double DVCSAulMinusSin1Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAulMinus::computePhiObservable(x) * sin(x); +} + +double DVCSAulMinusSin1Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.cpp new file mode 100644 index 00000000..72f956cd --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.cpp @@ -0,0 +1,62 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin2Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAulMinusSin2Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAulMinusSin2Phi("DVCSAulMinusSin2Phi")); + +DVCSAulMinusSin2Phi::DVCSAulMinusSin2Phi(const std::string &className) : + DVCSAulMinus(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAulMinusSin2Phi::DVCSAulMinusSin2Phi(const DVCSAulMinusSin2Phi& other) : + DVCSAulMinus(other), MathIntegratorModule(other) { + initFunctorsForIntegrations(); +} + +DVCSAulMinusSin2Phi::~DVCSAulMinusSin2Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAulMinusSin2Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAulMinusSin2Phi::functionToIntegrateObservable); +} + +DVCSAulMinusSin2Phi* DVCSAulMinusSin2Phi::clone() const { + return new DVCSAulMinusSin2Phi(*this); +} + +double DVCSAulMinusSin2Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAulMinus::computePhiObservable(x) * sin(2 * x); +} + +double DVCSAulMinusSin2Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.cpp new file mode 100644 index 00000000..612a12d2 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.cpp @@ -0,0 +1,62 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAulMinusSin3Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAulMinusSin3Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAulMinusSin3Phi("DVCSAulMinusSin3Phi")); + +DVCSAulMinusSin3Phi::DVCSAulMinusSin3Phi(const std::string &className) : + DVCSAulMinus(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAulMinusSin3Phi::DVCSAulMinusSin3Phi(const DVCSAulMinusSin3Phi& other) : + DVCSAulMinus(other), MathIntegratorModule(other) { + initFunctorsForIntegrations(); +} + +DVCSAulMinusSin3Phi::~DVCSAulMinusSin3Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAulMinusSin3Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAulMinusSin3Phi::functionToIntegrateObservable); +} + +DVCSAulMinusSin3Phi* DVCSAulMinusSin3Phi::clone() const { + return new DVCSAulMinusSin3Phi(*this); +} + +double DVCSAulMinusSin3Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAulMinus::computePhiObservable(x) * sin(3 * x); +} + +double DVCSAulMinusSin3Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / Constant::PI; +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.cpp new file mode 100644 index 00000000..8f5a6206 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.cpp @@ -0,0 +1,50 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSAutSinPhiMPhiS::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAutSinPhiMPhiS("DVCSAutSinPhiMPhiS")); + +DVCSAutSinPhiMPhiS::DVCSAutSinPhiMPhiS(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSAutSinPhiMPhiS::DVCSAutSinPhiMPhiS(const DVCSAutSinPhiMPhiS& other) : + Observable(other) { +} + +DVCSAutSinPhiMPhiS::~DVCSAutSinPhiMPhiS() { +} + +DVCSAutSinPhiMPhiS* DVCSAutSinPhiMPhiS::clone() const { + return new DVCSAutSinPhiMPhiS(*this); +} + +double DVCSAutSinPhiMPhiS::computePhiObservable(double phi) { + + double A = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., -1., 0.), phi); + + double B = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., -1., 0.), phi); + + double C = m_pProcessModule->computeCrossSection(+1, -1, + NumA::Vector3D(0., +1., 0.), phi); + + double D = m_pProcessModule->computeCrossSection(-1, -1, + NumA::Vector3D(0., +1., 0.), phi); + + if (A + B + C + D == 0.) { + + warn(__func__, "Asymmetry denominator is zero."); + return 0.; + } + + return ((A + B) - (C + D)) / ((A + B) + (C + D)); +} diff --git a/src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.cpp b/src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.cpp new file mode 100644 index 00000000..8e238c68 --- /dev/null +++ b/src/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.cpp @@ -0,0 +1,66 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h" + +#include +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +const unsigned int DVCSAutSinPhiMPhiSCos0Phi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSAutSinPhiMPhiSCos0Phi("DVCSAutSinPhiMPhiSCos0Phi")); + +DVCSAutSinPhiMPhiSCos0Phi::DVCSAutSinPhiMPhiSCos0Phi( + const std::string &className) : + DVCSAutSinPhiMPhiS(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + initFunctorsForIntegrations(); +} + +DVCSAutSinPhiMPhiSCos0Phi::DVCSAutSinPhiMPhiSCos0Phi( + const DVCSAutSinPhiMPhiSCos0Phi& other) : + DVCSAutSinPhiMPhiS(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + initFunctorsForIntegrations(); +} + +DVCSAutSinPhiMPhiSCos0Phi::~DVCSAutSinPhiMPhiSCos0Phi() { + + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSAutSinPhiMPhiSCos0Phi::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSAutSinPhiMPhiSCos0Phi::functionToIntegrateObservable); +} + +DVCSAutSinPhiMPhiSCos0Phi* DVCSAutSinPhiMPhiSCos0Phi::clone() const { + return new DVCSAutSinPhiMPhiSCos0Phi(*this); +} + +double DVCSAutSinPhiMPhiSCos0Phi::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSAutSinPhiMPhiS::computePhiObservable(x) * cos(x); +} + +double DVCSAutSinPhiMPhiSCos0Phi::computeFourierObservable() { + + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters) / (2 * Constant::PI); +} diff --git a/src/partons/modules/observable/CrossSectionObservable.cpp b/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.cpp similarity index 60% rename from src/partons/modules/observable/CrossSectionObservable.cpp rename to src/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.cpp index eb8986a5..b4aba31a 100644 --- a/src/partons/modules/observable/CrossSectionObservable.cpp +++ b/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.cpp @@ -1,44 +1,43 @@ -#include "../../../../include/partons/modules/observable/CrossSectionObservable.h" +#include "../../../../../../include/partons/modules/observable/DVCS/cross_section/DVCSCrossSection.h" #include -#include #include #include #include #include -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/ProcessModule.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" -const std::string CrossSectionObservable::PARAMETER_NAME_BEAM_HELICITY = +const std::string DVCSCrossSection::PARAMETER_NAME_BEAM_HELICITY = "beam_helicity"; -const std::string CrossSectionObservable::PARAMETER_NAME_BEAM_CHARGE = +const std::string DVCSCrossSection::PARAMETER_NAME_BEAM_CHARGE = "beam_charge"; -const std::string CrossSectionObservable::PARAMETER_NAME_TARGET_POLARIZATION = +const std::string DVCSCrossSection::PARAMETER_NAME_TARGET_POLARIZATION = "target_polarization"; // Initialise [class]::classId with a unique name. -const unsigned int CrossSectionObservable::classId = +const unsigned int DVCSCrossSection::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new CrossSectionObservable("CrossSectionObservable")); + new DVCSCrossSection("DVCSCrossSection")); -CrossSectionObservable::CrossSectionObservable(const std::string &className) : +DVCSCrossSection::DVCSCrossSection(const std::string &className) : Observable(className) { } -CrossSectionObservable::CrossSectionObservable( - const CrossSectionObservable& other) : +DVCSCrossSection::DVCSCrossSection( + const DVCSCrossSection& other) : Observable(other) { } -CrossSectionObservable::~CrossSectionObservable() { +DVCSCrossSection::~DVCSCrossSection() { } -CrossSectionObservable* CrossSectionObservable::clone() const { - return new CrossSectionObservable(*this); +DVCSCrossSection* DVCSCrossSection::clone() const { + return new DVCSCrossSection(*this); } -double CrossSectionObservable::computePhiObservable(double phi) { +double DVCSCrossSection::computePhiObservable(double phi) { // double result = pDVCSModule->computeCrossSection(+1, -1, // Vector3D(0., 1., 0.), phi); // return result; @@ -48,28 +47,28 @@ double CrossSectionObservable::computePhiObservable(double phi) { return result; } -void CrossSectionObservable::configure( +void DVCSCrossSection::configure( const ElemUtils::Parameters ¶meters) { if (parameters.isAvailable( - CrossSectionObservable::PARAMETER_NAME_BEAM_HELICITY)) { + DVCSCrossSection::PARAMETER_NAME_BEAM_HELICITY)) { m_beamHelicity = parameters.getLastAvailable().toDouble(); info(__func__, ElemUtils::Formatter() - << CrossSectionObservable::PARAMETER_NAME_BEAM_HELICITY + << DVCSCrossSection::PARAMETER_NAME_BEAM_HELICITY << " configured with value = " << m_beamHelicity); } if (parameters.isAvailable( - CrossSectionObservable::PARAMETER_NAME_BEAM_CHARGE)) { + DVCSCrossSection::PARAMETER_NAME_BEAM_CHARGE)) { m_beamCharge = parameters.getLastAvailable().toDouble(); info(__func__, ElemUtils::Formatter() - << CrossSectionObservable::PARAMETER_NAME_BEAM_CHARGE + << DVCSCrossSection::PARAMETER_NAME_BEAM_CHARGE << " configured with value = " << m_beamCharge); } if (parameters.isAvailable( - CrossSectionObservable::PARAMETER_NAME_TARGET_POLARIZATION)) { + DVCSCrossSection::PARAMETER_NAME_TARGET_POLARIZATION)) { std::string temp_str = parameters.getLastAvailable().getString(); if (!temp_str.empty()) { @@ -85,7 +84,7 @@ void CrossSectionObservable::configure( info(__func__, ElemUtils::Formatter() - << CrossSectionObservable::PARAMETER_NAME_TARGET_POLARIZATION + << DVCSCrossSection::PARAMETER_NAME_TARGET_POLARIZATION << " configured with value = " << m_targetPolarization.toString()); } else { diff --git a/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.cpp b/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.cpp new file mode 100644 index 00000000..fe362210 --- /dev/null +++ b/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.cpp @@ -0,0 +1,64 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionPhiIntegrated.h" + +#include +#include +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/beans/observable/ObservableType.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" + +// Initialise [class]::classId with a unique name. +const unsigned int DVCSCrossSectionPhiIntegrated::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSCrossSectionPhiIntegrated("DVCSCrossSectionPhiIntegrated")); + +DVCSCrossSectionPhiIntegrated::DVCSCrossSectionPhiIntegrated(const std::string &className) : + DVCSCrossSection(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( + 0) { + + m_observableType = ObservableType::FOURIER; + m_channel = ObservableChannel::DVCS; + + setIntegrator(NumA::IntegratorType1D::DEXP); + + initFunctorsForIntegrations(); +} + +DVCSCrossSectionPhiIntegrated::DVCSCrossSectionPhiIntegrated(const DVCSCrossSectionPhiIntegrated& other) : + DVCSCrossSection(other), MathIntegratorModule(other) { + + m_pFunctionToIntegrateObservable = 0; + + initFunctorsForIntegrations(); +} + +DVCSCrossSectionPhiIntegrated::~DVCSCrossSectionPhiIntegrated() { + if (m_pFunctionToIntegrateObservable) { + delete m_pFunctionToIntegrateObservable; + m_pFunctionToIntegrateObservable = 0; + } +} + +void DVCSCrossSectionPhiIntegrated::initFunctorsForIntegrations() { + m_pFunctionToIntegrateObservable = + NumA::Integrator1D::newIntegrationFunctor(this, + &DVCSCrossSectionPhiIntegrated::functionToIntegrateObservable); +} + +DVCSCrossSectionPhiIntegrated* DVCSCrossSectionPhiIntegrated::clone() const { + return new DVCSCrossSectionPhiIntegrated(*this); +} + +double DVCSCrossSectionPhiIntegrated::functionToIntegrateObservable(double x, + std::vector params) { + return DVCSCrossSection::computePhiObservable(x); +} + +double DVCSCrossSectionPhiIntegrated::computeFourierObservable() { + std::vector emptyParameters; + + return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), + emptyParameters); +} diff --git a/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.cpp b/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.cpp new file mode 100644 index 00000000..78bf0cfd --- /dev/null +++ b/src/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.cpp @@ -0,0 +1,50 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionUUMinus.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSCrossSectionUUMinus::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSCrossSectionUUMinus("DVCSCrossSectionUUMinus")); + +DVCSCrossSectionUUMinus::DVCSCrossSectionUUMinus(const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSCrossSectionUUMinus::DVCSCrossSectionUUMinus( + const DVCSCrossSectionUUMinus& other) : + Observable(other) { +} + +DVCSCrossSectionUUMinus::~DVCSCrossSectionUUMinus() { +} + +DVCSCrossSectionUUMinus* DVCSCrossSectionUUMinus::clone() const { + return new DVCSCrossSectionUUMinus(*this); +} + +double DVCSCrossSectionUUMinus::computePhiObservable(double phi) { + + double result = 0.; + + double A = m_pProcessModule->computeCrossSection(1., -1, + NumA::Vector3D(0., 0., 0.), phi); + + double B = m_pProcessModule->computeCrossSection(-1., -1, + NumA::Vector3D(0., 0., 0.), phi); + + result = (A + B) / 2.; + + //integrate over transversely polarized target dependence to obtain 4-fold differential cross-section + result *= 2 * Constant::PI; + + //change to nb + result *= Constant::CONV_GEVm2_TO_NBARN; + + return result; +} diff --git a/src/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.cpp b/src/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.cpp new file mode 100644 index 00000000..a88cbe5d --- /dev/null +++ b/src/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.cpp @@ -0,0 +1,52 @@ +#include "../../../../../../include/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.h" + +#include + +#include "../../../../../../include/partons/beans/observable/ObservableChannel.h" +#include "../../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../../include/partons/modules/ProcessModule.h" + +const unsigned int DVCSCrossSectionDifferenceLUMinus::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new DVCSCrossSectionDifferenceLUMinus( + "DVCSCrossSectionDifferenceLUMinus")); + +DVCSCrossSectionDifferenceLUMinus::DVCSCrossSectionDifferenceLUMinus( + const std::string &className) : + Observable(className) { + m_channel = ObservableChannel::DVCS; +} + +DVCSCrossSectionDifferenceLUMinus::DVCSCrossSectionDifferenceLUMinus( + const DVCSCrossSectionDifferenceLUMinus& other) : + Observable(other) { +} + +DVCSCrossSectionDifferenceLUMinus::~DVCSCrossSectionDifferenceLUMinus() { +} + +DVCSCrossSectionDifferenceLUMinus* DVCSCrossSectionDifferenceLUMinus::clone() const { + return new DVCSCrossSectionDifferenceLUMinus(*this); +} + +double DVCSCrossSectionDifferenceLUMinus::computePhiObservable(double phi) { + + double result = 0.; + + double A = m_pProcessModule->computeCrossSection(1., -1, + NumA::Vector3D(0., 0., 0.), phi); + + double B = m_pProcessModule->computeCrossSection(-1., -1, + NumA::Vector3D(0., 0., 0.), phi); + + result = 0.5 * (A - B); + + //integrate over transversely polarized target dependence to obtain 4-fold differential cross-section + result *= 2 * Constant::PI; + + //change to nb + result *= Constant::CONV_GEVm2_TO_NBARN; + + return result; +} diff --git a/src/partons/modules/observable/PhiIntegratedCrossSection.cpp b/src/partons/modules/observable/PhiIntegratedCrossSection.cpp deleted file mode 100644 index 48366f4d..00000000 --- a/src/partons/modules/observable/PhiIntegratedCrossSection.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "../../../../include/partons/modules/observable/PhiIntegratedCrossSection.h" - -#include -#include -#include -#include - -#include "../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../include/partons/beans/observable/ObservableType.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int PhiIntegratedCrossSection::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new PhiIntegratedCrossSection("PhiIntegratedCrossSection")); - -PhiIntegratedCrossSection::PhiIntegratedCrossSection(const std::string &className) : - CrossSectionObservable(className), MathIntegratorModule(), m_pFunctionToIntegrateObservable( - 0) { - - m_observableType = ObservableType::FOURIER; - m_channel = ObservableChannel::DVCS; - - setIntegrator(NumA::IntegratorType1D::DEXP); - - initFunctorsForIntegrations(); -} - -PhiIntegratedCrossSection::PhiIntegratedCrossSection(const PhiIntegratedCrossSection& other) : - CrossSectionObservable(other), MathIntegratorModule(other) { - - m_pFunctionToIntegrateObservable = 0; - - initFunctorsForIntegrations(); -} - -PhiIntegratedCrossSection::~PhiIntegratedCrossSection() { - if (m_pFunctionToIntegrateObservable) { - delete m_pFunctionToIntegrateObservable; - m_pFunctionToIntegrateObservable = 0; - } -} - -void PhiIntegratedCrossSection::initFunctorsForIntegrations() { - m_pFunctionToIntegrateObservable = - NumA::Integrator1D::newIntegrationFunctor(this, - &PhiIntegratedCrossSection::functionToIntegrateObservable); -} - -PhiIntegratedCrossSection* PhiIntegratedCrossSection::clone() const { - return new PhiIntegratedCrossSection(*this); -} - -double PhiIntegratedCrossSection::functionToIntegrateObservable(double x, - std::vector params) { - return CrossSectionObservable::computePhiObservable(x); -} - -double PhiIntegratedCrossSection::computeFourierObservable() { - std::vector emptyParameters; - - return integrate(m_pFunctionToIntegrateObservable, 0., (2 * Constant::PI), - emptyParameters); -} -- GitLab From a33a0f2a65580c1f14c902e6b92f30331f32a9c6 Mon Sep 17 00:00:00 2001 From: Pawel Sznajder Date: Fri, 30 Jun 2017 07:20:10 -0400 Subject: [PATCH 2/5] Rename all non-observable modules #13 With this commit all modules are renamed to the proposed scheme. Some work is still needed to propagate the changes (documentation and other projects) --- ...onExample.h => ActiveFlavorsQuarkMasses.h} | 20 +- ...aStrong.h => RunningAlphaStrongStandard.h} | 20 +- ...CSConstantCFFModel.h => DVCSCFFConstant.h} | 20 +- ...ionModel.h => DVCSCFFDispersionRelation.h} | 20 +- ...FHeavyQuarkModel.h => DVCSCFFHeavyQuark.h} | 22 +- .../{DVCSCFFModel.h => DVCSCFFStandard.h} | 20 +- .../DVCS/{DVCSCFFVGGModel.h => DVCSCFFVGG.h} | 20 +- .../modules/gpd/{GK11Model.h => GPDGK11.h} | 20 +- .../{GK11Gluonless.h => GPDGK11Gluonless.h} | 20 +- ...{GK11ModelNoGluons.h => GPDGK11NoGluons.h} | 18 +- ...{GK11NoQuarksModel.h => GPDGK11NoQuarks.h} | 20 +- ...1ModelOnlyGluons.h => GPDGK11OnlyGluons.h} | 20 +- .../modules/gpd/{GK16Model.h => GPDGK16.h} | 20 +- ...K16NumericalModel.h => GPDGK16Numerical.h} | 20 +- .../gpd/{GK16ModelTest.h => GPDGK16Test.h} | 20 +- .../modules/gpd/{MMS13Model.h => GPDMMS13.h} | 20 +- .../gpd/{MPSSW13Model.h => GPDMPSSW13.h} | 20 +- ...13ModelNoGluons.h => GPDMPSSW13NoGluons.h} | 18 +- ...WithDTermModel.h => GPDMPSSW13WithDTerm.h} | 20 +- .../modules/gpd/{VGGModel.h => GPDVGG99.h} | 20 +- .../gpd/{VinnikovModel.h => GPDVinnikov06.h} | 22 +- ...unctionModel.h => GPDBorderFunctionKM10.h} | 20 +- ...ntModel.h => GPDSubtractionConstantKM10.h} | 20 +- ...tModel.h => GPDSubtractionConstantMMS13.h} | 22 +- .../{BMJ2012Model.h => DVCSProcessBMJ12.h} | 20 +- ...MJ2012DVCSModel.h => DVCSProcessBMJ12BH.h} | 20 +- ...MJ2012BHModel.h => DVCSProcessBMJ12DVCS.h} | 20 +- ...MJ2012INTModel.h => DVCSProcessBMJ12INT.h} | 20 +- .../DVCS/{GV2008Model.h => DVCSProcessGV08.h} | 20 +- .../{VGG1999Model.h => DVCSProcessVGG99.h} | 20 +- .../{Q2Multiplier.h => ScaleQ2Multiplier.h} | 24 +- .../{XBToXi.h => XiConverterXBToXi.h} | 20 +- ...ample.cpp => ActiveFlavorsQuarkMasses.cpp} | 21 +- ...ong.cpp => RunningAlphaStrongStandard.cpp} | 41 ++-- ...nstantCFFModel.cpp => DVCSCFFConstant.cpp} | 99 ++++---- ...odel.cpp => DVCSCFFDispersionRelation.cpp} | 60 ++--- ...vyQuarkModel.cpp => DVCSCFFHeavyQuark.cpp} | 63 +++-- .../{DVCSCFFModel.cpp => DVCSCFFStandard.cpp} | 104 ++++---- .../{DVCSCFFVGGModel.cpp => DVCSCFFVGG.cpp} | 60 ++--- .../DVCS/DVCSConvolCoeffFunctionModule.cpp | 8 +- .../modules/evolution/GPDEvolutionModule.cpp | 10 +- .../gpd/{GK11Model.cpp => GPDGK11.cpp} | 199 ++++++++-------- ...GK11Gluonless.cpp => GPDGK11Gluonless.cpp} | 199 ++++++++-------- ...1ModelNoGluons.cpp => GPDGK11NoGluons.cpp} | 37 ++- ...1NoQuarksModel.cpp => GPDGK11NoQuarks.cpp} | 29 ++- ...elOnlyGluons.cpp => GPDGK11OnlyGluons.cpp} | 199 ++++++++-------- .../gpd/{GK16Model.cpp => GPDGK16.cpp} | 199 ++++++++-------- ...umericalModel.cpp => GPDGK16Numerical.cpp} | 224 +++++++++--------- .../{GK16ModelTest.cpp => GPDGK16Test.cpp} | 199 ++++++++-------- .../gpd/{MMS13Model.cpp => GPDMMS13.cpp} | 75 +++--- .../gpd/{MPSSW13Model.cpp => GPDMPSSW13.cpp} | 155 ++++++------ ...delNoGluons.cpp => GPDMPSSW13NoGluons.cpp} | 31 ++- ...DTermModel.cpp => GPDMPSSW13WithDTerm.cpp} | 155 ++++++------ .../gpd/{VGGModel.cpp => GPDVGG99.cpp} | 101 ++++---- .../{VinnikovModel.cpp => GPDVinnikov06.cpp} | 105 ++++---- ...ionModel.cpp => GPDBorderFunctionKM10.cpp} | 31 ++- ...del.cpp => GPDSubtractionConstantKM10.cpp} | 25 +- ...el.cpp => GPDSubtractionConstantMMS13.cpp} | 41 ++-- ...2012DVCSModel.cpp => DVCSProcessBMJ12.cpp} | 69 +++--- ...2012BHModel.cpp => DVCSProcessBMJ12BH.cpp} | 63 +++-- ...2012Model.cpp => DVCSProcessBMJ12DVCS.cpp} | 69 +++--- ...12INTModel.cpp => DVCSProcessBMJ12INT.cpp} | 63 +++-- .../{GV2008Model.cpp => DVCSProcessGV08.cpp} | 45 ++-- ...{VGG1999Model.cpp => DVCSProcessVGG99.cpp} | 89 ++++--- src/partons/modules/process/DVCSModule.cpp | 12 +- src/partons/modules/scale/Q2Multiplier.cpp | 61 ----- .../modules/scale/ScaleQ2Multiplier.cpp | 60 +++++ src/partons/modules/xb_to_xi/XBToXi.cpp | 39 --- .../modules/xb_to_xi/XiConverterXBToXi.cpp | 38 +++ 69 files changed, 1848 insertions(+), 1876 deletions(-) rename include/partons/modules/active_flavors/{NfFunctionExample.h => ActiveFlavorsQuarkMasses.h} (74%) rename include/partons/modules/alphaS/{RunningAlphaStrong.h => RunningAlphaStrongStandard.h} (85%) rename include/partons/modules/convol_coeff_function/DVCS/{DVCSConstantCFFModel.h => DVCSCFFConstant.h} (88%) rename include/partons/modules/convol_coeff_function/DVCS/{DVCSCFFDispersionRelationModel.h => DVCSCFFDispersionRelation.h} (83%) rename include/partons/modules/convol_coeff_function/DVCS/{DVCSCFFHeavyQuarkModel.h => DVCSCFFHeavyQuark.h} (80%) rename include/partons/modules/convol_coeff_function/DVCS/{DVCSCFFModel.h => DVCSCFFStandard.h} (92%) rename include/partons/modules/convol_coeff_function/DVCS/{DVCSCFFVGGModel.h => DVCSCFFVGG.h} (86%) rename include/partons/modules/gpd/{GK11Model.h => GPDGK11.h} (97%) rename include/partons/modules/gpd/{GK11Gluonless.h => GPDGK11Gluonless.h} (96%) rename include/partons/modules/gpd/{GK11ModelNoGluons.h => GPDGK11NoGluons.h} (64%) rename include/partons/modules/gpd/{GK11NoQuarksModel.h => GPDGK11NoQuarks.h} (70%) rename include/partons/modules/gpd/{GK11ModelOnlyGluons.h => GPDGK11OnlyGluons.h} (95%) rename include/partons/modules/gpd/{GK16Model.h => GPDGK16.h} (97%) rename include/partons/modules/gpd/{GK16NumericalModel.h => GPDGK16Numerical.h} (95%) rename include/partons/modules/gpd/{GK16ModelTest.h => GPDGK16Test.h} (96%) rename include/partons/modules/gpd/{MMS13Model.h => GPDMMS13.h} (93%) rename include/partons/modules/gpd/{MPSSW13Model.h => GPDMPSSW13.h} (96%) rename include/partons/modules/gpd/{MPSSW13ModelNoGluons.h => GPDMPSSW13NoGluons.h} (57%) rename include/partons/modules/gpd/{MPSSW13WithDTermModel.h => GPDMPSSW13WithDTerm.h} (96%) rename include/partons/modules/gpd/{VGGModel.h => GPDVGG99.h} (96%) rename include/partons/modules/gpd/{VinnikovModel.h => GPDVinnikov06.h} (95%) rename include/partons/modules/gpd_border_function/{KM10BorderFunctionModel.h => GPDBorderFunctionKM10.h} (81%) rename include/partons/modules/gpd_subtraction_constant/{KM10SubtractionConstantModel.h => GPDSubtractionConstantKM10.h} (64%) rename include/partons/modules/gpd_subtraction_constant/{MMS13SubtractionConstantModel.h => GPDSubtractionConstantMMS13.h} (69%) rename include/partons/modules/process/DVCS/{BMJ2012Model.h => DVCSProcessBMJ12.h} (95%) rename include/partons/modules/process/DVCS/{BMJ2012DVCSModel.h => DVCSProcessBMJ12BH.h} (94%) rename include/partons/modules/process/DVCS/{BMJ2012BHModel.h => DVCSProcessBMJ12DVCS.h} (94%) rename include/partons/modules/process/DVCS/{BMJ2012INTModel.h => DVCSProcessBMJ12INT.h} (94%) rename include/partons/modules/process/DVCS/{GV2008Model.h => DVCSProcessGV08.h} (95%) rename include/partons/modules/process/DVCS/{VGG1999Model.h => DVCSProcessVGG99.h} (96%) rename include/partons/modules/scale/{Q2Multiplier.h => ScaleQ2Multiplier.h} (71%) rename include/partons/modules/xb_to_xi/{XBToXi.h => XiConverterXBToXi.h} (71%) rename src/partons/modules/active_flavors/{NfFunctionExample.cpp => ActiveFlavorsQuarkMasses.cpp} (65%) rename src/partons/modules/alphaS/{RunningAlphaStrong.cpp => RunningAlphaStrongStandard.cpp} (88%) rename src/partons/modules/convol_coeff_function/DVCS/{DVCSConstantCFFModel.cpp => DVCSCFFConstant.cpp} (68%) rename src/partons/modules/convol_coeff_function/DVCS/{DVCSCFFDispersionRelationModel.cpp => DVCSCFFDispersionRelation.cpp} (83%) rename src/partons/modules/convol_coeff_function/DVCS/{DVCSCFFHeavyQuarkModel.cpp => DVCSCFFHeavyQuark.cpp} (84%) rename src/partons/modules/convol_coeff_function/DVCS/{DVCSCFFModel.cpp => DVCSCFFStandard.cpp} (92%) rename src/partons/modules/convol_coeff_function/DVCS/{DVCSCFFVGGModel.cpp => DVCSCFFVGG.cpp} (82%) rename src/partons/modules/gpd/{GK11Model.cpp => GPDGK11.cpp} (92%) rename src/partons/modules/gpd/{GK11Gluonless.cpp => GPDGK11Gluonless.cpp} (91%) rename src/partons/modules/gpd/{GK11ModelNoGluons.cpp => GPDGK11NoGluons.cpp} (76%) rename src/partons/modules/gpd/{GK11NoQuarksModel.cpp => GPDGK11NoQuarks.cpp} (77%) rename src/partons/modules/gpd/{GK11ModelOnlyGluons.cpp => GPDGK11OnlyGluons.cpp} (90%) rename src/partons/modules/gpd/{GK16Model.cpp => GPDGK16.cpp} (92%) rename src/partons/modules/gpd/{GK16NumericalModel.cpp => GPDGK16Numerical.cpp} (85%) rename src/partons/modules/gpd/{GK16ModelTest.cpp => GPDGK16Test.cpp} (91%) rename src/partons/modules/gpd/{MMS13Model.cpp => GPDMMS13.cpp} (84%) rename src/partons/modules/gpd/{MPSSW13Model.cpp => GPDMPSSW13.cpp} (90%) rename src/partons/modules/gpd/{MPSSW13ModelNoGluons.cpp => GPDMPSSW13NoGluons.cpp} (68%) rename src/partons/modules/gpd/{MPSSW13WithDTermModel.cpp => GPDMPSSW13WithDTerm.cpp} (89%) rename src/partons/modules/gpd/{VGGModel.cpp => GPDVGG99.cpp} (90%) rename src/partons/modules/gpd/{VinnikovModel.cpp => GPDVinnikov06.cpp} (90%) rename src/partons/modules/gpd_border_function/{KM10BorderFunctionModel.cpp => GPDBorderFunctionKM10.cpp} (84%) rename src/partons/modules/gpd_subtraction_constant/{KM10SubtractionConstantModel.cpp => GPDSubtractionConstantKM10.cpp} (59%) rename src/partons/modules/gpd_subtraction_constant/{MMS13SubtractionConstantModel.cpp => GPDSubtractionConstantMMS13.cpp} (62%) rename src/partons/modules/process/DVCS/{BMJ2012DVCSModel.cpp => DVCSProcessBMJ12.cpp} (96%) rename src/partons/modules/process/DVCS/{BMJ2012BHModel.cpp => DVCSProcessBMJ12BH.cpp} (96%) rename src/partons/modules/process/DVCS/{BMJ2012Model.cpp => DVCSProcessBMJ12DVCS.cpp} (96%) rename src/partons/modules/process/DVCS/{BMJ2012INTModel.cpp => DVCSProcessBMJ12INT.cpp} (96%) rename src/partons/modules/process/DVCS/{GV2008Model.cpp => DVCSProcessGV08.cpp} (99%) rename src/partons/modules/process/DVCS/{VGG1999Model.cpp => DVCSProcessVGG99.cpp} (93%) delete mode 100644 src/partons/modules/scale/Q2Multiplier.cpp create mode 100644 src/partons/modules/scale/ScaleQ2Multiplier.cpp delete mode 100644 src/partons/modules/xb_to_xi/XBToXi.cpp create mode 100644 src/partons/modules/xb_to_xi/XiConverterXBToXi.cpp diff --git a/include/partons/modules/active_flavors/NfFunctionExample.h b/include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h similarity index 74% rename from include/partons/modules/active_flavors/NfFunctionExample.h rename to include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h index 8fc7ccf4..b0dcb420 100644 --- a/include/partons/modules/active_flavors/NfFunctionExample.h +++ b/include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h @@ -1,8 +1,8 @@ -#ifndef NF_FUNCTIONEXAMPLE_H -#define NF_FUNCTIONEXAMPLE_H +#ifndef ACTIVEFLAVORSQUARKMASSES_H +#define ACTIVEFLAVORSQUARKMASSES_H /** - * @file NfFunctionExample.h + * @file ActiveFlavorsQuarkMasses.h * @author Bryan BERTHOU (SPhN / CEA Saclay) * @date 07 August 2015 * @version 1.0 @@ -13,7 +13,7 @@ #include "../ActiveFlavorsModule.h" /** - * @class NfFunctionExample + * @class ActiveFlavorsQuarkMasses * * @brief Number of active quark flavors intervals corresponding to quark masses. * @@ -28,7 +28,7 @@ 6 | QUARK_BOTTOM_MASS\f$^2\f$ | QUARK_TOP_MASS\f$^2\f$ * The quark masses are defined in `FundamentalPhysicalConstants.h` file. */ -class NfFunctionExample: public ActiveFlavorsModule { +class ActiveFlavorsQuarkMasses: public ActiveFlavorsModule { public: @@ -41,14 +41,14 @@ public: * Constructor. * @param className Name of this class. */ - NfFunctionExample(const std::string &className); + ActiveFlavorsQuarkMasses(const std::string &className); /** * Destructor. */ - virtual ~NfFunctionExample(); + virtual ~ActiveFlavorsQuarkMasses(); - virtual NfFunctionExample* clone() const; + virtual ActiveFlavorsQuarkMasses* clone() const; protected: @@ -56,10 +56,10 @@ protected: * Copy constructor. * @param other Object to be copied. */ - NfFunctionExample(const NfFunctionExample &other); + ActiveFlavorsQuarkMasses(const ActiveFlavorsQuarkMasses &other); virtual void initModule(); virtual void isModuleWellConfigured(); }; -#endif /* NF_FUNCTIONEXAMPLE_H */ +#endif /* ACTIVEFLAVORSQUARKMASSES_H */ diff --git a/include/partons/modules/alphaS/RunningAlphaStrong.h b/include/partons/modules/alphaS/RunningAlphaStrongStandard.h similarity index 85% rename from include/partons/modules/alphaS/RunningAlphaStrong.h rename to include/partons/modules/alphaS/RunningAlphaStrongStandard.h index f6199241..367b494e 100644 --- a/include/partons/modules/alphaS/RunningAlphaStrong.h +++ b/include/partons/modules/alphaS/RunningAlphaStrongStandard.h @@ -1,12 +1,12 @@ /** - * @file RunningAlphaStrong.h + * @file RunningAlphaStrongStandard.h * @author Bryan BERTHOU (SPhN / CEA Saclay) * @date July 13th, 2011. * @version 1.0 */ -#ifndef RUNNING_ALPHA_STRONG_H -#define RUNNING_ALPHA_STRONG_H +#ifndef RUNNINGALPHASTRONGSTANDARD_H +#define RUNNINGALPHASTRONGSTANDARD_H #include #include @@ -14,7 +14,7 @@ #include "../RunningAlphaStrongModule.h" /*! - * \class RunningAlphaStrong + * \class RunningAlphaStrongStandard * * \brief Evaluation of the strong running coupling constant in the \f$\overline{MS}\f$ scheme. * @@ -28,7 +28,7 @@ * Note 2: The convention for the QCD beta function is the following:
* \f$\frac{d \alpha_{s}(n_{f})}{d \ln(\mu^2)} = \beta ( \alpha_{s} ) = - \sum_{n=1}^\infty \beta_{n-1} \times ( \alpha_{s} / \pi )^{(n+1)}\f$ */ -class RunningAlphaStrong: public RunningAlphaStrongModule { +class RunningAlphaStrongStandard: public RunningAlphaStrongModule { public: @@ -41,14 +41,14 @@ public: * Constructor. * @param className Name of class. */ - RunningAlphaStrong(const std::string &className); + RunningAlphaStrongStandard(const std::string &className); - virtual RunningAlphaStrong* clone() const; + virtual RunningAlphaStrongStandard* clone() const; /** * Destructor. */ - virtual ~RunningAlphaStrong(); + virtual ~RunningAlphaStrongStandard(); virtual double compute(); @@ -63,7 +63,7 @@ protected: * Copy constructor. * @param other Object to be copied. */ - RunningAlphaStrong(const RunningAlphaStrong &other); + RunningAlphaStrongStandard(const RunningAlphaStrongStandard &other); virtual void initModule(); virtual void isModuleWellConfigured(); @@ -116,5 +116,5 @@ private: double fAlphaS; ///< Current value of strong coupling. }; -#endif /* RUNNING_ALPHA_STRONG_H */ +#endif /* RUNNINGALPHASTRONGSTANDARD_H */ diff --git a/include/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.h b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.h similarity index 88% rename from include/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.h rename to include/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.h index 3a183930..161c0f59 100644 --- a/include/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.h +++ b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.h @@ -1,8 +1,8 @@ -#ifndef DVCS_CONSTANT_CFF_MODULE_H -#define DVCS_CONSTANT_CFF_MODULE_H +#ifndef DVCSCFFCONSTANT_H +#define DVCSCFFCONSTANT_H /** - * @file DVCSConstantCFFModel.h + * @file DVCSCFFConstant.h * @author Nabil CHOUIKA (SPhN / CEA Saclay) * @author Pawel Sznajder (IPNO) * @date 09 November 2014 @@ -19,11 +19,11 @@ #include "DVCSConvolCoeffFunctionModule.h" /** - * @class DVCSConstantCFFModel + * @class DVCSCFFConstant * * Module to set CFF values via automation or via configure() function. */ -class DVCSConstantCFFModel: public DVCSConvolCoeffFunctionModule { +class DVCSCFFConstant: public DVCSConvolCoeffFunctionModule { public: @@ -45,14 +45,14 @@ public: * See BaseObject::BaseObject and ModuleObject::ModuleObject for more details. * @param className Name of last child class. */ - DVCSConstantCFFModel(const std::string &className); + DVCSCFFConstant(const std::string &className); - virtual DVCSConstantCFFModel* clone() const; + virtual DVCSCFFConstant* clone() const; /** * Default destructor. */ - virtual ~DVCSConstantCFFModel(); + virtual ~DVCSCFFConstant(); virtual void configure(const ElemUtils::Parameters ¶meters); virtual std::complex computeCFF(); @@ -87,7 +87,7 @@ protected: * Copy constructor. @param other Object to be copied. */ - DVCSConstantCFFModel(const DVCSConstantCFFModel &other); + DVCSCFFConstant(const DVCSCFFConstant &other); virtual void initModule(); virtual void isModuleWellConfigured(); @@ -116,4 +116,4 @@ private: std::map > m_CFFs; }; -#endif /* DVCS_CONSTANT_CFF_MODULE_H */ +#endif /* DVCSCFFCONSTANT_H */ diff --git a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelationModel.h b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelation.h similarity index 83% rename from include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelationModel.h rename to include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelation.h index a9bbffd0..c24dbbb1 100644 --- a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelationModel.h +++ b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelation.h @@ -1,8 +1,8 @@ -#ifndef DVCSCFFDISPERSIONRELATIONMODEL_H_ -#define DVCSCFFDISPERSIONRELATIONMODEL_H_ +#ifndef DVCSCFFDISPERSIONRELATION_H +#define DVCSCFFDISPERSIONRELATION_H /** - * @file DVCSCFFDispersionRelationModel.h + * @file DVCSCFFDispersionRelation.h * @author Pawel Sznajder (IPNO) * @date Oct 17, 2016 * @version 1.0 @@ -24,11 +24,11 @@ class FunctionType1D; } /** - * @class DVCSCFFDispersionRelationModel + * @class DVCSCFFDispersionRelation * * Dispersion relation DVCS/CFF model. TODO: Add description. */ -class DVCSCFFDispersionRelationModel: public DVCSConvolCoeffFunctionModule { +class DVCSCFFDispersionRelation: public DVCSConvolCoeffFunctionModule { public: @@ -40,14 +40,14 @@ public: * See BaseObject::BaseObject and ModuleObject::ModuleObject for more details. * @param className Name of last child class. */ - DVCSCFFDispersionRelationModel(const std::string &className); + DVCSCFFDispersionRelation(const std::string &className); /** * Destructor. */ - virtual ~DVCSCFFDispersionRelationModel(); + virtual ~DVCSCFFDispersionRelation(); - virtual DVCSCFFDispersionRelationModel* clone() const; + virtual DVCSCFFDispersionRelation* clone() const; virtual void resolveObjectDependencies(); virtual void configure(const ElemUtils::Parameters ¶meters); virtual void prepareSubModules( @@ -70,7 +70,7 @@ protected: /** Copy constructor. * @param other Object to be copied. */ - DVCSCFFDispersionRelationModel(const DVCSCFFDispersionRelationModel &other); + DVCSCFFDispersionRelation(const DVCSCFFDispersionRelation &other); virtual void initModule(); virtual void isModuleWellConfigured(); @@ -113,4 +113,4 @@ private: GPDSubtractionConstantModule* m_pSubtractionConstantModule; ///< Subtraction constant module. }; -#endif /* DVCSCFFDISPERSIONRELATIONMODEL_H_ */ +#endif /* DVCSCFFDISPERSIONRELATION_H */ diff --git a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuarkModel.h b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuark.h similarity index 80% rename from include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuarkModel.h rename to include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuark.h index b69aa0bb..e60425c8 100644 --- a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuarkModel.h +++ b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuark.h @@ -1,8 +1,8 @@ -#ifndef DVCS_CFF_HEAVY_QUARK_MODEL_H -#define DVCS_CFF_HEAVY_QUARK_MODEL_H +#ifndef DVCSCFFHEAVYQUARK_H +#define DVCSCFFHEAVYQUARK_H /** - * @file DVCSCFFHeavyQuarkModel.h + * @file DVCSCFFHeavyQuark.h * @author jakub * @date 11 February 2015 * @version 1.0 @@ -12,16 +12,16 @@ #include #include -#include "DVCSCFFModel.h" +#include "DVCSCFFStandard.h" /** - * @class DVCSCFFHeavyQuarkModel + * @class DVCSCFFHeavyQuark * * TODO: Add description. * * Available CFF types: H, E, Ht, Et. */ -class DVCSCFFHeavyQuarkModel: public DVCSCFFModel { +class DVCSCFFHeavyQuark: public DVCSCFFStandard { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -32,14 +32,14 @@ public: * See BaseObject::BaseObject and ModuleObject::ModuleObject for more details. * @param className Name of last child class. */ - DVCSCFFHeavyQuarkModel(const std::string &className); + DVCSCFFHeavyQuark(const std::string &className); - virtual DVCSCFFHeavyQuarkModel* clone() const; + virtual DVCSCFFHeavyQuark* clone() const; /** * Default destructor. */ - virtual ~DVCSCFFHeavyQuarkModel(); + virtual ~DVCSCFFHeavyQuark(); virtual void resolveObjectDependencies(); @@ -48,7 +48,7 @@ protected: * Copy constructor * @param other */ - DVCSCFFHeavyQuarkModel(const DVCSCFFHeavyQuarkModel &other); + DVCSCFFHeavyQuark(const DVCSCFFHeavyQuark &other); // virtual void initModule(); // virtual void isModuleWellConfigured(); @@ -83,4 +83,4 @@ private: void initFunctorsForIntegrations(); ///< Initialize functors. }; -#endif /* DVCS_CFF_HEAVY_QUARK_MODEL_H */ +#endif /* DVCSCFFHEAVYQUARK_H */ diff --git a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFModel.h b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.h similarity index 92% rename from include/partons/modules/convol_coeff_function/DVCS/DVCSCFFModel.h rename to include/partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.h index e1e13a93..bf79a490 100644 --- a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFModel.h +++ b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.h @@ -1,8 +1,8 @@ -#ifndef DVCS_CFF_MODULE_H -#define DVCS_CFF_MODULE_H +#ifndef DVCSCFFSTANDARD_H +#define DVCSCFFSTANDARD_H /** - * @file DVCSCFFModel.h + * @file DVCSCFFStandard.h * @author Bryan BERTHOU (SPhN / CEA Saclay) * @author Hervé MOUTARDE (SPhN / CEA Saclay) * @date September 08, 2014 @@ -22,13 +22,13 @@ class FunctionType1D; class PartonDistribution; /** - * @class DVCSCFFModel + * @class DVCSCFFStandard * * TODO: Add description. * * Available CFF types: H, E, Ht, Et. */ -class DVCSCFFModel: public DVCSConvolCoeffFunctionModule { +class DVCSCFFStandard: public DVCSConvolCoeffFunctionModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -38,14 +38,14 @@ public: * See BaseObject::BaseObject and ModuleObject::ModuleObject for more details. * @param className Name of last child class. */ - DVCSCFFModel(const std::string &className); + DVCSCFFStandard(const std::string &className); - virtual DVCSCFFModel* clone() const; + virtual DVCSCFFStandard* clone() const; /** * Default destructor. */ - virtual ~DVCSCFFModel(); + virtual ~DVCSCFFStandard(); virtual void resolveObjectDependencies(); @@ -56,7 +56,7 @@ protected: * Copy constructor. * @param other */ - DVCSCFFModel(const DVCSCFFModel &other); + DVCSCFFStandard(const DVCSCFFStandard &other); double m_logQ2OverMu2; @@ -134,4 +134,4 @@ private: void initFunctorsForIntegrations(); ///< Initialize functors. }; -#endif /* DVCS_CFF_MODULE_H */ +#endif /* DVCSCFFSTANDARD_H */ diff --git a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGGModel.h b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGG.h similarity index 86% rename from include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGGModel.h rename to include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGG.h index 5a96b8f6..edbc2cda 100644 --- a/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGGModel.h +++ b/include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGG.h @@ -1,8 +1,8 @@ -#ifndef DVCSCFFVGGMODEL_H_ -#define DVCSCFFVGGMODEL_H_ +#ifndef DVCSCFFVGG_H +#define DVCSCFFVGG_H /** - * @file DVCSCFFVGGModel.h + * @file DVCSCFFVGG.h * @author Pawel Sznajder (IPNO) * @author Michel Guidal (IPNO) * @date Dec 20, 2015 @@ -22,7 +22,7 @@ class FunctionType1D; } /** - * @class DVCSCFFVGGModel + * @class DVCSCFFVGG * * VGG DVCS/CFF model. * @@ -31,7 +31,7 @@ class FunctionType1D; * * Available CFF types: H, E, Ht, Et. */ -class DVCSCFFVGGModel: public DVCSConvolCoeffFunctionModule { +class DVCSCFFVGG: public DVCSConvolCoeffFunctionModule { public: @@ -45,13 +45,13 @@ public: * See BaseObject::BaseObject and ModuleObject::ModuleObject for more details. * @param className Name of last child class. */ - DVCSCFFVGGModel(const std::string &className); ///< constructor + DVCSCFFVGG(const std::string &className); ///< constructor - virtual DVCSCFFVGGModel* clone() const; + virtual DVCSCFFVGG* clone() const; /** * Default destructor. */ - virtual ~DVCSCFFVGGModel(); + virtual ~DVCSCFFVGG(); virtual void resolveObjectDependencies(); virtual void configure(const ElemUtils::Parameters ¶meters); @@ -60,7 +60,7 @@ protected: /** Copy constructor. @param other Object to be copied. */ - DVCSCFFVGGModel(const DVCSCFFVGGModel &other); ///< copy constructor + DVCSCFFVGG(const DVCSCFFVGG &other); ///< copy constructor virtual void initModule(); virtual void isModuleWellConfigured(); @@ -111,4 +111,4 @@ private: void initFunctorsForIntegrations(); }; -#endif /* DVCSCFFVGGMODEL_H_ */ +#endif /* DVCSCFFVGG_H */ diff --git a/include/partons/modules/gpd/GK11Model.h b/include/partons/modules/gpd/GPDGK11.h similarity index 97% rename from include/partons/modules/gpd/GK11Model.h rename to include/partons/modules/gpd/GPDGK11.h index b222f95a..29b5650e 100644 --- a/include/partons/modules/gpd/GK11Model.h +++ b/include/partons/modules/gpd/GPDGK11.h @@ -1,8 +1,8 @@ -#ifndef GK11_MODEL_H -#define GK11_MODEL_H +#ifndef GPDGK11_H +#define GPDGK11_H /** - * @file GK11Model.h + * @file GPDGK11.h * @author Bryan BERTHOU (CEA Saclay) * @author Herve MOUTARDE (CEA Saclay) * @date 2014 @@ -19,7 +19,7 @@ // !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) /** - * @class GK11Model + * @class GPDGK11 * * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. * @@ -38,7 +38,7 @@ * * August 2015 : Tested and approved by Pawel Sznajder. */ -class GK11Model: public GPDModule { +class GPDGK11: public GPDModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -49,14 +49,14 @@ public: * * @param className name of child class. */ - GK11Model(const std::string &className); + GPDGK11(const std::string &className); /** * Default destructor. */ - virtual ~GK11Model(); + virtual ~GPDGK11(); - virtual GK11Model* clone() const; + virtual GPDGK11* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -129,7 +129,7 @@ protected: * * @param other */ - GK11Model(const GK11Model& other); + GPDGK11(const GPDGK11& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -242,4 +242,4 @@ private: }; -#endif /* GK11_MODEL_H */ +#endif /* GPDGK11_H */ diff --git a/include/partons/modules/gpd/GK11Gluonless.h b/include/partons/modules/gpd/GPDGK11Gluonless.h similarity index 96% rename from include/partons/modules/gpd/GK11Gluonless.h rename to include/partons/modules/gpd/GPDGK11Gluonless.h index f742e27b..c4e78bae 100644 --- a/include/partons/modules/gpd/GK11Gluonless.h +++ b/include/partons/modules/gpd/GPDGK11Gluonless.h @@ -1,14 +1,14 @@ -#ifndef GK11_GLUONLESS_H -#define GK11_GLUONLESS_H +#ifndef GPDGK11GLUONLESS_H +#define GPDGK11GLUONLESS_H /** - * @file GK11Gluonless.h + * @file GPDGK11Gluonless.h * @author Bryan BERTHOU (CEA Saclay) * @author Herve MOUTARDE (CEA Saclay) * @date 2014 * @version 2.0 * - * @class GK11Gluonless + * @class GPDGK11Gluonless * * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. * @@ -26,7 +26,7 @@ //TODO finir les messages de debug dans toutes les fonctions //TODO supprimer au maximum les pointers qui ne sont pas obligatoires -class GK11Gluonless: public GPDModule { +class GPDGK11Gluonless: public GPDModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -35,14 +35,14 @@ public: * Default constructor */ // GK11Gluonless(); - GK11Gluonless(const std::string &className); + GPDGK11Gluonless(const std::string &className); /** * Default destructor */ - virtual ~GK11Gluonless(); + virtual ~GPDGK11Gluonless(); - virtual GK11Gluonless* clone() const; + virtual GPDGK11Gluonless* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -115,7 +115,7 @@ protected: * * @param other */ - GK11Gluonless(const GK11Gluonless& other); + GPDGK11Gluonless(const GPDGK11Gluonless& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -228,4 +228,4 @@ private: }; -#endif /* GK11_GLUONLESS_H */ +#endif /* GPDGK11GLUONLESS_H */ diff --git a/include/partons/modules/gpd/GK11ModelNoGluons.h b/include/partons/modules/gpd/GPDGK11NoGluons.h similarity index 64% rename from include/partons/modules/gpd/GK11ModelNoGluons.h rename to include/partons/modules/gpd/GPDGK11NoGluons.h index 2594e868..db5e31fc 100644 --- a/include/partons/modules/gpd/GK11ModelNoGluons.h +++ b/include/partons/modules/gpd/GPDGK11NoGluons.h @@ -1,12 +1,12 @@ /* - * GK11ModelNoGluons.h + * GPDGK11NoGluons.h * * Created on: Oct 5, 2015 * Author: Pawel Sznajder (NCBJ) */ -#ifndef GK11MODELNOGLUONS_H_ -#define GK11MODELNOGLUONS_H_ +#ifndef GPDGK11NOGLUONS_H +#define GPDGK11NOGLUONS_H #include @@ -14,17 +14,17 @@ class GPDService; -class GK11ModelNoGluons: public GPDModule { +class GPDGK11NoGluons: public GPDModule { public: static const unsigned int classId; - GK11ModelNoGluons(const std::string &className); + GPDGK11NoGluons(const std::string &className); - virtual ~GK11ModelNoGluons(); + virtual ~GPDGK11NoGluons(); - virtual GK11ModelNoGluons* clone() const; + virtual GPDGK11NoGluons* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -32,7 +32,7 @@ public: protected: - GK11ModelNoGluons(const GK11ModelNoGluons& other); + GPDGK11NoGluons(const GPDGK11NoGluons& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -48,4 +48,4 @@ private: GPDModule* GKmodel; }; -#endif /* GK11MODELNOGLUONS_H_ */ +#endif /* GPDGK11NOGLUONS_H */ diff --git a/include/partons/modules/gpd/GK11NoQuarksModel.h b/include/partons/modules/gpd/GPDGK11NoQuarks.h similarity index 70% rename from include/partons/modules/gpd/GK11NoQuarksModel.h rename to include/partons/modules/gpd/GPDGK11NoQuarks.h index f9b5847b..0d088a8d 100644 --- a/include/partons/modules/gpd/GK11NoQuarksModel.h +++ b/include/partons/modules/gpd/GPDGK11NoQuarks.h @@ -1,8 +1,8 @@ -#ifndef GK11_NO_QUARKS_MODEL_H -#define GK11_NO_QUARKS_MODEL_H +#ifndef GPDGK11NOQUARKS_H +#define GPDGK11NOQUARKS_H /** - * @file GK11NoQuarksModel.h + * @file GPDGK11NoQuarks.h * @author Jakub * @date 13 February 2015 * @version 1.0 @@ -14,21 +14,21 @@ #include -#include "GK11Model.h" +#include "GPDGK11.h" -class GK11NoQuarksModel: public GK11Model { +class GPDGK11NoQuarks: public GPDGK11 { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - GK11NoQuarksModel(const std::string &className); + GPDGK11NoQuarks(const std::string &className); - virtual ~GK11NoQuarksModel(); + virtual ~GPDGK11NoQuarks(); - virtual GK11NoQuarksModel* clone() const; + virtual GPDGK11NoQuarks* clone() const; protected: - GK11NoQuarksModel(const GK11NoQuarksModel& other); + GPDGK11NoQuarks(const GPDGK11NoQuarks& other); // virtual void isModuleWellConfigured(); // virtual void initModule(); @@ -45,4 +45,4 @@ protected: // const GPDQuarkFlavorData &quark_s); }; -#endif /* GK11_NO_QUARKS_MODEL_H */ +#endif /* GPDGK11NOQUARKS_H */ diff --git a/include/partons/modules/gpd/GK11ModelOnlyGluons.h b/include/partons/modules/gpd/GPDGK11OnlyGluons.h similarity index 95% rename from include/partons/modules/gpd/GK11ModelOnlyGluons.h rename to include/partons/modules/gpd/GPDGK11OnlyGluons.h index 20b82365..a63584f1 100644 --- a/include/partons/modules/gpd/GK11ModelOnlyGluons.h +++ b/include/partons/modules/gpd/GPDGK11OnlyGluons.h @@ -1,14 +1,14 @@ -#ifndef GK11_OG_MODEL_H -#define GK11_OG_MODEL_H +#ifndef GPDGK11ONLYGLUONS_H +#define GPDGK11ONLYGLUONS_H /** - * @file GKModelOnlyGluons.h + * @file GPDGK11OnlyGluons.h * @author Bryan BERTHOU (CEA Saclay) * @author Herve MOUTARDE (CEA Saclay) * @date 2014 * @version 2.0 * - * @class GK11ModelOnlyGluons + * @class GPDGK11OnlyGluons * * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. * @@ -26,7 +26,7 @@ //TODO finir les messages de debug dans toutes les fonctions //TODO supprimer au maximum les pointers qui ne sont pas obligatoires -class GK11ModelOnlyGluons: public GPDModule { +class GPDGK11OnlyGluons: public GPDModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -35,14 +35,14 @@ public: * Default constructor */ // GK11Model(); - GK11ModelOnlyGluons(const std::string &className); + GPDGK11OnlyGluons(const std::string &className); /** * Default destructor */ - virtual ~GK11ModelOnlyGluons(); + virtual ~GPDGK11OnlyGluons(); - virtual GK11ModelOnlyGluons* clone() const; + virtual GPDGK11OnlyGluons* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -115,7 +115,7 @@ protected: * * @param other */ - GK11ModelOnlyGluons(const GK11ModelOnlyGluons& other); + GPDGK11OnlyGluons(const GPDGK11OnlyGluons& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -228,4 +228,4 @@ private: }; -#endif /* GK11_OG_MODEL_H */ +#endif /* GPDGK11ONLYGLUONS_H */ diff --git a/include/partons/modules/gpd/GK16Model.h b/include/partons/modules/gpd/GPDGK16.h similarity index 97% rename from include/partons/modules/gpd/GK16Model.h rename to include/partons/modules/gpd/GPDGK16.h index 1156ded2..a5b4626f 100644 --- a/include/partons/modules/gpd/GK16Model.h +++ b/include/partons/modules/gpd/GPDGK16.h @@ -1,8 +1,8 @@ -#ifndef GK16_MODEL_H -#define GK16_MODEL_H +#ifndef GPDGK16_H +#define GPDGK16_H /** - * @file GK16Model.h + * @file GPDGK16.h * @author Bryan BERTHOU (CEA Saclay) * @author Herve MOUTARDE (CEA Saclay) * @date 2014 @@ -19,7 +19,7 @@ // !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) /** - * @class GK16Model + * @class GPDGK16 * * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. * @@ -41,7 +41,7 @@ * November 2016 : Update from GK11 to GK16 to correct pion pole issue in Et by Luca Colaneri and Pawel Sznajder. * */ -class GK16Model: public GPDModule { +class GPDGK16: public GPDModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -52,14 +52,14 @@ public: * * @param className name of child class. */ - GK16Model(const std::string &className); + GPDGK16(const std::string &className); /** * Default destructor. */ - virtual ~GK16Model(); + virtual ~GPDGK16(); - virtual GK16Model* clone() const; + virtual GPDGK16* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -132,7 +132,7 @@ protected: * * @param other */ - GK16Model(const GK16Model& other); + GPDGK16(const GPDGK16& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -245,4 +245,4 @@ private: }; -#endif /* GK16_MODEL_H */ +#endif /* GPDGK16_H */ diff --git a/include/partons/modules/gpd/GK16NumericalModel.h b/include/partons/modules/gpd/GPDGK16Numerical.h similarity index 95% rename from include/partons/modules/gpd/GK16NumericalModel.h rename to include/partons/modules/gpd/GPDGK16Numerical.h index 20713fb0..88c20aa1 100644 --- a/include/partons/modules/gpd/GK16NumericalModel.h +++ b/include/partons/modules/gpd/GPDGK16Numerical.h @@ -1,8 +1,8 @@ -#ifndef GK16NUMERICALMODEL_H_ -#define GK16NUMERICALMODEL_H_ +#ifndef GPDGK16NUMERICAL_H +#define GPDGK16NUMERICAL_H /** - * @file GK16NumericalModel.h + * @file GPDGK16Numerical.h * @author Bryan BERTHOU (CEA Saclay) * @author Herve MOUTARDE (CEA Saclay) * @author Luca COLANERI (IPNOrsay) @@ -19,7 +19,7 @@ //TODO supprimer au maximum les pointers qui ne sont pas obligatoires /** - * @class GK16NumericalModel + * @class GPDGK16Numerical * * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. * @@ -39,7 +39,7 @@ * May 2017 : Update to correct pion pole issue in Et as in GK16Model. * */ -class GK16NumericalModel: public GPDModule, public MathIntegratorModule { +class GPDGK16Numerical: public GPDModule, public MathIntegratorModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -50,14 +50,14 @@ public: * * @param className name of child class. */ - GK16NumericalModel(const std::string &className); + GPDGK16Numerical(const std::string &className); /** * Default destructor. */ - virtual ~GK16NumericalModel(); + virtual ~GPDGK16Numerical(); - virtual GK16NumericalModel* clone() const; + virtual GPDGK16Numerical* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -73,7 +73,7 @@ protected: * * @param other */ - GK16NumericalModel(const GK16NumericalModel& other); + GPDGK16Numerical(const GPDGK16Numerical& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -237,4 +237,4 @@ private: }; -#endif /* GK16NUMERICALMODEL_H_ */ +#endif /* GPDGK16NUMERICAL_H */ diff --git a/include/partons/modules/gpd/GK16ModelTest.h b/include/partons/modules/gpd/GPDGK16Test.h similarity index 96% rename from include/partons/modules/gpd/GK16ModelTest.h rename to include/partons/modules/gpd/GPDGK16Test.h index b01249de..51a5e018 100644 --- a/include/partons/modules/gpd/GK16ModelTest.h +++ b/include/partons/modules/gpd/GPDGK16Test.h @@ -1,14 +1,14 @@ -#ifndef GK16_MODELTEST_H -#define GK16_MODELTEST_H +#ifndef GPDGK16TEST_H +#define GPDGK16TEST_H /** - * @file GK16ModelTest.h + * @file GPDGK16Test.h * @author Bryan BERTHOU (CEA Saclay) * @author Herve MOUTARDE (CEA Saclay) * @date 2014 * @version 2.0 * - * @class GK16ModelTest + * @class GPDGK16Test * * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. * @@ -27,7 +27,7 @@ //TODO finir les messages de debug dans toutes les fonctions //TODO supprimer au maximum les pointers qui ne sont pas obligatoires -class GK16ModelTest: public GPDModule { +class GPDGK16Test: public GPDModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -36,14 +36,14 @@ public: * Default constructor */ // GK16ModelTest(); - GK16ModelTest(const std::string &className); + GPDGK16Test(const std::string &className); /** * Default destructor */ - virtual ~GK16ModelTest(); + virtual ~GPDGK16Test(); - virtual GK16ModelTest* clone() const; + virtual GPDGK16Test* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -116,7 +116,7 @@ protected: * * @param other */ - GK16ModelTest(const GK16ModelTest& other); + GPDGK16Test(const GPDGK16Test& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -229,4 +229,4 @@ private: }; -#endif /* GK16_MODELTEST_H */ +#endif /* GPDGK16TEST_H */ diff --git a/include/partons/modules/gpd/MMS13Model.h b/include/partons/modules/gpd/GPDMMS13.h similarity index 93% rename from include/partons/modules/gpd/MMS13Model.h rename to include/partons/modules/gpd/GPDMMS13.h index f51695bf..96a19f8a 100644 --- a/include/partons/modules/gpd/MMS13Model.h +++ b/include/partons/modules/gpd/GPDMMS13.h @@ -1,8 +1,8 @@ -#ifndef MMS13_MODEL_H -#define MMS13_MODEL_H +#ifndef GPDMMS13_H +#define GPDMMS13_H /** - * @file MMS13Model.h + * @file GPDMMS13.h * @author Pawel Sznajder (IPNO) * @date March 29, 2015 * @version 1.0 @@ -18,13 +18,13 @@ class MSTWPDF; /** - * @class MMS13Model + * @class GPDMMS13 * * Mezrag-Moutarde-Sabatié GPD model. For the reference, see arxiv:1304.7645 @cite Mezrag:2013mya. * * Available GPD types: H, E. */ -class MMS13Model: public GPDModule, public MathIntegratorModule { +class GPDMMS13: public GPDModule, public MathIntegratorModule { public: @@ -40,13 +40,13 @@ public: * * @param className name of child class. */ - MMS13Model(const std::string &className); + GPDMMS13(const std::string &className); /** * Default destructor. */ - virtual ~MMS13Model(); - virtual MMS13Model* clone() const; + virtual ~GPDMMS13(); + virtual GPDMMS13* clone() const; virtual void resolveObjectDependencies(); virtual void configure(const ElemUtils::Parameters ¶meters); virtual std::string toString() const; @@ -61,7 +61,7 @@ protected: /** Copy constructor. @param other Object to be copied. */ - MMS13Model(const MMS13Model& other); + GPDMMS13(const GPDMMS13& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -152,4 +152,4 @@ private: void initFunctorsForIntegrations(); }; -#endif /* MMS13_MODEL_H */ +#endif /* GPDMMS13_H */ diff --git a/include/partons/modules/gpd/MPSSW13Model.h b/include/partons/modules/gpd/GPDMPSSW13.h similarity index 96% rename from include/partons/modules/gpd/MPSSW13Model.h rename to include/partons/modules/gpd/GPDMPSSW13.h index 0682967c..8a158c7c 100644 --- a/include/partons/modules/gpd/MPSSW13Model.h +++ b/include/partons/modules/gpd/GPDMPSSW13.h @@ -1,8 +1,8 @@ -#ifndef MPSSW13_MODEL_H -#define MPSSW13_MODEL_H +#ifndef GPDMPSSW13_H +#define GPDMPSSW13_H /** - * @file MPSSW13Model.h + * @file GPDMPSSW13.h * @author Herve Moutarde (CEA/Irfu, Saclay) * @date November 11, 2014 * @version 1.0 @@ -20,7 +20,7 @@ class FunctionType1D; } /* namespace NumA */ /** - * @class MPSSW13Model + * @class GPDMPSSW13 * * Module based on the original code (TBDP class) received from H.\ Moutarde as a private communication. * @@ -28,7 +28,7 @@ class FunctionType1D; * * Available GPD types: H. */ -class MPSSW13Model: public GPDModule, public MathIntegratorModule { +class GPDMPSSW13: public GPDModule, public MathIntegratorModule { public: @@ -40,13 +40,13 @@ public: * * @param className name of child class. */ - MPSSW13Model(const std::string &className); + GPDMPSSW13(const std::string &className); /** * Default constructor. */ - virtual ~MPSSW13Model(); - virtual MPSSW13Model* clone() const; + virtual ~GPDMPSSW13(); + virtual GPDMPSSW13* clone() const; virtual void resolveObjectDependencies(); //TODO no configure //TODO no toString @@ -73,7 +73,7 @@ protected: /** Copy constructor @param other Object to be copied */ - MPSSW13Model(const MPSSW13Model& other); + GPDMPSSW13(const GPDMPSSW13& other); //TODO private isModuleWellConfigured? //TODO private initModule? @@ -297,4 +297,4 @@ private: void initFunctorsForIntegrations(); }; -#endif /* MPSSW13_H_ */ +#endif /* GPDMPSSW13_H */ diff --git a/include/partons/modules/gpd/MPSSW13ModelNoGluons.h b/include/partons/modules/gpd/GPDMPSSW13NoGluons.h similarity index 57% rename from include/partons/modules/gpd/MPSSW13ModelNoGluons.h rename to include/partons/modules/gpd/GPDMPSSW13NoGluons.h index bc9c29ad..2215bf3b 100644 --- a/include/partons/modules/gpd/MPSSW13ModelNoGluons.h +++ b/include/partons/modules/gpd/GPDMPSSW13NoGluons.h @@ -1,12 +1,12 @@ /* - * MPSSW13ModelNoGluons.h + * GPDMPSSW13NoGluons.h * * Created on: Oct 5, 2015 * Author: Pawel Sznajder (NCBJ) */ -#ifndef MPSSW13MODELNOGLUONS_H_ -#define MPSSW13MODELNOGLUONS_H_ +#ifndef GPDMPSSW13NOGLUONS_H +#define GPDMPSSW13NOGLUONS_H #include @@ -14,17 +14,17 @@ class GPDService; -class MPSSW13ModelNoGluons: public GPDModule { +class GPDMPSSW13NoGluons: public GPDModule { public: static const unsigned int classId; - MPSSW13ModelNoGluons(const std::string &className); + GPDMPSSW13NoGluons(const std::string &className); - virtual ~MPSSW13ModelNoGluons(); + virtual ~GPDMPSSW13NoGluons(); - virtual MPSSW13ModelNoGluons* clone() const; + virtual GPDMPSSW13NoGluons* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -32,7 +32,7 @@ public: protected: - MPSSW13ModelNoGluons(const MPSSW13ModelNoGluons& other); + GPDMPSSW13NoGluons(const GPDMPSSW13NoGluons& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -45,4 +45,4 @@ private: GPDModule* MPSSW13model; }; -#endif /* MPSSW13MODELNOGLUONS_H_ */ +#endif /* GPDMPSSW13NOGLUONS_H */ diff --git a/include/partons/modules/gpd/MPSSW13WithDTermModel.h b/include/partons/modules/gpd/GPDMPSSW13WithDTerm.h similarity index 96% rename from include/partons/modules/gpd/MPSSW13WithDTermModel.h rename to include/partons/modules/gpd/GPDMPSSW13WithDTerm.h index 0e7a464f..0c156305 100644 --- a/include/partons/modules/gpd/MPSSW13WithDTermModel.h +++ b/include/partons/modules/gpd/GPDMPSSW13WithDTerm.h @@ -1,8 +1,8 @@ -#ifndef MPSSW13WITHDTERM_MODEL_H -#define MPSSW13WITHDTERM_MODEL_H +#ifndef GPDMPSSW13WITHDTERM_H +#define GPDMPSSW13WITHDTERM_H /** - * @file VGGModel.h + * @file GPDMPSSW13WithDTerm.h * @author Herve Moutarde (CEA/Irfu, Saclay) * @date November 11, 2014 * @version 1.0 @@ -20,13 +20,13 @@ class FunctionType1D; } /* namespace NumA */ /** - * @class MPSSW13WithDTermModel + * @class GPDMPSSW13WithDTerm * * For the reference see hep-ph/1301.3819 * * Module based on the original code (TBDP class) received from H. Mutarde as a private communication */ -class MPSSW13WithDTermModel: public GPDModule, public MathIntegratorModule { +class GPDMPSSW13WithDTerm: public GPDModule, public MathIntegratorModule { public: @@ -35,10 +35,10 @@ public: /** Constructor @param className Name of this class */ - MPSSW13WithDTermModel(const std::string &className); + GPDMPSSW13WithDTerm(const std::string &className); - virtual ~MPSSW13WithDTermModel(); - virtual MPSSW13WithDTermModel* clone() const; + virtual ~GPDMPSSW13WithDTerm(); + virtual GPDMPSSW13WithDTerm* clone() const; virtual void resolveObjectDependencies(); //TODO no configure //TODO no toString @@ -65,7 +65,7 @@ protected: /** Copy constructor @param other Object to be copied */ - MPSSW13WithDTermModel(const MPSSW13WithDTermModel& other); + GPDMPSSW13WithDTerm(const GPDMPSSW13WithDTerm& other); //TODO private isModuleWellConfigured? //TODO private initModule? @@ -290,4 +290,4 @@ private: void initFunctorsForIntegrations(); }; -#endif /* MPSSW13WITHDTERM_MODEL_H */ +#endif /* GPDMPSSW13WITHDTERM_H */ diff --git a/include/partons/modules/gpd/VGGModel.h b/include/partons/modules/gpd/GPDVGG99.h similarity index 96% rename from include/partons/modules/gpd/VGGModel.h rename to include/partons/modules/gpd/GPDVGG99.h index 59ff7d5a..c06c5902 100644 --- a/include/partons/modules/gpd/VGGModel.h +++ b/include/partons/modules/gpd/GPDVGG99.h @@ -1,8 +1,8 @@ -#ifndef VGG_MODEL_H -#define VGG_MODEL_H +#ifndef GPDVGG99_H +#define GPDVGG99_H /** - * @file VGGModel.h + * @file GPDVGG99.h * @author Michel Guidal (IPNO) * @author Pawel Sznajder (IPNO) * @date December 10, 2015 @@ -23,7 +23,7 @@ class FunctionType1D; } /* namespace NumA */ /** - * @class VGGModel + * @class GPDVGG99 * * For the reference see: * - Prog. Part. Nucl. Phys. 47, 401 (2001) @@ -35,7 +35,7 @@ class FunctionType1D; * * Available GPD types: H, E, Ht, Et. */ -class VGGModel: public GPDModule, public MathIntegratorModule { +class GPDVGG99: public GPDModule, public MathIntegratorModule { public: @@ -47,13 +47,13 @@ public: * * @param className name of child class. */ - VGGModel(const std::string &className); + GPDVGG99(const std::string &className); /** * Default destructor. */ - virtual ~VGGModel(); - virtual VGGModel* clone() const; + virtual ~GPDVGG99(); + virtual GPDVGG99* clone() const; virtual void resolveObjectDependencies(); virtual void configure(const ElemUtils::Parameters ¶meters); virtual std::string toString() const; @@ -63,7 +63,7 @@ protected: /** Copy constructor @param other Object to be copied */ - VGGModel(const VGGModel& other); + GPDVGG99(const GPDVGG99& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -251,4 +251,4 @@ private: void initFunctorsForIntegrations(); }; -#endif /* VGG_MODEL_H */ +#endif /* GPDVGG99_H */ diff --git a/include/partons/modules/gpd/VinnikovModel.h b/include/partons/modules/gpd/GPDVinnikov06.h similarity index 95% rename from include/partons/modules/gpd/VinnikovModel.h rename to include/partons/modules/gpd/GPDVinnikov06.h index 3487ea10..e31b426a 100644 --- a/include/partons/modules/gpd/VinnikovModel.h +++ b/include/partons/modules/gpd/GPDVinnikov06.h @@ -1,19 +1,19 @@ /* - * VinnikovModel.h + * GPDVinnikov06.h * * Created on: Oct 1, 2015 * Author: Pawel Sznajder (NCBJ) */ -#ifndef VINNIKOVMODEL_H_ -#define VINNIKOVMODEL_H_ +#ifndef GPDVINNIKOV06_H +#define GPDVINNIKOV06_H #include #include "../GPDModule.h" /** - * @class VinnikovModel + * @class GPDVinnikov06 * * Module based on the original code from http://hepdata.cedar.ac.uk/pdfs * @@ -21,7 +21,7 @@ * * Available GPD types: H, Ht. */ -class VinnikovModel: public GPDModule { +class GPDVinnikov06: public GPDModule { public: @@ -33,13 +33,13 @@ public: * * @param className name of child class. */ - VinnikovModel(const std::string &className); + GPDVinnikov06(const std::string &className); /** * Default destructor. */ - virtual ~VinnikovModel(); - virtual VinnikovModel* clone() const; + virtual ~GPDVinnikov06(); + virtual GPDVinnikov06* clone() const; virtual void resolveObjectDependencies(); virtual void configure(const ElemUtils::Parameters ¶meters); virtual std::string toString() const; @@ -49,7 +49,7 @@ protected: /** Copy constructor. @param other Object to be copied. */ - VinnikovModel(const VinnikovModel& other); + GPDVinnikov06(const GPDVinnikov06& other); virtual void isModuleWellConfigured(); virtual void initModule(); @@ -228,7 +228,7 @@ private: \sa n_par, param */ double dd_int_simp(double const bmin, double const bmax, - double (VinnikovModel::*dd)(int, double, double, double, double, + double (GPDVinnikov06::*dd)(int, double, double, double, double, int, double*), int const i_part, double const x, double const xi, double const t, int const n_par, double* param); @@ -249,4 +249,4 @@ private: double power(double const x, double const y); }; -#endif /* VINNIKOVMODEL_H_ */ +#endif /* GPDVINNIKOV06_H */ diff --git a/include/partons/modules/gpd_border_function/KM10BorderFunctionModel.h b/include/partons/modules/gpd_border_function/GPDBorderFunctionKM10.h similarity index 81% rename from include/partons/modules/gpd_border_function/KM10BorderFunctionModel.h rename to include/partons/modules/gpd_border_function/GPDBorderFunctionKM10.h index 231f7cb2..8485ea68 100644 --- a/include/partons/modules/gpd_border_function/KM10BorderFunctionModel.h +++ b/include/partons/modules/gpd_border_function/GPDBorderFunctionKM10.h @@ -1,19 +1,19 @@ /* - * KM10BorderFunctionModel.h + * GPDBorderFunctionKM10.h * * Created on: Oct 17, 2016 * Author: Pawel Sznajder (IPNO) */ -#ifndef KM10BORDERFUNCTIONMODEL_H_ -#define KM10BORDERFUNCTIONMODEL_H_ +#ifndef GPDBORDERFUNCTIONKM10_H +#define GPDBORDERFUNCTIONKM10_H #include #include "../GPDBorderFunctionModule.h" /** - * @class KM10BorderFunctionModel + * @class GPDBorderFunctionKM10 * * @brief Implementation of KM GPD H border function. * @@ -21,7 +21,7 @@ * * For an example of usage of this module see the abstract class documentation. */ -class KM10BorderFunctionModel: public GPDBorderFunctionModule { +class GPDBorderFunctionKM10: public GPDBorderFunctionModule { public: @@ -34,14 +34,14 @@ public: * Constructor. * @param className Name of this class. */ - KM10BorderFunctionModel(const std::string &className); + GPDBorderFunctionKM10(const std::string &className); /** * Destructor. */ - virtual ~KM10BorderFunctionModel(); + virtual ~GPDBorderFunctionKM10(); - virtual KM10BorderFunctionModel* clone() const; + virtual GPDBorderFunctionKM10* clone() const; virtual void resolveObjectDependencies(); void virtual configure(const ElemUtils::Parameters ¶meters); virtual std::string toString() const; @@ -54,7 +54,7 @@ protected: * Copy constructor. * @param other Object to be copied. */ - KM10BorderFunctionModel(const KM10BorderFunctionModel& other); + GPDBorderFunctionKM10(const GPDBorderFunctionKM10& other); private: @@ -83,4 +83,4 @@ private: double m_par_H_p_sea; ///< Parameter p_sea }; -#endif /* KM10BORDERFUNCTIONMODEL_H_ */ +#endif /* GPDBORDERFUNCTIONKM10_H */ diff --git a/include/partons/modules/gpd_subtraction_constant/KM10SubtractionConstantModel.h b/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantKM10.h similarity index 64% rename from include/partons/modules/gpd_subtraction_constant/KM10SubtractionConstantModel.h rename to include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantKM10.h index 16fd8e8b..2fc071e4 100644 --- a/include/partons/modules/gpd_subtraction_constant/KM10SubtractionConstantModel.h +++ b/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantKM10.h @@ -1,19 +1,19 @@ /* - * KM10SubtractionConstantModel.h + * GPDSubtractionConstantKM10.h * * Created on: Oct 18, 2016 * Author: Pawel Sznajder (IPNO) */ -#ifndef KM10SUBTRACTIONCONSTANTMODEL_H_ -#define KM10SUBTRACTIONCONSTANTMODEL_H_ +#ifndef GPDSUBTRACTIONCONSTANTKM10_H +#define GPDSUBTRACTIONCONSTANTKM10_H #include #include "../GPDSubtractionConstantModule.h" /** - * @class KM10SubtractionConstantModel + * @class GPDSubtractionConstantKM10 * * @brief Implementation of KM subtraction constant. * @@ -21,7 +21,7 @@ * * For an example of usage of this module see the abstract class documentation. */ -class KM10SubtractionConstantModel: public GPDSubtractionConstantModule { +class GPDSubtractionConstantKM10: public GPDSubtractionConstantModule { public: @@ -34,21 +34,21 @@ public: * Constructor. * @param className Name of this class. */ - KM10SubtractionConstantModel(const std::string &className); + GPDSubtractionConstantKM10(const std::string &className); /** * Destructor. */ - virtual ~KM10SubtractionConstantModel(); + virtual ~GPDSubtractionConstantKM10(); - virtual KM10SubtractionConstantModel* clone() const; + virtual GPDSubtractionConstantKM10* clone() const; protected: /** Copy constructor. * @param other Object to be copied. */ - KM10SubtractionConstantModel(const KM10SubtractionConstantModel& other); + GPDSubtractionConstantKM10(const GPDSubtractionConstantKM10& other); virtual double computeH(); virtual double computeE(); @@ -59,4 +59,4 @@ private: double m_par_H_M_sub; ///< H_M_sub parameter }; -#endif /* KM10SUBTRACTIONCONSTANTMODEL_H_ */ +#endif /* GPDSUBTRACTIONCONSTANTKM10_H */ diff --git a/include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h b/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h similarity index 69% rename from include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h rename to include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h index 59b09caf..a568f3c7 100644 --- a/include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h +++ b/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h @@ -1,12 +1,12 @@ /* - * MMS13SubtractionConstantModel.h + * GPDSubtractionConstantMMS13.h * * Created on: Oct 18, 2016 * Author: Pawel Sznajder (IPNO) */ -#ifndef MMS13SUBTRACTIONCONSTANTMODEL_H_ -#define MMS13SUBTRACTIONCONSTANTMODEL_H_ +#ifndef GPDSUBTRACTIONCONSTANTMMS13_H +#define GPDSUBTRACTIONCONSTANTMMS13_H #include #include @@ -16,12 +16,12 @@ #include "../GPDSubtractionConstantModule.h" #include "../MathIntegratorModule.h" -class MMS13Model; +class GPDMMS13; /** * Subtraction constant model based on MM13Model D-term */ -class MMS13SubtractionConstantModel: public GPDSubtractionConstantModule, +class GPDSubtractionConstantMMS13: public GPDSubtractionConstantModule, public MathIntegratorModule { public: @@ -32,14 +32,14 @@ public: * Default constructor * @param className Class name */ - MMS13SubtractionConstantModel(const std::string &className); + GPDSubtractionConstantMMS13(const std::string &className); /** * Destructor */ - virtual ~MMS13SubtractionConstantModel(); + virtual ~GPDSubtractionConstantMMS13(); - virtual MMS13SubtractionConstantModel* clone() const; + virtual GPDSubtractionConstantMMS13* clone() const; virtual void resolveObjectDependencies(); @@ -51,7 +51,7 @@ protected: /** Copy constructor @param other Object to be copied */ - MMS13SubtractionConstantModel(const MMS13SubtractionConstantModel& other); + GPDSubtractionConstantMMS13(const GPDSubtractionConstantMMS13& other); virtual double computeH(); virtual double computeE(); @@ -72,7 +72,7 @@ private: NumA::FunctionType1D* m_p_int_dTermIntegral; ///< functor related to dTermIntegral() function - MMS13Model* m_pMMS13Model; ///< Pointer to MMS13Model model + GPDMMS13* m_pMMS13Model; ///< Pointer to MMS13Model model }; -#endif /* MMS13SUBTRACTIONCONSTANTMODEL_H_ */ +#endif /* GPDSUBTRACTIONCONSTANTMMS13_H */ diff --git a/include/partons/modules/process/DVCS/BMJ2012Model.h b/include/partons/modules/process/DVCS/DVCSProcessBMJ12.h similarity index 95% rename from include/partons/modules/process/DVCS/BMJ2012Model.h rename to include/partons/modules/process/DVCS/DVCSProcessBMJ12.h index 0e0a525c..1f39baee 100644 --- a/include/partons/modules/process/DVCS/BMJ2012Model.h +++ b/include/partons/modules/process/DVCS/DVCSProcessBMJ12.h @@ -1,8 +1,8 @@ -#ifndef BMJ_2012_MODEL_H -#define BMJ_2012_MODEL_H +#ifndef DVCSPROCESSBMJ12_H +#define DVCSPROCESSBMJ12_H /** - * @file BMJ2012Model.h + * @file DVCSProcessBMJ12.h * @author Nabil CHOUIKA (SPhN / CEA Saclay) * @date 07 October 2015 * @version 1.0 @@ -16,7 +16,7 @@ #include "../DVCSModule.h" /** - * @class BMJ2012Model + * @class DVCSProcessBMJ12 * * Module for the DVCS process using the Belitsky-Müller set of formulas. * @@ -24,7 +24,7 @@ * - arxiv:hep-ph/0112108 @cite Belitsky2001ns for the BH amplitude ; * - arxiv:1212.6674 @cite Belitsky2012ch for the DVCS amplitude and interference. */ -class BMJ2012Model: public DVCSModule { +class DVCSProcessBMJ12: public DVCSModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -34,13 +34,13 @@ public: * * @param className name of child class. */ - BMJ2012Model(const std::string &className); + DVCSProcessBMJ12(const std::string &className); /** * Default destructor. */ - virtual ~BMJ2012Model(); + virtual ~DVCSProcessBMJ12(); - virtual BMJ2012Model* clone() const; + virtual DVCSProcessBMJ12* clone() const; protected: /** @@ -50,7 +50,7 @@ protected: * * @param other */ - BMJ2012Model(const BMJ2012Model& other); + DVCSProcessBMJ12(const DVCSProcessBMJ12& other); virtual void initModule(); virtual void initModule(double beamHelicity, double beamCharge, @@ -218,4 +218,4 @@ private: NumA::Vector3D targetPolarization); ///< Returns the interference term of the squared amplitude. }; -#endif /* BMJ_2012_MODEL_H */ +#endif /* DVCSPROCESSBMJ12_H */ diff --git a/include/partons/modules/process/DVCS/BMJ2012DVCSModel.h b/include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h similarity index 94% rename from include/partons/modules/process/DVCS/BMJ2012DVCSModel.h rename to include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h index c06bbe32..72e0face 100644 --- a/include/partons/modules/process/DVCS/BMJ2012DVCSModel.h +++ b/include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h @@ -1,5 +1,5 @@ -#ifndef BMJ_2012_DVCS_MODEL_H -#define BMJ_2012_DVCS_MODEL_H +#ifndef DVCSPROCESSBMJ12BH_H +#define DVCSPROCESSBMJ12BH_H #include #include @@ -9,22 +9,22 @@ #include "../DVCSModule.h" /** - * @file BMJ2012DVCSModel.h + * @file DVCSProcessBMJ12BH.h * @author Nabil CHOUIKA (SPhN / CEA Saclay) * @date 07 October 2015 * @version 1.0 * - * @class BMJ2012DVCSModel + * @class DVCSProcessBMJ12BH */ -class BMJ2012DVCSModel: public DVCSModule { +class DVCSProcessBMJ12BH: public DVCSModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - BMJ2012DVCSModel(const std::string &className); - virtual ~BMJ2012DVCSModel(); + DVCSProcessBMJ12BH(const std::string &className); + virtual ~DVCSProcessBMJ12BH(); - virtual BMJ2012DVCSModel* clone() const; + virtual DVCSProcessBMJ12BH* clone() const; // Cross sections virtual double CrossSectionBH(double beamHelicity, double beamCharge, @@ -44,7 +44,7 @@ protected: * * @param other */ - BMJ2012DVCSModel(const BMJ2012DVCSModel& other); + DVCSProcessBMJ12BH(const DVCSProcessBMJ12BH& other); virtual void initModule(); virtual void initModule(double beamHelicity, double beamCharge, @@ -196,4 +196,4 @@ private: NumA::Vector3D targetPolarization); ///< Returns the interference term of the squared amplitude }; -#endif /* BMJ_2012_DVCS_MODEL_H */ +#endif /* DVCSPROCESSBMJ12BH_H */ diff --git a/include/partons/modules/process/DVCS/BMJ2012BHModel.h b/include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h similarity index 94% rename from include/partons/modules/process/DVCS/BMJ2012BHModel.h rename to include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h index 79d8bf90..d46a15f5 100644 --- a/include/partons/modules/process/DVCS/BMJ2012BHModel.h +++ b/include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h @@ -1,5 +1,5 @@ -#ifndef BMJ_2012_BH_MODEL_H -#define BMJ_2012_BH_MODEL_H +#ifndef DVCSPROCESSBMJ12DVCS_H +#define DVCSPROCESSBMJ12DVCS_H #include #include @@ -9,22 +9,22 @@ #include "../DVCSModule.h" /** - * @file BMJ2012BHModel.h + * @file DVCSProcessBMJ12DVCS.h * @author Nabil CHOUIKA (SPhN / CEA Saclay) * @date 07 October 2015 * @version 1.0 * - * @class BMJ2012BHModel + * @class DVCSProcessBMJ12DVCS */ -class BMJ2012BHModel: public DVCSModule { +class DVCSProcessBMJ12DVCS: public DVCSModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - BMJ2012BHModel(const std::string &className); - virtual ~BMJ2012BHModel(); + DVCSProcessBMJ12DVCS(const std::string &className); + virtual ~DVCSProcessBMJ12DVCS(); - virtual BMJ2012BHModel* clone() const; + virtual DVCSProcessBMJ12DVCS* clone() const; // Cross sections virtual double CrossSectionBH(double beamHelicity, double beamCharge, @@ -44,7 +44,7 @@ protected: * * @param other */ - BMJ2012BHModel(const BMJ2012BHModel& other); + DVCSProcessBMJ12DVCS(const DVCSProcessBMJ12DVCS& other); virtual void initModule(); virtual void initModule(double beamHelicity, double beamCharge, @@ -196,4 +196,4 @@ private: NumA::Vector3D targetPolarization); ///< Returns the interference term of the squared amplitude }; -#endif /* BMJ_2012_BH_MODEL_H */ +#endif /* DVCSPROCESSBMJ12DVCS_H */ diff --git a/include/partons/modules/process/DVCS/BMJ2012INTModel.h b/include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h similarity index 94% rename from include/partons/modules/process/DVCS/BMJ2012INTModel.h rename to include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h index f9ab1918..48375bb8 100644 --- a/include/partons/modules/process/DVCS/BMJ2012INTModel.h +++ b/include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h @@ -1,5 +1,5 @@ -#ifndef BMJ_2012_INT_MODEL_H -#define BMJ_2012_INT_MODEL_H +#ifndef DVCSPROCESSBMJ12INT_H +#define DVCSPROCESSBMJ12INT_H #include #include @@ -9,22 +9,22 @@ #include "../DVCSModule.h" /** - * @file BMJ2012INTModel.h + * @file DVCSProcessBMJ12INT.h * @author Nabil CHOUIKA (SPhN / CEA Saclay) * @date 07 October 2015 * @version 1.0 * - * @class BMJ2012INTModel + * @class DVCSProcessBMJ12INT */ -class BMJ2012INTModel: public DVCSModule { +class DVCSProcessBMJ12INT: public DVCSModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - BMJ2012INTModel(const std::string &className); - virtual ~BMJ2012INTModel(); + DVCSProcessBMJ12INT(const std::string &className); + virtual ~DVCSProcessBMJ12INT(); - virtual BMJ2012INTModel* clone() const; + virtual DVCSProcessBMJ12INT* clone() const; // Cross sections virtual double CrossSectionBH(double beamHelicity, double beamCharge, @@ -44,7 +44,7 @@ protected: * * @param other */ - BMJ2012INTModel(const BMJ2012INTModel& other); + DVCSProcessBMJ12INT(const DVCSProcessBMJ12INT& other); virtual void initModule(); virtual void initModule(double beamHelicity, double beamCharge, @@ -196,4 +196,4 @@ private: NumA::Vector3D targetPolarization); ///< Returns the interference term of the squared amplitude }; -#endif /* BMJ_2012_INT_MODEL_H */ +#endif /* DVCSPROCESSBMJ12INT_H */ diff --git a/include/partons/modules/process/DVCS/GV2008Model.h b/include/partons/modules/process/DVCS/DVCSProcessGV08.h similarity index 95% rename from include/partons/modules/process/DVCS/GV2008Model.h rename to include/partons/modules/process/DVCS/DVCSProcessGV08.h index 5f924f2c..ed198670 100644 --- a/include/partons/modules/process/DVCS/GV2008Model.h +++ b/include/partons/modules/process/DVCS/DVCSProcessGV08.h @@ -1,8 +1,8 @@ -#ifndef GV_2008_MODEL -#define GV_2008_MODEL +#ifndef DVCSPROCESSGV08_H +#define DVCSPROCESSGV08_H /** - * @file GV2008Model.h + * @file DVCSProcessGV08.h * @author Hervé MOUTARDE (SPhN / CEA Saclay) * @version 1.0 * @@ -16,11 +16,11 @@ #include "../DVCSModule.h" /** - * @class GV2008Model + * @class DVCSProcessGV08 * * Module for the DVCS process using the unpublished Guichon-Vanderhagen set of formulas. */ -class GV2008Model: public DVCSModule { +class DVCSProcessGV08: public DVCSModule { public: static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. @@ -30,13 +30,13 @@ public: * * @param className name of child class. */ - GV2008Model(const std::string &className); + DVCSProcessGV08(const std::string &className); /** * Default destructor. */ - virtual ~GV2008Model(); + virtual ~DVCSProcessGV08(); - virtual GV2008Model* clone() const; + virtual DVCSProcessGV08* clone() const; protected: /** @@ -46,7 +46,7 @@ protected: * * @param other */ - GV2008Model(const GV2008Model& other); + DVCSProcessGV08(const DVCSProcessGV08& other); virtual void initModule(); virtual void initModule(double beamHelicity, double beamCharge, @@ -172,5 +172,5 @@ private: }; -#endif /* GV_2008_MODEL */ +#endif /* DVCSPROCESSGV08_H */ diff --git a/include/partons/modules/process/DVCS/VGG1999Model.h b/include/partons/modules/process/DVCS/DVCSProcessVGG99.h similarity index 96% rename from include/partons/modules/process/DVCS/VGG1999Model.h rename to include/partons/modules/process/DVCS/DVCSProcessVGG99.h index 7a36f9d3..b5b8b714 100644 --- a/include/partons/modules/process/DVCS/VGG1999Model.h +++ b/include/partons/modules/process/DVCS/DVCSProcessVGG99.h @@ -1,8 +1,8 @@ -#ifndef VGG_1999_MODEL_H -#define VGG_1999_MODEL_H +#ifndef DVCSPROCESSVGG99_H +#define DVCSPROCESSVGG99_H /** - * @file VGG1999Model.h + * @file DVCSProcessVGG99.h * @author Michel Guidal (IPNO) * @author Pawel Sznajder (IPNO) * @version 1.0 @@ -18,7 +18,7 @@ #include "../DVCSModule.h" /** - * @class VGG1999Model + * @class DVCSProcessVGG99 * * VGG process model for DVCS. * @@ -30,7 +30,7 @@ * * Module based on the original code received from M. Guidal as a private communication. */ -class VGG1999Model: public DVCSModule { +class DVCSProcessVGG99: public DVCSModule { public: @@ -42,13 +42,13 @@ public: * * @param className name of child class. */ - VGG1999Model(const std::string &className); + DVCSProcessVGG99(const std::string &className); /** * Default destructor. */ - virtual ~VGG1999Model(); - virtual VGG1999Model* clone() const; + virtual ~DVCSProcessVGG99(); + virtual DVCSProcessVGG99* clone() const; virtual double CrossSectionBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization); virtual double CrossSectionVCS(double beamHelicity, double beamCharge, @@ -61,7 +61,7 @@ protected: /** Copy constructor. @param other Object to be copied. */ - VGG1999Model(const VGG1999Model& other); + DVCSProcessVGG99(const DVCSProcessVGG99& other); virtual void initModule(); virtual void initModule(double beamHelicity, double beamCharge, @@ -303,4 +303,4 @@ private: double el_hel, double sp_in); }; -#endif /* VGG_1999_MODEL_H */ +#endif /* DVCSPROCESSVGG99_H */ diff --git a/include/partons/modules/scale/Q2Multiplier.h b/include/partons/modules/scale/ScaleQ2Multiplier.h similarity index 71% rename from include/partons/modules/scale/Q2Multiplier.h rename to include/partons/modules/scale/ScaleQ2Multiplier.h index 1246fd7c..ec71db8b 100644 --- a/include/partons/modules/scale/Q2Multiplier.h +++ b/include/partons/modules/scale/ScaleQ2Multiplier.h @@ -1,8 +1,8 @@ -#ifndef Q2_MULTIPLIER_H -#define Q2_MULTIPLIER_H +#ifndef SCALEQ2MULTIPLIER_H +#define SCALEQ2MULTIPLIER_H /** - * @file Q2Multiplier.h + * @file ScaleQ2Multiplier.h * @author Bryan BERTHOU (SPhN / CEA Saclay) * @date 28 October 2015 * @version 1.0 @@ -18,22 +18,22 @@ class Parameters; } /* namespace ElemUtils */ /** - * @class Q2Multiplier + * @class ScaleQ2Multiplier * * @brief Evaluation of factorization and renormalization scales as a linear function of \f$Q^2\f$. * * This model evaluates factorization and renormalization scales as a linear function of \f$Q^2\f$, i.e.
* \f$\mu_{F}^{2} = \mu_{R}^{2} = \lambda Q^2\f$
- * The value of \f$\lambda\f$ can be changed by Q2Multiplier::configure() function using Q2Multiplier::PARAMETER_NAME_LAMBDA parameter key. + * The value of \f$\lambda\f$ can be changed by Q2Multiplier::configure() function using ScaleQ2Multiplier::PARAMETER_NAME_LAMBDA parameter key. * * For an example of usage of this module see the abstract class documentation. */ -class Q2Multiplier: public ScaleModule { +class ScaleQ2Multiplier: public ScaleModule { public: /** - * Name to set value of Q2Multiplier::m_lambda via the automatization. + * Name to set value of ScaleQ2Multiplier::m_lambda via the automatization. */ static const std::string PARAMETER_NAME_LAMBDA; @@ -46,14 +46,14 @@ public: * Constructor. * @param className Name of class. */ - Q2Multiplier(const std::string &className); + ScaleQ2Multiplier(const std::string &className); /** * Destructor. */ - virtual ~Q2Multiplier(); + virtual ~ScaleQ2Multiplier(); - virtual Q2Multiplier* clone() const; + virtual ScaleQ2Multiplier* clone() const; virtual void configure(const ElemUtils::Parameters ¶meters); @@ -65,7 +65,7 @@ protected: * Copy constructor. * @param other Object to be copied. */ - Q2Multiplier(const Q2Multiplier &other); + ScaleQ2Multiplier(const ScaleQ2Multiplier &other); virtual void initModule(); virtual void isModuleWellConfigured(); @@ -78,4 +78,4 @@ private: double m_lambda; }; -#endif /* Q2_MULTIPLIER_H */ +#endif /* SCALEQ2MULTIPLIER_H */ diff --git a/include/partons/modules/xb_to_xi/XBToXi.h b/include/partons/modules/xb_to_xi/XiConverterXBToXi.h similarity index 71% rename from include/partons/modules/xb_to_xi/XBToXi.h rename to include/partons/modules/xb_to_xi/XiConverterXBToXi.h index 824afd47..ebdb9505 100644 --- a/include/partons/modules/xb_to_xi/XBToXi.h +++ b/include/partons/modules/xb_to_xi/XiConverterXBToXi.h @@ -1,8 +1,8 @@ -#ifndef XB_TO_XI_H -#define XB_TO_XI_H +#ifndef XiCONVERTERXBTOXI_H +#define XiCONVERTERXBTOXI_H /** - * @file XBToXi.h + * @file XiConverterXBToXi.h * @author Bryan BERTHOU (SPhN / CEA Saclay) * @date 05 October 2015 * @version 1.0 @@ -13,7 +13,7 @@ #include "XiConverterModule.h" /** - * @class XBToXi + * @class XiConverterXBToXi * * @brief Evaluation of GPD \f$\xi\f$ variable as function of \f$x_{B}\f$ only. * @@ -22,7 +22,7 @@ * * For an example of usage of this module see the abstract class documentation. */ -class XBToXi: public XiConverterModule { +class XiConverterXBToXi: public XiConverterModule { public: @@ -35,14 +35,14 @@ public: * Constructor. * @param className Name of class. */ - XBToXi(const std::string &className); + XiConverterXBToXi(const std::string &className); /** * Destructor. */ - virtual ~XBToXi(); + virtual ~XiConverterXBToXi(); - virtual XBToXi* clone() const; + virtual XiConverterXBToXi* clone() const; virtual double compute(double xB, double t, double Q2); @@ -52,10 +52,10 @@ protected: * Copy constructor. * @param other Object to be copied. */ - XBToXi(const XBToXi &other); + XiConverterXBToXi(const XiConverterXBToXi &other); virtual void initModule(); virtual void isModuleWellConfigured(); }; -#endif /* XB_TO_XI_H */ +#endif /* XiCONVERTERXBTOXI_H */ diff --git a/src/partons/modules/active_flavors/NfFunctionExample.cpp b/src/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.cpp similarity index 65% rename from src/partons/modules/active_flavors/NfFunctionExample.cpp rename to src/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.cpp index 505a948c..c52fa32b 100644 --- a/src/partons/modules/active_flavors/NfFunctionExample.cpp +++ b/src/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.cpp @@ -1,14 +1,13 @@ -#include "../../../../include/partons/modules/active_flavors/NfFunctionExample.h" - #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h" // Initialise [class]::classId with a unique name. -const unsigned int NfFunctionExample::classId = +const unsigned int ActiveFlavorsQuarkMasses::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new NfFunctionExample("NfFunctionExample")); + new ActiveFlavorsQuarkMasses("ActiveFlavorsQuarkMasses")); -NfFunctionExample::NfFunctionExample(const std::string &className) : +ActiveFlavorsQuarkMasses::ActiveFlavorsQuarkMasses(const std::string &className) : ActiveFlavorsModule(className) { addNfInterval(1, 0., Constant::QUARK_UP_MASS * Constant::QUARK_UP_MASS); addNfInterval(2, Constant::QUARK_UP_MASS * Constant::QUARK_UP_MASS, @@ -23,21 +22,21 @@ NfFunctionExample::NfFunctionExample(const std::string &className) : Constant::QUARK_TOP_MASS * Constant::QUARK_TOP_MASS); } -NfFunctionExample::~NfFunctionExample() { +ActiveFlavorsQuarkMasses::~ActiveFlavorsQuarkMasses() { } -NfFunctionExample::NfFunctionExample(const NfFunctionExample& other) : +ActiveFlavorsQuarkMasses::ActiveFlavorsQuarkMasses(const ActiveFlavorsQuarkMasses& other) : ActiveFlavorsModule(other) { } -NfFunctionExample* NfFunctionExample::clone() const { - return new NfFunctionExample(*this); +ActiveFlavorsQuarkMasses* ActiveFlavorsQuarkMasses::clone() const { + return new ActiveFlavorsQuarkMasses(*this); } -void NfFunctionExample::initModule() { +void ActiveFlavorsQuarkMasses::initModule() { ActiveFlavorsModule::initModule(); } -void NfFunctionExample::isModuleWellConfigured() { +void ActiveFlavorsQuarkMasses::isModuleWellConfigured() { ActiveFlavorsModule::isModuleWellConfigured(); } diff --git a/src/partons/modules/alphaS/RunningAlphaStrong.cpp b/src/partons/modules/alphaS/RunningAlphaStrongStandard.cpp similarity index 88% rename from src/partons/modules/alphaS/RunningAlphaStrong.cpp rename to src/partons/modules/alphaS/RunningAlphaStrongStandard.cpp index de7710a4..f52f23df 100644 --- a/src/partons/modules/alphaS/RunningAlphaStrong.cpp +++ b/src/partons/modules/alphaS/RunningAlphaStrongStandard.cpp @@ -43,8 +43,6 @@ /*-------------------------------- Includes ----------------------------------*/ -#include "../../../../include/partons/modules/alphaS/RunningAlphaStrong.h" - #include #include #include @@ -53,11 +51,12 @@ #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/alphaS/RunningAlphaStrongStandard.h" // Initialise [class]::classId with a unique name. -const unsigned int RunningAlphaStrong::classId = +const unsigned int RunningAlphaStrongStandard::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new RunningAlphaStrong("RunningAlphaStrong")); + new RunningAlphaStrongStandard("RunningAlphaStrongStandard")); /*------------------------------- Public routines ----------------------------*/ @@ -67,14 +66,14 @@ const unsigned int RunningAlphaStrong::classId = * Default constructor. * */ -RunningAlphaStrong::RunningAlphaStrong(const std::string &className) : +RunningAlphaStrongStandard::RunningAlphaStrongStandard(const std::string &className) : RunningAlphaStrongModule(className), fNc(3), fBeta0(0.), fBeta1(0.), fBeta2( 0.), fBeta3(0.), fB1(0.), fB2(0.), fB3(0.), fLambdaQCD3(0.), fLambdaQCD4( 0.), fLambdaQCD5(0.), fLambdaQCD6(0.), fAlphaSMZ(0.1184), fAlphaS( 0.) { } -RunningAlphaStrong::RunningAlphaStrong(const RunningAlphaStrong &other) : +RunningAlphaStrongStandard::RunningAlphaStrongStandard(const RunningAlphaStrongStandard &other) : RunningAlphaStrongModule(other) { fNc = other.fNc; fBeta0 = other.fBeta0; @@ -92,8 +91,8 @@ RunningAlphaStrong::RunningAlphaStrong(const RunningAlphaStrong &other) : fAlphaS = other.fAlphaS; } -RunningAlphaStrong* RunningAlphaStrong::clone() const { - return new RunningAlphaStrong(*this); +RunningAlphaStrongStandard* RunningAlphaStrongStandard::clone() const { + return new RunningAlphaStrongStandard(*this); } /* @@ -101,22 +100,22 @@ RunningAlphaStrong* RunningAlphaStrong::clone() const { * Default destructor. * */ -RunningAlphaStrong::~RunningAlphaStrong() { +RunningAlphaStrongStandard::~RunningAlphaStrongStandard() { } // Strong coupling at M_Z, quark masses, beta function coefficients, Lambda_QCD and running scale take their default values. -void RunningAlphaStrong::initModule() { +void RunningAlphaStrongStandard::initModule() { RunningAlphaStrongModule::initModule(); } //TODO implement -void RunningAlphaStrong::isModuleWellConfigured() { +void RunningAlphaStrongStandard::isModuleWellConfigured() { RunningAlphaStrongModule::isModuleWellConfigured(); } //TODO implement - Voir a remplacer ça par un arbre binaire pour les tests si pertinent //TODO Definir la masse des quarks au carré dans le fichier de constantes -double RunningAlphaStrong::compute() { +double RunningAlphaStrongStandard::compute() { if (Constant::QUARK_STRANGE_MASS <= m_Mu && m_Mu < Constant::QUARK_CHARM_MASS) { m_nf = 3; @@ -179,7 +178,7 @@ double RunningAlphaStrong::compute() { * General SU(Nc) theory even if using experimental input values (Alpha_S(M_Z), quark masses) becomes dubious if Nc != 3. * */ -unsigned int RunningAlphaStrong::GetColourNumber() const { +unsigned int RunningAlphaStrongStandard::GetColourNumber() const { return fNc; } @@ -198,7 +197,7 @@ unsigned int RunningAlphaStrong::GetColourNumber() const { * Nucl. Phys. B710 (2005) 485, arXiv:hep-ph/0411261. * */ -void RunningAlphaStrong::ComputeExpansionCoefficients(unsigned int NFlavour) { +void RunningAlphaStrongStandard::ComputeExpansionCoefficients(unsigned int NFlavour) { double Zeta3 = Constant::ZETA_3; double NFlavour2 = NFlavour * NFlavour; double NFlavour3 = NFlavour2 * NFlavour; @@ -277,7 +276,7 @@ void RunningAlphaStrong::ComputeExpansionCoefficients(unsigned int NFlavour) { * TODO : clean matching of Chetyrkin for heavy flavours. * */ -void RunningAlphaStrong::ComputeLambdaQCD() { +void RunningAlphaStrongStandard::ComputeLambdaQCD() { double LambdaMin = 0.05; // From current knowledge of LambdaQCD in MSbar scheme double LambdaMax = 0.5; // Idem double AlphaTarget = 0.; // Solve at scale mu Running( mu, LambdaQCD(Nf), Nf ) == AlphaTarget @@ -293,7 +292,7 @@ void RunningAlphaStrong::ComputeLambdaQCD() { parameters.at(1) = fAlphaSMZ; parameters.at(2) = 5; - fLambdaQCD5 = brentSolver.solve(this, &RunningAlphaStrong::FindLambda, + fLambdaQCD5 = brentSolver.solve(this, &RunningAlphaStrongStandard::FindLambda, parameters, LambdaMin, LambdaMax); // Find fLambdaQCD4 between fLambdaQCD5 and LambdaMax @@ -305,7 +304,7 @@ void RunningAlphaStrong::ComputeLambdaQCD() { parameters.at(1) = fAlphaS; parameters.at(2) = 4; - fLambdaQCD4 = brentSolver.solve(this, &RunningAlphaStrong::FindLambda, + fLambdaQCD4 = brentSolver.solve(this, &RunningAlphaStrongStandard::FindLambda, parameters, fLambdaQCD5, LambdaMax); // Find fLambdaQCD3 between fLambdaQCD4 and LambdaMax @@ -317,7 +316,7 @@ void RunningAlphaStrong::ComputeLambdaQCD() { parameters.at(1) = fAlphaS; parameters.at(2) = 3; - fLambdaQCD3 = brentSolver.solve(this, &RunningAlphaStrong::FindLambda, + fLambdaQCD3 = brentSolver.solve(this, &RunningAlphaStrongStandard::FindLambda, parameters, fLambdaQCD4, LambdaMax); // Find fLambdaQCD6 between LambdaMin and fLambdaQCD5 @@ -329,7 +328,7 @@ void RunningAlphaStrong::ComputeLambdaQCD() { parameters.at(1) = fAlphaS; parameters.at(2) = 6; - fLambdaQCD6 = brentSolver.solve(this, &RunningAlphaStrong::FindLambda, + fLambdaQCD6 = brentSolver.solve(this, &RunningAlphaStrongStandard::FindLambda, parameters, LambdaMin, fLambdaQCD5); } @@ -339,7 +338,7 @@ void RunningAlphaStrong::ComputeLambdaQCD() { * Running of Alpha_S at four loops, depending on the renormalization scale Mu and Lambda_QCD with NFlavour active flavours. * */ -void RunningAlphaStrong::Running(double Mu, double Lambda, +void RunningAlphaStrongStandard::Running(double Mu, double Lambda, unsigned int NFlavour) { double t = 2. * log(Mu / Lambda); double lt = log(t); @@ -369,7 +368,7 @@ void RunningAlphaStrong::Running(double Mu, double Lambda, * - Parameters[ 2 ] is the number of active flavours * */ -double RunningAlphaStrong::FindLambda(double Lambda, +double RunningAlphaStrongStandard::FindLambda(double Lambda, std::vector Parameters) { unsigned int NFlavour = (unsigned int) Parameters[2]; diff --git a/src/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.cpp b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.cpp similarity index 68% rename from src/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.cpp rename to src/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.cpp index e911d6e6..26b9fce3 100644 --- a/src/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.cpp +++ b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.cpp @@ -1,5 +1,3 @@ -#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.h" - #include //#include #include @@ -10,25 +8,26 @@ #include #include "../../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.h" // initialize [class]::classId with a unique name. -const unsigned int DVCSConstantCFFModel::classId = +const unsigned int DVCSCFFConstant::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new DVCSConstantCFFModel("DVCSConstantCFFModel")); + new DVCSCFFConstant("DVCSCFFConstant")); // set key names -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_VALUES = "cff_values"; - -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_H_Re = "cff_value_H_Re"; -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_H_Im = "cff_value_H_Im"; -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_E_Re = "cff_value_E_Re"; -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_E_Im = "cff_value_E_Im"; -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_Ht_Re = "cff_value_Ht_Re"; -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_Ht_Im = "cff_value_Ht_Im"; -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_Et_Re = "cff_value_Et_Re"; -const std::string DVCSConstantCFFModel::PARAMETER_NAME_CFF_Et_Im = "cff_value_Et_Im"; - -DVCSConstantCFFModel::DVCSConstantCFFModel(const std::string &className) : +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_VALUES = "cff_values"; + +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_H_Re = "cff_value_H_Re"; +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_H_Im = "cff_value_H_Im"; +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_E_Re = "cff_value_E_Re"; +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_E_Im = "cff_value_E_Im"; +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_Ht_Re = "cff_value_Ht_Re"; +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_Ht_Im = "cff_value_Ht_Im"; +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_Et_Re = "cff_value_Et_Re"; +const std::string DVCSCFFConstant::PARAMETER_NAME_CFF_Et_Im = "cff_value_Et_Im"; + +DVCSCFFConstant::DVCSCFFConstant(const std::string &className) : DVCSConvolCoeffFunctionModule(className) { setIsGPDModuleDependent(false); @@ -51,32 +50,32 @@ DVCSConstantCFFModel::DVCSConstantCFFModel(const std::string &className) : } } -DVCSConstantCFFModel::DVCSConstantCFFModel(const DVCSConstantCFFModel &other) : +DVCSCFFConstant::DVCSCFFConstant(const DVCSCFFConstant &other) : DVCSConvolCoeffFunctionModule(other) { m_CFFs = other.m_CFFs; } -DVCSConstantCFFModel* DVCSConstantCFFModel::clone() const { - return new DVCSConstantCFFModel(*this); +DVCSCFFConstant* DVCSCFFConstant::clone() const { + return new DVCSCFFConstant(*this); } //TODO comment gérer le cycle de vie des modules membres -DVCSConstantCFFModel::~DVCSConstantCFFModel() { +DVCSCFFConstant::~DVCSCFFConstant() { } -void DVCSConstantCFFModel::initModule() { +void DVCSCFFConstant::initModule() { // initialize parent module before DVCSConvolCoeffFunctionModule::initModule(); } -void DVCSConstantCFFModel::isModuleWellConfigured() { +void DVCSCFFConstant::isModuleWellConfigured() { // check parent module before DVCSConvolCoeffFunctionModule::isModuleWellConfigured(); } -std::complex DVCSConstantCFFModel::computeCFF() { +std::complex DVCSCFFConstant::computeCFF() { std::map >::iterator it = m_CFFs.find( m_currentGPDComputeType); @@ -95,7 +94,7 @@ std::complex DVCSConstantCFFModel::computeCFF() { } } -void DVCSConstantCFFModel::configure(const ElemUtils::Parameters ¶meters) { +void DVCSCFFConstant::configure(const ElemUtils::Parameters ¶meters) { //clear for (std::map >::iterator it = @@ -107,7 +106,7 @@ void DVCSConstantCFFModel::configure(const ElemUtils::Parameters ¶meters) { bool isSetViaAll = false; // several CFFs - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_VALUES)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_VALUES)) { //is set via all isSetViaAll = true; @@ -135,7 +134,7 @@ void DVCSConstantCFFModel::configure(const ElemUtils::Parameters ¶meters) { warn(__func__, ElemUtils::Formatter() << "Too many elements for key " - << DVCSConstantCFFModel::PARAMETER_NAME_CFF_VALUES + << DVCSCFFConstant::PARAMETER_NAME_CFF_VALUES << ", additional elements will be ignored"); break; } @@ -170,49 +169,49 @@ void DVCSConstantCFFModel::configure(const ElemUtils::Parameters ¶meters) { } else { warn(__func__, ElemUtils::Formatter() << "String for " - << DVCSConstantCFFModel::PARAMETER_NAME_CFF_VALUES << " is empty"); + << DVCSCFFConstant::PARAMETER_NAME_CFF_VALUES << " is empty"); } } // single CFFs - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_H_Re)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_H_Re)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_H_Re); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_H_Re); configureValue(GPDType::H, 1, parameters.getLastAvailable()); } - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_H_Im)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_H_Im)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_H_Im); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_H_Im); configureValue(GPDType::H, 0, parameters.getLastAvailable()); } - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_E_Re)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_E_Re)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_E_Re); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_E_Re); configureValue(GPDType::E, 1, parameters.getLastAvailable()); } - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_E_Im)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_E_Im)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_E_Im); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_E_Im); configureValue(GPDType::E, 0, parameters.getLastAvailable()); } - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Ht_Re)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_Ht_Re)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Ht_Re); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_Ht_Re); configureValue(GPDType::Ht, 1, parameters.getLastAvailable()); } - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Ht_Im)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_Ht_Im)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Ht_Im); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_Ht_Im); configureValue(GPDType::Ht, 0, parameters.getLastAvailable()); } - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Et_Re)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_Et_Re)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Et_Re); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_Et_Re); configureValue(GPDType::Et, 1, parameters.getLastAvailable()); } - if (parameters.isAvailable(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Et_Im)) { + if (parameters.isAvailable(DVCSCFFConstant::PARAMETER_NAME_CFF_Et_Im)) { if (isSetViaAll) - printErrorInConfigure(DVCSConstantCFFModel::PARAMETER_NAME_CFF_Et_Im); + printErrorInConfigure(DVCSCFFConstant::PARAMETER_NAME_CFF_Et_Im); configureValue(GPDType::Et, 0, parameters.getLastAvailable()); } @@ -220,14 +219,14 @@ void DVCSConstantCFFModel::configure(const ElemUtils::Parameters ¶meters) { DVCSConvolCoeffFunctionModule::configure(parameters); } -void DVCSConstantCFFModel::printErrorInConfigure(const std::string& key) const { +void DVCSCFFConstant::printErrorInConfigure(const std::string& key) const { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "Ambiguous way of setting CFF values via " - << DVCSConstantCFFModel::PARAMETER_NAME_CFF_VALUES << " and " << key + << DVCSCFFConstant::PARAMETER_NAME_CFF_VALUES << " and " << key << " keys"); } -void DVCSConstantCFFModel::configureValue(GPDType::Type gpdType, +void DVCSCFFConstant::configureValue(GPDType::Type gpdType, bool isRealPart, const ElemUtils::GenericType& value) { //iterator @@ -260,16 +259,16 @@ void DVCSConstantCFFModel::configureValue(GPDType::Type gpdType, << " configured with value = " << valueDouble); } -const std::map >& DVCSConstantCFFModel::getCFFs() const { +const std::map >& DVCSCFFConstant::getCFFs() const { return m_CFFs; } -void DVCSConstantCFFModel::setCFFs( +void DVCSCFFConstant::setCFFs( const std::map >& cffs) { m_CFFs = cffs; } -const std::complex& DVCSConstantCFFModel::getCFF( +const std::complex& DVCSCFFConstant::getCFF( GPDType::Type gpdType) const { //iterator @@ -289,7 +288,7 @@ const std::complex& DVCSConstantCFFModel::getCFF( return it->second; } -void DVCSConstantCFFModel::setCFF(GPDType::Type gpdType, +void DVCSCFFConstant::setCFF(GPDType::Type gpdType, const std::complex& cff) { //iterator diff --git a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelationModel.cpp b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelation.cpp similarity index 83% rename from src/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelationModel.cpp rename to src/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelation.cpp index a5b3c09f..cfb34675 100644 --- a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelationModel.cpp +++ b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelation.cpp @@ -1,5 +1,3 @@ -#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelationModel.h" - #include #include #include @@ -17,19 +15,21 @@ #include "../../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" -#include "../../../../../include/partons/modules/active_flavors/NfFunctionExample.h" -#include "../../../../../include/partons/modules/alphaS/RunningAlphaStrong.h" +#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFDispersionRelation.h" + +#include "../../../../../include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h" +#include "../../../../../include/partons/modules/alphaS/RunningAlphaStrongStandard.h" #include "../../../../../include/partons/modules/GPDModule.h" #include "../../../../../include/partons/modules/GPDSubtractionConstantModule.h" #include "../../../../../include/partons/ModuleObjectFactory.h" #include "../../../../../include/partons/Partons.h" -const unsigned int DVCSCFFDispersionRelationModel::classId = +const unsigned int DVCSCFFDispersionRelation::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new DVCSCFFDispersionRelationModel( - "DVCSCFFDispersionRelationModel")); + new DVCSCFFDispersionRelation( + "DVCSCFFDispersionRelation")); -DVCSCFFDispersionRelationModel::DVCSCFFDispersionRelationModel( +DVCSCFFDispersionRelation::DVCSCFFDispersionRelation( const std::string& className) : DVCSConvolCoeffFunctionModule(className) { @@ -54,11 +54,11 @@ DVCSCFFDispersionRelationModel::DVCSCFFDispersionRelationModel( initFunctorsForIntegrations(); } -DVCSCFFDispersionRelationModel* DVCSCFFDispersionRelationModel::clone() const { - return new DVCSCFFDispersionRelationModel(*this); +DVCSCFFDispersionRelation* DVCSCFFDispersionRelation::clone() const { + return new DVCSCFFDispersionRelation(*this); } -DVCSCFFDispersionRelationModel::~DVCSCFFDispersionRelationModel() { +DVCSCFFDispersionRelation::~DVCSCFFDispersionRelation() { setSubtractionConstantModule(0); @@ -73,37 +73,37 @@ DVCSCFFDispersionRelationModel::~DVCSCFFDispersionRelationModel() { } } -void DVCSCFFDispersionRelationModel::initFunctorsForIntegrations() { +void DVCSCFFDispersionRelation::initFunctorsForIntegrations() { m_p_int_dispersionRelationIntegralPartDiagonalA = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFDispersionRelationModel::dispersionRelationIntegralPartDiagonalA); + &DVCSCFFDispersionRelation::dispersionRelationIntegralPartDiagonalA); m_p_int_dispersionRelationIntegralPartDiagonalB = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFDispersionRelationModel::dispersionRelationIntegralPartDiagonalB); + &DVCSCFFDispersionRelation::dispersionRelationIntegralPartDiagonalB); } //TODO init in mother class ? ; propagate init to mother class ? -void DVCSCFFDispersionRelationModel::resolveObjectDependencies() { +void DVCSCFFDispersionRelation::resolveObjectDependencies() { setIntegrator(NumA::IntegratorType1D::DEXP); m_pRunningAlphaStrongModule = Partons::getInstance()->getModuleObjectFactory()->newRunningAlphaStrongModule( - RunningAlphaStrong::classId); + RunningAlphaStrongStandard::classId); m_pNfConvolCoeffFunction = Partons::getInstance()->getModuleObjectFactory()->newActiveFlavorsModule( - NfFunctionExample::classId); + ActiveFlavorsQuarkMasses::classId); } -void DVCSCFFDispersionRelationModel::configure( +void DVCSCFFDispersionRelation::configure( const ElemUtils::Parameters ¶meters) { DVCSConvolCoeffFunctionModule::configure(parameters); } -void DVCSCFFDispersionRelationModel::prepareSubModules( +void DVCSCFFDispersionRelation::prepareSubModules( const std::map& subModulesData) { //mother @@ -146,8 +146,8 @@ void DVCSCFFDispersionRelationModel::prepareSubModules( } } -DVCSCFFDispersionRelationModel::DVCSCFFDispersionRelationModel( - const DVCSCFFDispersionRelationModel& other) : +DVCSCFFDispersionRelation::DVCSCFFDispersionRelation( + const DVCSCFFDispersionRelation& other) : DVCSConvolCoeffFunctionModule(other) { //copy @@ -162,11 +162,11 @@ DVCSCFFDispersionRelationModel::DVCSCFFDispersionRelationModel( initFunctorsForIntegrations(); } -void DVCSCFFDispersionRelationModel::initModule() { +void DVCSCFFDispersionRelation::initModule() { DVCSConvolCoeffFunctionModule::initModule(); } -void DVCSCFFDispersionRelationModel::isModuleWellConfigured() { +void DVCSCFFDispersionRelation::isModuleWellConfigured() { if (!m_pSubtractionConstantModule) { throw ElemUtils::CustomException(getClassName(), __func__, @@ -176,7 +176,7 @@ void DVCSCFFDispersionRelationModel::isModuleWellConfigured() { DVCSConvolCoeffFunctionModule::isModuleWellConfigured(); } -std::complex DVCSCFFDispersionRelationModel::computeUnpolarized() { +std::complex DVCSCFFDispersionRelation::computeUnpolarized() { //check pQCD order if (m_qcdOrderType != PerturbativeQCDOrderType::LO) { @@ -216,7 +216,7 @@ std::complex DVCSCFFDispersionRelationModel::computeUnpolarized() { return std::complex(Re - Sub, Im); } -std::complex DVCSCFFDispersionRelationModel::computePolarized() { +std::complex DVCSCFFDispersionRelation::computePolarized() { //check pQCD order if (m_qcdOrderType != PerturbativeQCDOrderType::LO) { @@ -247,7 +247,7 @@ std::complex DVCSCFFDispersionRelationModel::computePolarized() { return std::complex(Re, Im); } -double DVCSCFFDispersionRelationModel::computeSquareChargeAveragedGPD( +double DVCSCFFDispersionRelation::computeSquareChargeAveragedGPD( double xi) { //get GPD result @@ -263,22 +263,22 @@ double DVCSCFFDispersionRelationModel::computeSquareChargeAveragedGPD( * Constant::S2_ELEC_CHARGE; } -double DVCSCFFDispersionRelationModel::dispersionRelationIntegralPartDiagonalA( +double DVCSCFFDispersionRelation::dispersionRelationIntegralPartDiagonalA( double xi, std::vector par) { return (computeSquareChargeAveragedGPD(xi) - computeSquareChargeAveragedGPD(m_xi)) / (m_xi - xi); } -double DVCSCFFDispersionRelationModel::dispersionRelationIntegralPartDiagonalB( +double DVCSCFFDispersionRelation::dispersionRelationIntegralPartDiagonalB( double xi, std::vector par) { return computeSquareChargeAveragedGPD(xi) / (m_xi + xi); } -GPDSubtractionConstantModule* DVCSCFFDispersionRelationModel::getSubtractionConstantModule() const { +GPDSubtractionConstantModule* DVCSCFFDispersionRelation::getSubtractionConstantModule() const { return m_pSubtractionConstantModule; } -void DVCSCFFDispersionRelationModel::setSubtractionConstantModule( +void DVCSCFFDispersionRelation::setSubtractionConstantModule( GPDSubtractionConstantModule* subtractionConstantModule) { m_pModuleObjectFactory->updateModulePointerReference( diff --git a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuarkModel.cpp b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuark.cpp similarity index 84% rename from src/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuarkModel.cpp rename to src/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuark.cpp index 0f83a4ea..c9c5fa1a 100644 --- a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuarkModel.cpp +++ b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuark.cpp @@ -1,5 +1,3 @@ -#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuarkModel.h" - #include #include #include @@ -12,15 +10,16 @@ #include "../../../../../include/partons/beans/PerturbativeQCDOrderType.h" #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFHeavyQuark.h" #include "../../../../../include/partons/modules/GPDModule.h" // Initialise [class]::classId with a unique name. -const unsigned int DVCSCFFHeavyQuarkModel::classId = +const unsigned int DVCSCFFHeavyQuark::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new DVCSCFFHeavyQuarkModel("DVCSCFFHeavyQuarkModel")); + new DVCSCFFHeavyQuark("DVCSCFFHeavyQuark")); -DVCSCFFHeavyQuarkModel::DVCSCFFHeavyQuarkModel(const std::string& className) : - DVCSCFFModel(className), m_betas(std::complex(0.0, 0.0)), m_rs( +DVCSCFFHeavyQuark::DVCSCFFHeavyQuark(const std::string& className) : + DVCSCFFStandard(className), m_betas(std::complex(0.0, 0.0)), m_rs( std::complex(0.0, 0.0)), m_betaq( std::complex(0.0, 0.0)), m_rq( std::complex(0.0, 0.0)), m_TF( @@ -29,11 +28,11 @@ DVCSCFFHeavyQuarkModel::DVCSCFFHeavyQuarkModel(const std::string& className) : initFunctorsForIntegrations(); } -DVCSCFFHeavyQuarkModel* DVCSCFFHeavyQuarkModel::clone() const { - return new DVCSCFFHeavyQuarkModel(*this); +DVCSCFFHeavyQuark* DVCSCFFHeavyQuark::clone() const { + return new DVCSCFFHeavyQuark(*this); } -DVCSCFFHeavyQuarkModel::~DVCSCFFHeavyQuarkModel() { +DVCSCFFHeavyQuark::~DVCSCFFHeavyQuark() { if (m_pConvolReKernelGluonMassiveV) { delete m_pConvolReKernelGluonMassiveV; m_pConvolReKernelGluonMassiveV = 0; @@ -55,26 +54,26 @@ DVCSCFFHeavyQuarkModel::~DVCSCFFHeavyQuarkModel() { } } -void DVCSCFFHeavyQuarkModel::resolveObjectDependencies() { +void DVCSCFFHeavyQuark::resolveObjectDependencies() { DVCSConvolCoeffFunctionModule::resolveObjectDependencies(); setIntegrator(NumA::IntegratorType1D::DEXP); } -void DVCSCFFHeavyQuarkModel::initFunctorsForIntegrations() { +void DVCSCFFHeavyQuark::initFunctorsForIntegrations() { m_pConvolReKernelGluonMassiveV = NumA::Integrator1D::newIntegrationFunctor( - this, &DVCSCFFHeavyQuarkModel::ConvolReKernelGluonMassiveV); + this, &DVCSCFFHeavyQuark::ConvolReKernelGluonMassiveV); m_pConvolImKernelGluonMassiveV = NumA::Integrator1D::newIntegrationFunctor( - this, &DVCSCFFHeavyQuarkModel::ConvolImKernelGluonMassiveV); + this, &DVCSCFFHeavyQuark::ConvolImKernelGluonMassiveV); m_pConvolReKernelGluonMassiveA = NumA::Integrator1D::newIntegrationFunctor( - this, &DVCSCFFHeavyQuarkModel::ConvolReKernelGluonMassiveA); + this, &DVCSCFFHeavyQuark::ConvolReKernelGluonMassiveA); m_pConvolImKernelGluonMassiveA = NumA::Integrator1D::newIntegrationFunctor( - this, &DVCSCFFHeavyQuarkModel::ConvolImKernelGluonMassiveA); + this, &DVCSCFFHeavyQuark::ConvolImKernelGluonMassiveA); } -DVCSCFFHeavyQuarkModel::DVCSCFFHeavyQuarkModel( - const DVCSCFFHeavyQuarkModel& other) : - DVCSCFFModel(other) { +DVCSCFFHeavyQuark::DVCSCFFHeavyQuark( + const DVCSCFFHeavyQuark& other) : + DVCSCFFStandard(other) { m_betas = other.m_betas; m_betaq = other.m_betaq; m_rs = other.m_rs; @@ -84,19 +83,19 @@ DVCSCFFHeavyQuarkModel::DVCSCFFHeavyQuarkModel( initFunctorsForIntegrations(); } -std::complex DVCSCFFHeavyQuarkModel::computeUnpolarized() { +std::complex DVCSCFFHeavyQuark::computeUnpolarized() { - return computeIntegralsMassiveV() + DVCSCFFModel::computeUnpolarized(); + return computeIntegralsMassiveV() + DVCSCFFStandard::computeUnpolarized(); // return computeIntegralsMassiveV(); } -std::complex DVCSCFFHeavyQuarkModel::computePolarized() { +std::complex DVCSCFFHeavyQuark::computePolarized() { - return computeIntegralsMassiveA() + DVCSCFFModel::computePolarized(); + return computeIntegralsMassiveA() + DVCSCFFStandard::computePolarized(); // return computeIntegralsMassiveA(); } -std::complex DVCSCFFHeavyQuarkModel::computeIntegralsMassiveV() { +std::complex DVCSCFFHeavyQuark::computeIntegralsMassiveV() { double IntegralImaginaryPartMassive = 0.; double IntegralRealPartMassive = 0.; @@ -132,7 +131,7 @@ std::complex DVCSCFFHeavyQuarkModel::computeIntegralsMassiveV() { } -std::complex DVCSCFFHeavyQuarkModel::computeIntegralsMassiveA() { +std::complex DVCSCFFHeavyQuark::computeIntegralsMassiveA() { double IntegralImaginaryPartMassive = 0.; double IntegralRealPartMassive = 0.; @@ -166,7 +165,7 @@ std::complex DVCSCFFHeavyQuarkModel::computeIntegralsMassiveA() { IntegralImaginaryPartMassive); } -std::complex DVCSCFFHeavyQuarkModel::beta(double s, double mq) { +std::complex DVCSCFFHeavyQuark::beta(double s, double mq) { std::complex tmp_beta; if (s < 0) { tmp_beta.real(std::sqrt(1. - 4. * mq * mq / s)); @@ -183,12 +182,12 @@ std::complex DVCSCFFHeavyQuarkModel::beta(double s, double mq) { return tmp_beta; } -std::complex DVCSCFFHeavyQuarkModel::r(double s, double mq) { +std::complex DVCSCFFHeavyQuark::r(double s, double mq) { std::complex tmp_beta = beta(s, mq); return (tmp_beta - 1.) / (tmp_beta + 1.); } -double DVCSCFFHeavyQuarkModel::ConvolReKernelGluonMassiveV(double x, +double DVCSCFFHeavyQuark::ConvolReKernelGluonMassiveV(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -201,7 +200,7 @@ double DVCSCFFHeavyQuarkModel::ConvolReKernelGluonMassiveV(double x, return Convol; } -double DVCSCFFHeavyQuarkModel::ConvolImKernelGluonMassiveV(double x, +double DVCSCFFHeavyQuark::ConvolImKernelGluonMassiveV(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -214,7 +213,7 @@ double DVCSCFFHeavyQuarkModel::ConvolImKernelGluonMassiveV(double x, return Convol; } -double DVCSCFFHeavyQuarkModel::ConvolReKernelGluonMassiveA(double x, +double DVCSCFFHeavyQuark::ConvolReKernelGluonMassiveA(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -227,7 +226,7 @@ double DVCSCFFHeavyQuarkModel::ConvolReKernelGluonMassiveA(double x, return Convol; } -double DVCSCFFHeavyQuarkModel::ConvolImKernelGluonMassiveA(double x, +double DVCSCFFHeavyQuark::ConvolImKernelGluonMassiveA(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -240,7 +239,7 @@ double DVCSCFFHeavyQuarkModel::ConvolImKernelGluonMassiveA(double x, return Convol; } -std::complex DVCSCFFHeavyQuarkModel::MassiveKernelGluonNLOA(double x) { +std::complex DVCSCFFHeavyQuark::MassiveKernelGluonNLOA(double x) { // m_pLoggerManager->debug(getClassName(), __func__, "entered"); // TODO Add a massless part double z = m_xi / x; @@ -302,7 +301,7 @@ std::complex DVCSCFFHeavyQuarkModel::MassiveKernelGluonNLOA(double x) { return GluonNLOA; } -std::complex DVCSCFFHeavyQuarkModel::MassiveKernelGluonNLOV(double x) { +std::complex DVCSCFFHeavyQuark::MassiveKernelGluonNLOV(double x) { double z = -m_xi / x; double mq = Constant::QUARK_CHARM_MASS; double s = -m_Q2 * (z - 1.) / 2. / z; diff --git a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFModel.cpp b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.cpp similarity index 92% rename from src/partons/modules/convol_coeff_function/DVCS/DVCSCFFModel.cpp rename to src/partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.cpp index c4e4fcc4..9e8f7186 100644 --- a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFModel.cpp +++ b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.cpp @@ -1,4 +1,4 @@ -#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFModel.h" +#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFStandard.h" #include #include @@ -22,11 +22,11 @@ #include "../../../../../include/partons/modules/RunningAlphaStrongModule.h" // Initialise [class]::classId with a unique name. -const unsigned int DVCSCFFModel::classId = +const unsigned int DVCSCFFStandard::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new DVCSCFFModel("DVCSCFFModel")); + new DVCSCFFStandard("DVCSCFFStandard")); -DVCSCFFModel::DVCSCFFModel(const std::string &className) : +DVCSCFFStandard::DVCSCFFStandard(const std::string &className) : DVCSConvolCoeffFunctionModule(className), m_Zeta(0.), m_logQ2OverMu2( 0.), m_Q(0.), m_alphaSOver2Pi(0.), m_quarkDiagonal(0.), m_gluonDiagonal( 0.), m_realPartSubtractQuark(0.), m_imaginaryPartSubtractQuark( @@ -49,40 +49,40 @@ DVCSCFFModel::DVCSCFFModel(const std::string &className) : } //TODO Call mother init function -void DVCSCFFModel::resolveObjectDependencies() { +void DVCSCFFStandard::resolveObjectDependencies() { DVCSConvolCoeffFunctionModule::resolveObjectDependencies(); setIntegrator(NumA::IntegratorType1D::DEXP); } -void DVCSCFFModel::initFunctorsForIntegrations() { +void DVCSCFFStandard::initFunctorsForIntegrations() { m_pConvolReKernelQuark1V = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelQuark1V); + &DVCSCFFStandard::ConvolReKernelQuark1V); m_pConvolReKernelQuark2V = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelQuark2V); + &DVCSCFFStandard::ConvolReKernelQuark2V); m_pConvolImKernelQuarkV = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolImKernelQuarkV); + &DVCSCFFStandard::ConvolImKernelQuarkV); m_pConvolReKernelGluon1V = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelGluon1V); + &DVCSCFFStandard::ConvolReKernelGluon1V); m_pConvolReKernelGluon2V = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelGluon2V); + &DVCSCFFStandard::ConvolReKernelGluon2V); m_pConvolImKernelGluonV = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolImKernelGluonV); + &DVCSCFFStandard::ConvolImKernelGluonV); m_pConvolReKernelQuark1A = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelQuark1A); + &DVCSCFFStandard::ConvolReKernelQuark1A); m_pConvolReKernelQuark2A = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelQuark2A); + &DVCSCFFStandard::ConvolReKernelQuark2A); m_pConvolImKernelQuarkA = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolImKernelQuarkA); + &DVCSCFFStandard::ConvolImKernelQuarkA); m_pConvolReKernelGluon1A = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelGluon1A); + &DVCSCFFStandard::ConvolReKernelGluon1A); m_pConvolReKernelGluon2A = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolReKernelGluon2A); + &DVCSCFFStandard::ConvolReKernelGluon2A); m_pConvolImKernelGluonA = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFModel::ConvolImKernelGluonA); + &DVCSCFFStandard::ConvolImKernelGluonA); } -DVCSCFFModel::DVCSCFFModel(const DVCSCFFModel &other) : +DVCSCFFStandard::DVCSCFFStandard(const DVCSCFFStandard &other) : DVCSConvolCoeffFunctionModule(other) { m_Zeta = other.m_Zeta; m_logQ2OverMu2 = other.m_logQ2OverMu2; @@ -101,12 +101,12 @@ DVCSCFFModel::DVCSCFFModel(const DVCSCFFModel &other) : initFunctorsForIntegrations(); } -DVCSCFFModel* DVCSCFFModel::clone() const { - return new DVCSCFFModel(*this); +DVCSCFFStandard* DVCSCFFStandard::clone() const { + return new DVCSCFFStandard(*this); } //TODO comment gérer le cycle de vie des modules membres -DVCSCFFModel::~DVCSCFFModel() { +DVCSCFFStandard::~DVCSCFFStandard() { // // if (m_pMathIntegratorModule) { // delete m_pMathIntegratorModule; @@ -179,7 +179,7 @@ DVCSCFFModel::~DVCSCFFModel() { } } -void DVCSCFFModel::initModule() { +void DVCSCFFStandard::initModule() { // init parent module before DVCSConvolCoeffFunctionModule::initModule(); @@ -198,7 +198,7 @@ void DVCSCFFModel::initModule() { << m_alphaSOver2Pi); } -void DVCSCFFModel::isModuleWellConfigured() { +void DVCSCFFStandard::isModuleWellConfigured() { // check parent module before DVCSConvolCoeffFunctionModule::isModuleWellConfigured(); @@ -238,21 +238,21 @@ void DVCSCFFModel::isModuleWellConfigured() { // return CFFModule::preCompute(xB, t, Q2, MuF, MuR, gpdComputeType); //} -std::complex DVCSCFFModel::computeUnpolarized() { +std::complex DVCSCFFStandard::computeUnpolarized() { computeDiagonalGPD(); computeSubtractionFunctionsV(); return computeIntegralsV(); } -std::complex DVCSCFFModel::computePolarized() { +std::complex DVCSCFFStandard::computePolarized() { computeDiagonalGPD(); computeSubtractionFunctionsA(); return computeIntegralsA(); } -void DVCSCFFModel::computeDiagonalGPD() { +void DVCSCFFStandard::computeDiagonalGPD() { PartonDistribution partonDistribution = m_pGPDModule->compute(m_xi, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -266,7 +266,7 @@ void DVCSCFFModel::computeDiagonalGPD() { } -double DVCSCFFModel::computeSquareChargeAveragedGPD( +double DVCSCFFStandard::computeSquareChargeAveragedGPD( const PartonDistribution &partonDistribution) { //TODO comment faire evoluer le calcul si de nouvelles saveurs de quark entrent en jeux double result = 0.; @@ -292,7 +292,7 @@ double DVCSCFFModel::computeSquareChargeAveragedGPD( return result; } -void DVCSCFFModel::computeSubtractionFunctionsV() { +void DVCSCFFStandard::computeSubtractionFunctionsV() { double LogZeta = log(m_Zeta); double LogInvZeta = log((1. - m_Zeta) / m_Zeta); double LogInvZeta2 = LogInvZeta * LogInvZeta; @@ -374,7 +374,7 @@ void DVCSCFFModel::computeSubtractionFunctionsV() { } } -void DVCSCFFModel::computeSubtractionFunctionsA() { +void DVCSCFFStandard::computeSubtractionFunctionsA() { double LogZeta = log(m_Zeta); double LogInvZeta = log((1. - m_Zeta) / m_Zeta); double LogInvZeta2 = LogInvZeta * LogInvZeta; @@ -453,7 +453,7 @@ void DVCSCFFModel::computeSubtractionFunctionsA() { } } -std::complex DVCSCFFModel::computeIntegralsV() { +std::complex DVCSCFFStandard::computeIntegralsV() { double IntegralRealPartKernelQuark1 = 0.; // Integral between 0 and fZeta in real part of amplitude double IntegralRealPartKernelQuark2 = 0.; // Integral between fZeta and 1 in real part of amplitude double IntegralImaginaryPartKernelQuark = 0.; // Integral between 0 and fZeta in imaginary part of amplitude @@ -552,7 +552,7 @@ std::complex DVCSCFFModel::computeIntegralsV() { return std::complex(fRealPartCFF, fImaginaryPartCFF); } -std::complex DVCSCFFModel::computeIntegralsA() { +std::complex DVCSCFFStandard::computeIntegralsA() { double IntegralRealPartKernelQuark1 = 0.; // Integral between 0 and fZeta in real part of amplitude double IntegralRealPartKernelQuark2 = 0.; // Integral between fZeta and 1 in real part of amplitude double IntegralImaginaryPartKernelQuark = 0.; // Integral between 0 and fZeta in imaginary part of amplitude @@ -659,7 +659,7 @@ std::complex DVCSCFFModel::computeIntegralsA() { return std::complex(realPartCFF, imaginaryPartCFF); } -std::complex DVCSCFFModel::KernelQuarkNLOV(double x) { +std::complex DVCSCFFStandard::KernelQuarkNLOV(double x) { double z = x / m_xi; std::complex LogOneMinusz(0., 0.); @@ -681,7 +681,7 @@ std::complex DVCSCFFModel::KernelQuarkNLOV(double x) { * T^{q, V/A} in appendix A, eq. (A1). * */ -std::complex DVCSCFFModel::KernelQuarkV(double x) { +std::complex DVCSCFFStandard::KernelQuarkV(double x) { //std::complex z = std::complex(x / m_xi, 0.); //std::complex quark(); @@ -699,7 +699,7 @@ std::complex DVCSCFFModel::KernelQuarkV(double x) { return quark; } -std::complex DVCSCFFModel::KernelQuarkA(double x) { +std::complex DVCSCFFStandard::KernelQuarkA(double x) { //std::complex z = std::complex(x / m_xi, 0.); //std::complex quark(); @@ -723,7 +723,7 @@ std::complex DVCSCFFModel::KernelQuarkA(double x) { * T^{g, V/A} in appendix A, eq. (A1). * */ -std::complex DVCSCFFModel::KernelGluonV(double x) { +std::complex DVCSCFFStandard::KernelGluonV(double x) { std::complex gluon(0., 0.); @@ -734,7 +734,7 @@ std::complex DVCSCFFModel::KernelGluonV(double x) { return gluon; } -std::complex DVCSCFFModel::KernelGluonA(double x) { +std::complex DVCSCFFStandard::KernelGluonA(double x) { std::complex gluon(0., 0.); @@ -755,7 +755,7 @@ std::complex DVCSCFFModel::KernelGluonA(double x) { * Expressions are modified in order to integrate between 0 and fXi, hence explicitely avoiding GPD behaviour at x = 0. * */ -double DVCSCFFModel::ConvolReKernelQuark1V(double x, +double DVCSCFFStandard::ConvolReKernelQuark1V(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -782,7 +782,7 @@ double DVCSCFFModel::ConvolReKernelQuark1V(double x, * Equivalently x integration domain ranges between fXi and 1. * */ -double DVCSCFFModel::ConvolReKernelQuark2V(double x, +double DVCSCFFStandard::ConvolReKernelQuark2V(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, @@ -811,7 +811,7 @@ double DVCSCFFModel::ConvolReKernelQuark2V(double x, * Equivalently x integration domain ranges between fXi and 1. * */ -double DVCSCFFModel::ConvolImKernelQuarkV(double x, +double DVCSCFFStandard::ConvolImKernelQuarkV(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -839,7 +839,7 @@ double DVCSCFFModel::ConvolImKernelQuarkV(double x, * Expressions are modified in order to integrate between 0 and fXi, hence explicitely avoiding GPD behaviour at x = 0. * */ -double DVCSCFFModel::ConvolReKernelGluon1V(double x, +double DVCSCFFStandard::ConvolReKernelGluon1V(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -866,7 +866,7 @@ double DVCSCFFModel::ConvolReKernelGluon1V(double x, * Equivalently x integration domain ranges between fXi and 1. * */ -double DVCSCFFModel::ConvolReKernelGluon2V(double x, +double DVCSCFFStandard::ConvolReKernelGluon2V(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -894,7 +894,7 @@ double DVCSCFFModel::ConvolReKernelGluon2V(double x, * Equivalently x integration domain ranges between fXi and 1. * */ -double DVCSCFFModel::ConvolImKernelGluonV(double x, +double DVCSCFFStandard::ConvolImKernelGluonV(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -912,7 +912,7 @@ double DVCSCFFModel::ConvolImKernelGluonV(double x, return Convol; } -std::complex DVCSCFFModel::KernelGluonNLOV(double x) { +std::complex DVCSCFFStandard::KernelGluonNLOV(double x) { debug(__func__, "entered"); double z = x / m_xi; @@ -936,7 +936,7 @@ std::complex DVCSCFFModel::KernelGluonNLOV(double x) { return GluonNLOV; } -std::complex DVCSCFFModel::KernelGluonNLOA(double x) { +std::complex DVCSCFFStandard::KernelGluonNLOA(double x) { debug(__func__, "entered"); // // debug( __func__, @@ -961,7 +961,7 @@ std::complex DVCSCFFModel::KernelGluonNLOA(double x) { return GluonNLOA; } -std::complex DVCSCFFModel::KernelQuarkNLOA(double x) { +std::complex DVCSCFFStandard::KernelQuarkNLOA(double x) { double z = x / m_xi; std::complex LogOneMinusz(0., 0.); @@ -982,7 +982,7 @@ std::complex DVCSCFFModel::KernelQuarkNLOA(double x) { return QuarkNLOA; } -double DVCSCFFModel::ConvolReKernelQuark1A(double x, +double DVCSCFFStandard::ConvolReKernelQuark1A(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -1001,7 +1001,7 @@ double DVCSCFFModel::ConvolReKernelQuark1A(double x, return Convol; } -double DVCSCFFModel::ConvolReKernelQuark2A(double x, +double DVCSCFFStandard::ConvolReKernelQuark2A(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -1022,7 +1022,7 @@ double DVCSCFFModel::ConvolReKernelQuark2A(double x, return Convol; } -double DVCSCFFModel::ConvolImKernelQuarkA(double x, +double DVCSCFFStandard::ConvolImKernelQuarkA(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -1040,7 +1040,7 @@ double DVCSCFFModel::ConvolImKernelQuarkA(double x, return Convol; } -double DVCSCFFModel::ConvolReKernelGluon1A(double x, +double DVCSCFFStandard::ConvolReKernelGluon1A(double x, std::vector params) { debug(__func__, "Entered"); @@ -1062,7 +1062,7 @@ double DVCSCFFModel::ConvolReKernelGluon1A(double x, return Convol; } -double DVCSCFFModel::ConvolReKernelGluon2A(double x, +double DVCSCFFStandard::ConvolReKernelGluon2A(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -1083,7 +1083,7 @@ double DVCSCFFModel::ConvolReKernelGluon2A(double x, return Convol; } -double DVCSCFFModel::ConvolImKernelGluonA(double x, +double DVCSCFFStandard::ConvolImKernelGluonA(double x, std::vector params) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); diff --git a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGGModel.cpp b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGG.cpp similarity index 82% rename from src/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGGModel.cpp rename to src/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGG.cpp index adf4f9f1..fc0ecaed 100644 --- a/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGGModel.cpp +++ b/src/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGG.cpp @@ -1,5 +1,3 @@ -#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGGModel.h" - #include #include #include @@ -18,19 +16,21 @@ #include "../../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" -#include "../../../../../include/partons/modules/active_flavors/NfFunctionExample.h" -#include "../../../../../include/partons/modules/alphaS/RunningAlphaStrong.h" +#include "../../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFVGG.h" + +#include "../../../../../include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h" +#include "../../../../../include/partons/modules/alphaS/RunningAlphaStrongStandard.h" #include "../../../../../include/partons/modules/GPDModule.h" #include "../../../../../include/partons/ModuleObjectFactory.h" #include "../../../../../include/partons/Partons.h" -const unsigned int DVCSCFFVGGModel::classId = +const unsigned int DVCSCFFVGG::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new DVCSCFFVGGModel("DVCSCFFVGGModel")); + new DVCSCFFVGG("DVCSCFFVGG")); -const std::string DVCSCFFVGGModel::PARAMETER_NAME_EPS = "DVCSCFFVGGModel_Eps"; +const std::string DVCSCFFVGG::PARAMETER_NAME_EPS = "DVCSCFFVGGModel_Eps"; -DVCSCFFVGGModel::DVCSCFFVGGModel(const std::string& className) : +DVCSCFFVGG::DVCSCFFVGG(const std::string& className) : DVCSConvolCoeffFunctionModule(className) { eps_cffint = 1.E-3; @@ -53,11 +53,11 @@ DVCSCFFVGGModel::DVCSCFFVGGModel(const std::string& className) : initFunctorsForIntegrations(); } -DVCSCFFVGGModel* DVCSCFFVGGModel::clone() const { - return new DVCSCFFVGGModel(*this); +DVCSCFFVGG* DVCSCFFVGG::clone() const { + return new DVCSCFFVGG(*this); } -DVCSCFFVGGModel::~DVCSCFFVGGModel() { +DVCSCFFVGG::~DVCSCFFVGG() { if (m_pIntd_vector_part) { delete m_pIntd_vector_part; @@ -70,15 +70,15 @@ DVCSCFFVGGModel::~DVCSCFFVGGModel() { } } -void DVCSCFFVGGModel::initFunctorsForIntegrations() { +void DVCSCFFVGG::initFunctorsForIntegrations() { m_pIntd_vector_part = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFVGGModel::intd_vector_part); + &DVCSCFFVGG::intd_vector_part); m_pIntc_vector_part = NumA::Integrator1D::newIntegrationFunctor(this, - &DVCSCFFVGGModel::intc_vector_part); + &DVCSCFFVGG::intc_vector_part); } //TODO init in mother class ? ; propagate init to mother class ? -void DVCSCFFVGGModel::resolveObjectDependencies() { +void DVCSCFFVGG::resolveObjectDependencies() { setIntegrator(NumA::IntegratorType1D::GaussLegendre); ElemUtils::Parameters parameters( @@ -87,21 +87,21 @@ void DVCSCFFVGGModel::resolveObjectDependencies() { m_pRunningAlphaStrongModule = Partons::getInstance()->getModuleObjectFactory()->newRunningAlphaStrongModule( - RunningAlphaStrong::classId); + RunningAlphaStrongStandard::classId); m_pNfConvolCoeffFunction = Partons::getInstance()->getModuleObjectFactory()->newActiveFlavorsModule( - NfFunctionExample::classId); + ActiveFlavorsQuarkMasses::classId); } -void DVCSCFFVGGModel::configure(const ElemUtils::Parameters ¶meters) { +void DVCSCFFVGG::configure(const ElemUtils::Parameters ¶meters) { - if (parameters.isAvailable(DVCSCFFVGGModel::PARAMETER_NAME_EPS)) { + if (parameters.isAvailable(DVCSCFFVGG::PARAMETER_NAME_EPS)) { eps_cffint = parameters.getLastAvailable().toDouble(); } } -DVCSCFFVGGModel::DVCSCFFVGGModel(const DVCSCFFVGGModel& other) : +DVCSCFFVGG::DVCSCFFVGG(const DVCSCFFVGG& other) : DVCSConvolCoeffFunctionModule(other) { eps_cffint = other.eps_cffint; @@ -110,15 +110,15 @@ DVCSCFFVGGModel::DVCSCFFVGGModel(const DVCSCFFVGGModel& other) : initFunctorsForIntegrations(); } -void DVCSCFFVGGModel::initModule() { +void DVCSCFFVGG::initModule() { DVCSConvolCoeffFunctionModule::initModule(); } -void DVCSCFFVGGModel::isModuleWellConfigured() { +void DVCSCFFVGG::isModuleWellConfigured() { DVCSConvolCoeffFunctionModule::isModuleWellConfigured(); } -std::complex DVCSCFFVGGModel::computeUnpolarized() { +std::complex DVCSCFFVGG::computeUnpolarized() { //check pQCD order if (m_qcdOrderType != PerturbativeQCDOrderType::LO) { @@ -135,7 +135,7 @@ std::complex DVCSCFFVGGModel::computeUnpolarized() { return calculate_direct() + calculate_crossed(); } -std::complex DVCSCFFVGGModel::computePolarized() { +std::complex DVCSCFFVGG::computePolarized() { //check pQCD order if (m_qcdOrderType != PerturbativeQCDOrderType::LO) { @@ -152,7 +152,7 @@ std::complex DVCSCFFVGGModel::computePolarized() { return calculate_direct() - calculate_crossed(); } -double DVCSCFFVGGModel::calculate_gpd_combination( +double DVCSCFFVGG::calculate_gpd_combination( const PartonDistribution &partonDistribution) { return partonDistribution.getQuarkDistribution(QuarkFlavor::UP).getQuarkDistributionPlus() @@ -163,7 +163,7 @@ double DVCSCFFVGGModel::calculate_gpd_combination( * Constant::S2_ELEC_CHARGE; } -void DVCSCFFVGGModel::calculate_xixit_value() { +void DVCSCFFVGG::calculate_xixit_value() { PartonDistribution partonDistribution = m_pGPDModule->compute(m_xi, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -171,7 +171,7 @@ void DVCSCFFVGGModel::calculate_xixit_value() { xixit = calculate_gpd_combination(partonDistribution); } -double DVCSCFFVGGModel::intd_vector_part(double x, std::vector par) { +double DVCSCFFVGG::intd_vector_part(double x, std::vector par) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -179,7 +179,7 @@ double DVCSCFFVGGModel::intd_vector_part(double x, std::vector par) { return (calculate_gpd_combination(partonDistribution) - xixit) / (x - m_xi); } -double DVCSCFFVGGModel::intc_vector_part(double x, std::vector par) { +double DVCSCFFVGG::intc_vector_part(double x, std::vector par) { PartonDistribution partonDistribution = m_pGPDModule->compute(x, m_xi, m_t, m_MuF2, m_MuR2, m_currentGPDComputeType); @@ -187,7 +187,7 @@ double DVCSCFFVGGModel::intc_vector_part(double x, std::vector par) { return calculate_gpd_combination(partonDistribution) / (x + m_xi); } -std::complex DVCSCFFVGGModel::calculate_direct() { +std::complex DVCSCFFVGG::calculate_direct() { //check allowed range of xi if (m_xi - eps_cffint < 0. || m_xi + eps_cffint > 1.) { @@ -216,7 +216,7 @@ std::complex DVCSCFFVGGModel::calculate_direct() { -Constant::PI * xixit); } -std::complex DVCSCFFVGGModel::calculate_crossed() { +std::complex DVCSCFFVGG::calculate_crossed() { //check allowed range of xi if (m_xi - eps_cffint < 0. || m_xi + eps_cffint > 1.) { diff --git a/src/partons/modules/convol_coeff_function/DVCS/DVCSConvolCoeffFunctionModule.cpp b/src/partons/modules/convol_coeff_function/DVCS/DVCSConvolCoeffFunctionModule.cpp index bd4a6d83..9e2eb4c9 100644 --- a/src/partons/modules/convol_coeff_function/DVCS/DVCSConvolCoeffFunctionModule.cpp +++ b/src/partons/modules/convol_coeff_function/DVCS/DVCSConvolCoeffFunctionModule.cpp @@ -6,8 +6,8 @@ #include #include "../../../../../include/partons/beans/observable/ObservableChannel.h" -#include "../../../../../include/partons/modules/active_flavors/NfFunctionExample.h" -#include "../../../../../include/partons/modules/alphaS/RunningAlphaStrong.h" +#include "../../../../../include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h" +#include "../../../../../include/partons/modules/alphaS/RunningAlphaStrongStandard.h" #include "../../../../../include/partons/ModuleObjectFactory.h" #include "../../../../../include/partons/Partons.h" @@ -72,11 +72,11 @@ void DVCSConvolCoeffFunctionModule::resolveObjectDependencies() { m_pRunningAlphaStrongModule = Partons::getInstance()->getModuleObjectFactory()->newRunningAlphaStrongModule( - RunningAlphaStrong::classId); + RunningAlphaStrongStandard::classId); m_pNfConvolCoeffFunction = Partons::getInstance()->getModuleObjectFactory()->newActiveFlavorsModule( - NfFunctionExample::classId); + ActiveFlavorsQuarkMasses::classId); } //TODO implement diff --git a/src/partons/modules/evolution/GPDEvolutionModule.cpp b/src/partons/modules/evolution/GPDEvolutionModule.cpp index 4900726a..e530e3fe 100644 --- a/src/partons/modules/evolution/GPDEvolutionModule.cpp +++ b/src/partons/modules/evolution/GPDEvolutionModule.cpp @@ -11,8 +11,8 @@ #include "../../../../include/partons/beans/parton_distribution/GluonDistribution.h" #include "../../../../include/partons/beans/parton_distribution/PartonDistribution.h" #include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" -#include "../../../../include/partons/modules/active_flavors/NfFunctionExample.h" -#include "../../../../include/partons/modules/alphaS/RunningAlphaStrong.h" +#include "../../../../include/partons/modules/active_flavors/ActiveFlavorsQuarkMasses.h" +#include "../../../../include/partons/modules/alphaS/RunningAlphaStrongStandard.h" #include "../../../../include/partons/modules/GPDModule.h" #include "../../../../include/partons/ModuleObjectFactory.h" #include "../../../../include/partons/Partons.h" @@ -222,15 +222,15 @@ GPDEvolutionModule::~GPDEvolutionModule() { void GPDEvolutionModule::resolveObjectDependencies() { m_pRunningAlphaStrong = Partons::getInstance()->getModuleObjectFactory()->newRunningAlphaStrongModule( - RunningAlphaStrong::classId); + RunningAlphaStrongStandard::classId); m_pNfFunction = Partons::getInstance()->getModuleObjectFactory()->newActiveFlavorsModule( - NfFunctionExample::classId); + ActiveFlavorsQuarkMasses::classId); m_pNfEvolFunction = Partons::getInstance()->getModuleObjectFactory()->newActiveFlavorsModule( - NfFunctionExample::classId); + ActiveFlavorsQuarkMasses::classId); } //TODO logger diff --git a/src/partons/modules/gpd/GK11Model.cpp b/src/partons/modules/gpd/GPDGK11.cpp similarity index 92% rename from src/partons/modules/gpd/GK11Model.cpp rename to src/partons/modules/gpd/GPDGK11.cpp index 19d6f2f5..027b6901 100644 --- a/src/partons/modules/gpd/GK11Model.cpp +++ b/src/partons/modules/gpd/GPDGK11.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/GK11Model.h" - #include #include #include @@ -16,14 +14,15 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDGK11.h" // Initialise [class]::classId with a unique name. -const unsigned int GK11Model::classId = +const unsigned int GPDGK11::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11Model("GK11Model")); + new GPDGK11("GPDGK11")); //TODO initialise missing members -GK11Model::GK11Model(const std::string &className) : +GPDGK11::GPDGK11(const std::string &className) : GPDModule(className) { m_nf = 3; fL = 0.; @@ -60,7 +59,7 @@ GK11Model::GK11Model(const std::string &className) : std::make_pair(GPDType::Et, &GPDModule::computeEt)); } -GK11Model::GK11Model(const GK11Model& other) : +GPDGK11::GPDGK11(const GPDGK11& other) : GPDModule(other) { c1 = other.getC1(); c2 = other.getC2(); @@ -120,24 +119,24 @@ GK11Model::GK11Model(const GK11Model& other) : Etdval1mtab = other.getEtdval1mtab(); } -GK11Model* GK11Model::clone() const { - return new GK11Model(*this); +GPDGK11* GPDGK11::clone() const { + return new GPDGK11(*this); } -GK11Model::~GK11Model() { +GPDGK11::~GPDGK11() { } -void GK11Model::configure(const ElemUtils::Parameters ¶meters) { +void GPDGK11::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } //TODO implement -void GK11Model::isModuleWellConfigured() { +void GPDGK11::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void GK11Model::initModule() { +void GPDGK11::initModule() { GPDModule::initModule(); fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale @@ -146,7 +145,7 @@ void GK11Model::initModule() { ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ } -PartonDistribution GK11Model::computeH() { +PartonDistribution GPDGK11::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -258,7 +257,7 @@ PartonDistribution GK11Model::computeH() { return partonDistribution; } -PartonDistribution GK11Model::computeHt() { +PartonDistribution GPDGK11::computeHt() { debug(__func__, "Entered function ..."); @@ -373,7 +372,7 @@ PartonDistribution GK11Model::computeHt() { return partonDistribution; } -PartonDistribution GK11Model::computeE() { +PartonDistribution GPDGK11::computeE() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -467,7 +466,7 @@ PartonDistribution GK11Model::computeE() { return partonDistribution; } -PartonDistribution GK11Model::computeEt() { +PartonDistribution GPDGK11::computeEt() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -569,7 +568,7 @@ PartonDistribution GK11Model::computeEt() { // return result; //} -void GK11Model::calculateHCoefs() { +void GPDGK11::calculateHCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow (full calculation with cln ) @@ -668,7 +667,7 @@ void GK11Model::calculateHCoefs() { } } -void GK11Model::calculateHKas() { +void GPDGK11::calculateHKas() { double alpha, delta; // gluons @@ -696,7 +695,7 @@ void GK11Model::calculateHKas() { kHdval = delta + alpha * m_t; } -double GK11Model::Hs1(double x, double i, double k) { +double GPDGK11::Hs1(double x, double i, double k) { double dummy; @@ -745,7 +744,7 @@ double GK11Model::Hs1(double x, double i, double k) { return dummy; } -double GK11Model::Hi1(double x, double i, double k) { +double GPDGK11::Hi1(double x, double i, double k) { double dummy; @@ -790,7 +789,7 @@ double GK11Model::Hi1(double x, double i, double k) { return dummy; } -double GK11Model::Hs1_alt(double x, double i, double k) { +double GPDGK11::Hs1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -851,7 +850,7 @@ double GK11Model::Hs1_alt(double x, double i, double k) { return dummy; } -double GK11Model::Hi1_alt(double x, double i, double k) { +double GPDGK11::Hi1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -914,7 +913,7 @@ double GK11Model::Hi1_alt(double x, double i, double k) { return dummy; } -double GK11Model::Hval1(double x, double i, double k) { +double GPDGK11::Hval1(double x, double i, double k) { double dummy; @@ -944,7 +943,7 @@ double GK11Model::Hval1(double x, double i, double k) { return dummy; } -double GK11Model::Hval1_alt(double x, double i, double k) { +double GPDGK11::Hval1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2; @@ -1014,7 +1013,7 @@ double GK11Model::Hval1_alt(double x, double i, double k) { * ( gluons only for now, Htilde_sea = 0 for Kroll ) * */ -void GK11Model::calculateHtCoefs() { +void GPDGK11::calculateHtCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1103,7 +1102,7 @@ void GK11Model::calculateHtCoefs() { * Compute t-dependence of GPD Ht correlated to x. * */ -void GK11Model::calculateHtKas() { +void GPDGK11::calculateHtKas() { double alpha, delta; // gluons @@ -1138,7 +1137,7 @@ void GK11Model::calculateHtKas() { * Exactly the same as Hval1_alt and Eval1_alt. * */ -double GK11Model::Htval1_alt(double x, double i, double k) { +double GPDGK11::Htval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1148,7 +1147,7 @@ double GK11Model::Htval1_alt(double x, double i, double k) { * Exactly the same as Hs1. * */ -double GK11Model::Hti1(double x, double i, double k) { +double GPDGK11::Hti1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1159,7 +1158,7 @@ double GK11Model::Hti1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK11Model::Hti1_alt(double x, double i, double k) { +double GPDGK11::Hti1_alt(double x, double i, double k) { //return Hs1_alt(_xi, x, i, k); @@ -1234,7 +1233,7 @@ double GK11Model::Hti1_alt(double x, double i, double k) { * Exactly the same as Hval1 and Eval1. * */ -double GK11Model::Htval1(double x, double i, double k) { +double GPDGK11::Htval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1257,7 +1256,7 @@ double GK11Model::Htval1(double x, double i, double k) { * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. * */ -void GK11Model::calculateECoefs() { +void GPDGK11::calculateECoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1367,7 +1366,7 @@ void GK11Model::calculateECoefs() { * Compute t-dependence of GPD H correlated to x. * */ -void GK11Model::calculateEKas() { +void GPDGK11::calculateEKas() { double alpha, delta; // gluons @@ -1402,7 +1401,7 @@ void GK11Model::calculateEKas() { * Exactly the same as Hs1. * */ -double GK11Model::Es1(double x, double i, double k) { +double GPDGK11::Es1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1412,7 +1411,7 @@ double GK11Model::Es1(double x, double i, double k) { * Exactly the same as Hi1. * */ -double GK11Model::Ei1(double x, double i, double k) { +double GPDGK11::Ei1(double x, double i, double k) { return Hi1(x, i, k); } @@ -1422,7 +1421,7 @@ double GK11Model::Ei1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK11Model::Es1_alt(double x, double i, double k) { +double GPDGK11::Es1_alt(double x, double i, double k) { return Hs1_alt(x, i, k); } @@ -1432,7 +1431,7 @@ double GK11Model::Es1_alt(double x, double i, double k) { * Exactly the same as Hi1_alt. * */ -double GK11Model::Ei1_alt(double x, double i, double k) { +double GPDGK11::Ei1_alt(double x, double i, double k) { return Hi1_alt(x, i, k); } @@ -1442,7 +1441,7 @@ double GK11Model::Ei1_alt(double x, double i, double k) { * Exactly the same as Hval1. * */ -double GK11Model::Eval1(double x, double i, double k) { +double GPDGK11::Eval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1452,7 +1451,7 @@ double GK11Model::Eval1(double x, double i, double k) { * Exactly the same as Hval1_alt. * */ -double GK11Model::Eval1_alt(double x, double i, double k) { +double GPDGK11::Eval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1472,7 +1471,7 @@ double GK11Model::Eval1_alt(double x, double i, double k) { * For the sea ( and gluons later ) * */ -void GK11Model::calculateEtCoefs() { +void GPDGK11::calculateEtCoefs() { int slow_val = 0; // if = 1 : slow ( full calculation with cln ) // For valence @@ -1536,7 +1535,7 @@ void GK11Model::calculateEtCoefs() { * Compute t-dependence of GPD Et correlated to x. * */ -void GK11Model::calculateEtKas() { +void GPDGK11::calculateEtKas() { double alpha, delta; // gluons, not modelled by GK. @@ -1564,7 +1563,7 @@ void GK11Model::calculateEtKas() { * Pion pole contribution to Et. * */ -double GK11Model::Et_pole(double x) { +double GPDGK11::Et_pole(double x) { //TODO extraire les constantes si existantes @@ -1621,7 +1620,7 @@ double GK11Model::Et_pole(double x) { * end if: end if: * */ -double GK11Model::Etval1(double x, double i, double k) { +double GPDGK11::Etval1(double x, double i, double k) { double dum; if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() @@ -1657,234 +1656,234 @@ double GK11Model::Etval1(double x, double i, double k) { * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. * */ -double GK11Model::Etval1_alt(double x, double i, double k) { +double GPDGK11::Etval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } -double GK11Model::getB0() const { +double GPDGK11::getB0() const { return b0; } -double GK11Model::getC1() const { +double GPDGK11::getC1() const { return c1; } -double GK11Model::getC2() const { +double GPDGK11::getC2() const { return c2; } -double GK11Model::getC3() const { +double GPDGK11::getC3() const { return c3; } -double GK11Model::getC4() const { +double GPDGK11::getC4() const { return c4; } -double GK11Model::getC5() const { +double GPDGK11::getC5() const { return c5; } -double GK11Model::getC6() const { +double GPDGK11::getC6() const { return c6; } -double GK11Model::getC7() const { +double GPDGK11::getC7() const { return c7; } -double GK11Model::getC8() const { +double GPDGK11::getC8() const { return c8; } -const std::vector& GK11Model::getEdval1mtab() const { +const std::vector& GPDGK11::getEdval1mtab() const { return Edval1mtab; } -const std::vector& GK11Model::getEdval1tab() const { +const std::vector& GPDGK11::getEdval1tab() const { return Edval1tab; } -const std::vector& GK11Model::getEi1tab() const { +const std::vector& GPDGK11::getEi1tab() const { return Ei1tab; } -const std::vector& GK11Model::getEs1tab() const { +const std::vector& GPDGK11::getEs1tab() const { return Es1tab; } -const std::vector& GK11Model::getEtdval1mtab() const { +const std::vector& GPDGK11::getEtdval1mtab() const { return Etdval1mtab; } -const std::vector& GK11Model::getEtdval1tab() const { +const std::vector& GPDGK11::getEtdval1tab() const { return Etdval1tab; } -const std::vector& GK11Model::getEtuval1mtab() const { +const std::vector& GPDGK11::getEtuval1mtab() const { return Etuval1mtab; } -const std::vector& GK11Model::getEtuval1tab() const { +const std::vector& GPDGK11::getEtuval1tab() const { return Etuval1tab; } -const std::vector& GK11Model::getEuval1mtab() const { +const std::vector& GPDGK11::getEuval1mtab() const { return Euval1mtab; } -const std::vector& GK11Model::getEuval1tab() const { +const std::vector& GPDGK11::getEuval1tab() const { return Euval1tab; } -double GK11Model::getEdValMx() const { +double GPDGK11::getEdValMx() const { return fEdValMx; } -double GK11Model::getEtdValMx() const { +double GPDGK11::getEtdValMx() const { return fEtdValMx; } -double GK11Model::getEtuValMx() const { +double GPDGK11::getEtuValMx() const { return fEtuValMx; } -double GK11Model::getEuValMx() const { +double GPDGK11::getEuValMx() const { return fEuValMx; } -double GK11Model::getHdValMx() const { +double GPDGK11::getHdValMx() const { return fHdValMx; } -double GK11Model::getHtdValMx() const { +double GPDGK11::getHtdValMx() const { return fHtdValMx; } -double GK11Model::getHtuValMx() const { +double GPDGK11::getHtuValMx() const { return fHtuValMx; } -double GK11Model::getHuValMx() const { +double GPDGK11::getHuValMx() const { return fHuValMx; } -double GK11Model::getL() const { +double GPDGK11::getL() const { return fL; } -const std::vector& GK11Model::getHdval1mtab() const { +const std::vector& GPDGK11::getHdval1mtab() const { return Hdval1mtab; } -const std::vector& GK11Model::getHdval1tab() const { +const std::vector& GPDGK11::getHdval1tab() const { return Hdval1tab; } -const std::vector& GK11Model::getHi1tab() const { +const std::vector& GPDGK11::getHi1tab() const { return Hi1tab; } -const std::vector& GK11Model::getHs1tab() const { +const std::vector& GPDGK11::getHs1tab() const { return Hs1tab; } -const std::vector& GK11Model::getHtdval1mtab() const { +const std::vector& GPDGK11::getHtdval1mtab() const { return Htdval1mtab; } -const std::vector& GK11Model::getHtdval1tab() const { +const std::vector& GPDGK11::getHtdval1tab() const { return Htdval1tab; } -const std::vector& GK11Model::getHti1tab() const { +const std::vector& GPDGK11::getHti1tab() const { return Hti1tab; } -const std::vector& GK11Model::getHtuval1mtab() const { +const std::vector& GPDGK11::getHtuval1mtab() const { return Htuval1mtab; } -const std::vector& GK11Model::getHtuval1tab() const { +const std::vector& GPDGK11::getHtuval1tab() const { return Htuval1tab; } -const std::vector& GK11Model::getHuval1mtab() const { +const std::vector& GPDGK11::getHuval1mtab() const { return Huval1mtab; } -const std::vector& GK11Model::getHuval1tab() const { +const std::vector& GPDGK11::getHuval1tab() const { return Huval1tab; } -double GK11Model::getKappaS() const { +double GPDGK11::getKappaS() const { return kappa_s; } -double GK11Model::getEdval() const { +double GPDGK11::getEdval() const { return kEdval; } -double GK11Model::getEgluon() const { +double GPDGK11::getEgluon() const { return kEgluon; } -double GK11Model::getEsea() const { +double GPDGK11::getEsea() const { return kEsea; } -double GK11Model::getEtdval() const { +double GPDGK11::getEtdval() const { return kEtdval; } -double GK11Model::getEtgluon() const { +double GPDGK11::getEtgluon() const { return kEtgluon; } -double GK11Model::getEtsea() const { +double GPDGK11::getEtsea() const { return kEtsea; } -double GK11Model::getEtuval() const { +double GPDGK11::getEtuval() const { return kEtuval; } -double GK11Model::getEuval() const { +double GPDGK11::getEuval() const { return kEuval; } -double GK11Model::getHdval() const { +double GPDGK11::getHdval() const { return kHdval; } -double GK11Model::getHgluon() const { +double GPDGK11::getHgluon() const { return kHgluon; } -double GK11Model::getHsea() const { +double GPDGK11::getHsea() const { return kHsea; } -double GK11Model::getHtdval() const { +double GPDGK11::getHtdval() const { return kHtdval; } -double GK11Model::getHtgluon() const { +double GPDGK11::getHtgluon() const { return kHtgluon; } -double GK11Model::getHtsea() const { +double GPDGK11::getHtsea() const { return kHtsea; } -double GK11Model::getHtuval() const { +double GPDGK11::getHtuval() const { return kHtuval; } -double GK11Model::getHuval() const { +double GPDGK11::getHuval() const { return kHuval; } -std::string GK11Model::toString() const { +std::string GPDGK11::toString() const { return GPDModule::toString(); } diff --git a/src/partons/modules/gpd/GK11Gluonless.cpp b/src/partons/modules/gpd/GPDGK11Gluonless.cpp similarity index 91% rename from src/partons/modules/gpd/GK11Gluonless.cpp rename to src/partons/modules/gpd/GPDGK11Gluonless.cpp index 038de288..716ac565 100644 --- a/src/partons/modules/gpd/GK11Gluonless.cpp +++ b/src/partons/modules/gpd/GPDGK11Gluonless.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/GK11Gluonless.h" - #include #include #include @@ -16,14 +14,15 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDGK11Gluonless.h" // Initialise [class]::classId with a unique name. -const unsigned int GK11Gluonless::classId = +const unsigned int GPDGK11Gluonless::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11Gluonless("GK11Gluonless")); + new GPDGK11Gluonless("GPDGK11Gluonless")); //TODO initialise missing members -GK11Gluonless::GK11Gluonless(const std::string &className) : +GPDGK11Gluonless::GPDGK11Gluonless(const std::string &className) : GPDModule(className) { m_nf = 3; fL = 0.; @@ -60,7 +59,7 @@ GK11Gluonless::GK11Gluonless(const std::string &className) : std::make_pair(GPDType::Et, &GPDModule::computeEt)); } -GK11Gluonless::GK11Gluonless(const GK11Gluonless& other) : +GPDGK11Gluonless::GPDGK11Gluonless(const GPDGK11Gluonless& other) : GPDModule(other) { c1 = other.getC1(); c2 = other.getC2(); @@ -120,24 +119,24 @@ GK11Gluonless::GK11Gluonless(const GK11Gluonless& other) : Etdval1mtab = other.getEtdval1mtab(); } -GK11Gluonless* GK11Gluonless::clone() const { - return new GK11Gluonless(*this); +GPDGK11Gluonless* GPDGK11Gluonless::clone() const { + return new GPDGK11Gluonless(*this); } -GK11Gluonless::~GK11Gluonless() { +GPDGK11Gluonless::~GPDGK11Gluonless() { } -void GK11Gluonless::configure(const ElemUtils::Parameters ¶meters) { +void GPDGK11Gluonless::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } //TODO implement -void GK11Gluonless::isModuleWellConfigured() { +void GPDGK11Gluonless::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void GK11Gluonless::initModule() { +void GPDGK11Gluonless::initModule() { GPDModule::initModule(); fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale @@ -146,7 +145,7 @@ void GK11Gluonless::initModule() { ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ } -PartonDistribution GK11Gluonless::computeH() { +PartonDistribution GPDGK11Gluonless::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -255,7 +254,7 @@ PartonDistribution GK11Gluonless::computeH() { return partonDistribution; } -PartonDistribution GK11Gluonless::computeHt() { +PartonDistribution GPDGK11Gluonless::computeHt() { debug(__func__, "Entered function ..."); @@ -367,7 +366,7 @@ PartonDistribution GK11Gluonless::computeHt() { return partonDistribution; } -PartonDistribution GK11Gluonless::computeE() { +PartonDistribution GPDGK11Gluonless::computeE() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -460,7 +459,7 @@ PartonDistribution GK11Gluonless::computeE() { return partonDistribution; } -PartonDistribution GK11Gluonless::computeEt() { +PartonDistribution GPDGK11Gluonless::computeEt() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -562,7 +561,7 @@ PartonDistribution GK11Gluonless::computeEt() { // return result; //} -void GK11Gluonless::calculateHCoefs() { +void GPDGK11Gluonless::calculateHCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow (full calculation with cln ) @@ -661,7 +660,7 @@ void GK11Gluonless::calculateHCoefs() { } } -void GK11Gluonless::calculateHKas() { +void GPDGK11Gluonless::calculateHKas() { double alpha, delta; // gluons @@ -689,7 +688,7 @@ void GK11Gluonless::calculateHKas() { kHdval = delta + alpha * m_t; } -double GK11Gluonless::Hs1(double x, double i, double k) { +double GPDGK11Gluonless::Hs1(double x, double i, double k) { double dummy; @@ -738,7 +737,7 @@ double GK11Gluonless::Hs1(double x, double i, double k) { return dummy; } -double GK11Gluonless::Hi1(double x, double i, double k) { +double GPDGK11Gluonless::Hi1(double x, double i, double k) { double dummy; @@ -783,7 +782,7 @@ double GK11Gluonless::Hi1(double x, double i, double k) { return dummy; } -double GK11Gluonless::Hs1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Hs1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -844,7 +843,7 @@ double GK11Gluonless::Hs1_alt(double x, double i, double k) { return dummy; } -double GK11Gluonless::Hi1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Hi1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -907,7 +906,7 @@ double GK11Gluonless::Hi1_alt(double x, double i, double k) { return dummy; } -double GK11Gluonless::Hval1(double x, double i, double k) { +double GPDGK11Gluonless::Hval1(double x, double i, double k) { double dummy; @@ -937,7 +936,7 @@ double GK11Gluonless::Hval1(double x, double i, double k) { return dummy; } -double GK11Gluonless::Hval1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Hval1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2; @@ -1007,7 +1006,7 @@ double GK11Gluonless::Hval1_alt(double x, double i, double k) { * ( gluons only for now, Htilde_sea = 0 for Kroll ) * */ -void GK11Gluonless::calculateHtCoefs() { +void GPDGK11Gluonless::calculateHtCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1096,7 +1095,7 @@ void GK11Gluonless::calculateHtCoefs() { * Compute t-dependence of GPD Ht correlated to x. * */ -void GK11Gluonless::calculateHtKas() { +void GPDGK11Gluonless::calculateHtKas() { double alpha, delta; // gluons @@ -1131,7 +1130,7 @@ void GK11Gluonless::calculateHtKas() { * Exactly the same as Hval1_alt and Eval1_alt. * */ -double GK11Gluonless::Htval1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Htval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1141,7 +1140,7 @@ double GK11Gluonless::Htval1_alt(double x, double i, double k) { * Exactly the same as Hs1. * */ -double GK11Gluonless::Hti1(double x, double i, double k) { +double GPDGK11Gluonless::Hti1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1152,7 +1151,7 @@ double GK11Gluonless::Hti1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK11Gluonless::Hti1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Hti1_alt(double x, double i, double k) { //return Hs1_alt(_xi, x, i, k); @@ -1227,7 +1226,7 @@ double GK11Gluonless::Hti1_alt(double x, double i, double k) { * Exactly the same as Hval1 and Eval1. * */ -double GK11Gluonless::Htval1(double x, double i, double k) { +double GPDGK11Gluonless::Htval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1250,7 +1249,7 @@ double GK11Gluonless::Htval1(double x, double i, double k) { * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. * */ -void GK11Gluonless::calculateECoefs() { +void GPDGK11Gluonless::calculateECoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1360,7 +1359,7 @@ void GK11Gluonless::calculateECoefs() { * Compute t-dependence of GPD H correlated to x. * */ -void GK11Gluonless::calculateEKas() { +void GPDGK11Gluonless::calculateEKas() { double alpha, delta; // gluons @@ -1395,7 +1394,7 @@ void GK11Gluonless::calculateEKas() { * Exactly the same as Hs1. * */ -double GK11Gluonless::Es1(double x, double i, double k) { +double GPDGK11Gluonless::Es1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1405,7 +1404,7 @@ double GK11Gluonless::Es1(double x, double i, double k) { * Exactly the same as Hi1. * */ -double GK11Gluonless::Ei1(double x, double i, double k) { +double GPDGK11Gluonless::Ei1(double x, double i, double k) { return Hi1(x, i, k); } @@ -1415,7 +1414,7 @@ double GK11Gluonless::Ei1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK11Gluonless::Es1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Es1_alt(double x, double i, double k) { return Hs1_alt(x, i, k); } @@ -1425,7 +1424,7 @@ double GK11Gluonless::Es1_alt(double x, double i, double k) { * Exactly the same as Hi1_alt. * */ -double GK11Gluonless::Ei1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Ei1_alt(double x, double i, double k) { return Hi1_alt(x, i, k); } @@ -1435,7 +1434,7 @@ double GK11Gluonless::Ei1_alt(double x, double i, double k) { * Exactly the same as Hval1. * */ -double GK11Gluonless::Eval1(double x, double i, double k) { +double GPDGK11Gluonless::Eval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1445,7 +1444,7 @@ double GK11Gluonless::Eval1(double x, double i, double k) { * Exactly the same as Hval1_alt. * */ -double GK11Gluonless::Eval1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Eval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1465,7 +1464,7 @@ double GK11Gluonless::Eval1_alt(double x, double i, double k) { * For the sea ( and gluons later ) * */ -void GK11Gluonless::calculateEtCoefs() { +void GPDGK11Gluonless::calculateEtCoefs() { int slow_val = 0; // if = 1 : slow ( full calculation with cln ) // For valence @@ -1529,7 +1528,7 @@ void GK11Gluonless::calculateEtCoefs() { * Compute t-dependence of GPD Et correlated to x. * */ -void GK11Gluonless::calculateEtKas() { +void GPDGK11Gluonless::calculateEtKas() { double alpha, delta; // gluons, not modelled by GK. @@ -1557,7 +1556,7 @@ void GK11Gluonless::calculateEtKas() { * Pion pole contribution to Et. * */ -double GK11Gluonless::Et_pole(double x) { +double GPDGK11Gluonless::Et_pole(double x) { //TODO extraire les constantes si existantes @@ -1614,7 +1613,7 @@ double GK11Gluonless::Et_pole(double x) { * end if: end if: * */ -double GK11Gluonless::Etval1(double x, double i, double k) { +double GPDGK11Gluonless::Etval1(double x, double i, double k) { double dum; if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() @@ -1650,234 +1649,234 @@ double GK11Gluonless::Etval1(double x, double i, double k) { * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. * */ -double GK11Gluonless::Etval1_alt(double x, double i, double k) { +double GPDGK11Gluonless::Etval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } -double GK11Gluonless::getB0() const { +double GPDGK11Gluonless::getB0() const { return b0; } -double GK11Gluonless::getC1() const { +double GPDGK11Gluonless::getC1() const { return c1; } -double GK11Gluonless::getC2() const { +double GPDGK11Gluonless::getC2() const { return c2; } -double GK11Gluonless::getC3() const { +double GPDGK11Gluonless::getC3() const { return c3; } -double GK11Gluonless::getC4() const { +double GPDGK11Gluonless::getC4() const { return c4; } -double GK11Gluonless::getC5() const { +double GPDGK11Gluonless::getC5() const { return c5; } -double GK11Gluonless::getC6() const { +double GPDGK11Gluonless::getC6() const { return c6; } -double GK11Gluonless::getC7() const { +double GPDGK11Gluonless::getC7() const { return c7; } -double GK11Gluonless::getC8() const { +double GPDGK11Gluonless::getC8() const { return c8; } -const std::vector& GK11Gluonless::getEdval1mtab() const { +const std::vector& GPDGK11Gluonless::getEdval1mtab() const { return Edval1mtab; } -const std::vector& GK11Gluonless::getEdval1tab() const { +const std::vector& GPDGK11Gluonless::getEdval1tab() const { return Edval1tab; } -const std::vector& GK11Gluonless::getEi1tab() const { +const std::vector& GPDGK11Gluonless::getEi1tab() const { return Ei1tab; } -const std::vector& GK11Gluonless::getEs1tab() const { +const std::vector& GPDGK11Gluonless::getEs1tab() const { return Es1tab; } -const std::vector& GK11Gluonless::getEtdval1mtab() const { +const std::vector& GPDGK11Gluonless::getEtdval1mtab() const { return Etdval1mtab; } -const std::vector& GK11Gluonless::getEtdval1tab() const { +const std::vector& GPDGK11Gluonless::getEtdval1tab() const { return Etdval1tab; } -const std::vector& GK11Gluonless::getEtuval1mtab() const { +const std::vector& GPDGK11Gluonless::getEtuval1mtab() const { return Etuval1mtab; } -const std::vector& GK11Gluonless::getEtuval1tab() const { +const std::vector& GPDGK11Gluonless::getEtuval1tab() const { return Etuval1tab; } -const std::vector& GK11Gluonless::getEuval1mtab() const { +const std::vector& GPDGK11Gluonless::getEuval1mtab() const { return Euval1mtab; } -const std::vector& GK11Gluonless::getEuval1tab() const { +const std::vector& GPDGK11Gluonless::getEuval1tab() const { return Euval1tab; } -double GK11Gluonless::getEdValMx() const { +double GPDGK11Gluonless::getEdValMx() const { return fEdValMx; } -double GK11Gluonless::getEtdValMx() const { +double GPDGK11Gluonless::getEtdValMx() const { return fEtdValMx; } -double GK11Gluonless::getEtuValMx() const { +double GPDGK11Gluonless::getEtuValMx() const { return fEtuValMx; } -double GK11Gluonless::getEuValMx() const { +double GPDGK11Gluonless::getEuValMx() const { return fEuValMx; } -double GK11Gluonless::getHdValMx() const { +double GPDGK11Gluonless::getHdValMx() const { return fHdValMx; } -double GK11Gluonless::getHtdValMx() const { +double GPDGK11Gluonless::getHtdValMx() const { return fHtdValMx; } -double GK11Gluonless::getHtuValMx() const { +double GPDGK11Gluonless::getHtuValMx() const { return fHtuValMx; } -double GK11Gluonless::getHuValMx() const { +double GPDGK11Gluonless::getHuValMx() const { return fHuValMx; } -double GK11Gluonless::getL() const { +double GPDGK11Gluonless::getL() const { return fL; } -const std::vector& GK11Gluonless::getHdval1mtab() const { +const std::vector& GPDGK11Gluonless::getHdval1mtab() const { return Hdval1mtab; } -const std::vector& GK11Gluonless::getHdval1tab() const { +const std::vector& GPDGK11Gluonless::getHdval1tab() const { return Hdval1tab; } -const std::vector& GK11Gluonless::getHi1tab() const { +const std::vector& GPDGK11Gluonless::getHi1tab() const { return Hi1tab; } -const std::vector& GK11Gluonless::getHs1tab() const { +const std::vector& GPDGK11Gluonless::getHs1tab() const { return Hs1tab; } -const std::vector& GK11Gluonless::getHtdval1mtab() const { +const std::vector& GPDGK11Gluonless::getHtdval1mtab() const { return Htdval1mtab; } -const std::vector& GK11Gluonless::getHtdval1tab() const { +const std::vector& GPDGK11Gluonless::getHtdval1tab() const { return Htdval1tab; } -const std::vector& GK11Gluonless::getHti1tab() const { +const std::vector& GPDGK11Gluonless::getHti1tab() const { return Hti1tab; } -const std::vector& GK11Gluonless::getHtuval1mtab() const { +const std::vector& GPDGK11Gluonless::getHtuval1mtab() const { return Htuval1mtab; } -const std::vector& GK11Gluonless::getHtuval1tab() const { +const std::vector& GPDGK11Gluonless::getHtuval1tab() const { return Htuval1tab; } -const std::vector& GK11Gluonless::getHuval1mtab() const { +const std::vector& GPDGK11Gluonless::getHuval1mtab() const { return Huval1mtab; } -const std::vector& GK11Gluonless::getHuval1tab() const { +const std::vector& GPDGK11Gluonless::getHuval1tab() const { return Huval1tab; } -double GK11Gluonless::getKappaS() const { +double GPDGK11Gluonless::getKappaS() const { return kappa_s; } -double GK11Gluonless::getEdval() const { +double GPDGK11Gluonless::getEdval() const { return kEdval; } -double GK11Gluonless::getEgluon() const { +double GPDGK11Gluonless::getEgluon() const { return kEgluon; } -double GK11Gluonless::getEsea() const { +double GPDGK11Gluonless::getEsea() const { return kEsea; } -double GK11Gluonless::getEtdval() const { +double GPDGK11Gluonless::getEtdval() const { return kEtdval; } -double GK11Gluonless::getEtgluon() const { +double GPDGK11Gluonless::getEtgluon() const { return kEtgluon; } -double GK11Gluonless::getEtsea() const { +double GPDGK11Gluonless::getEtsea() const { return kEtsea; } -double GK11Gluonless::getEtuval() const { +double GPDGK11Gluonless::getEtuval() const { return kEtuval; } -double GK11Gluonless::getEuval() const { +double GPDGK11Gluonless::getEuval() const { return kEuval; } -double GK11Gluonless::getHdval() const { +double GPDGK11Gluonless::getHdval() const { return kHdval; } -double GK11Gluonless::getHgluon() const { +double GPDGK11Gluonless::getHgluon() const { return kHgluon; } -double GK11Gluonless::getHsea() const { +double GPDGK11Gluonless::getHsea() const { return kHsea; } -double GK11Gluonless::getHtdval() const { +double GPDGK11Gluonless::getHtdval() const { return kHtdval; } -double GK11Gluonless::getHtgluon() const { +double GPDGK11Gluonless::getHtgluon() const { return kHtgluon; } -double GK11Gluonless::getHtsea() const { +double GPDGK11Gluonless::getHtsea() const { return kHtsea; } -double GK11Gluonless::getHtuval() const { +double GPDGK11Gluonless::getHtuval() const { return kHtuval; } -double GK11Gluonless::getHuval() const { +double GPDGK11Gluonless::getHuval() const { return kHuval; } -std::string GK11Gluonless::toString() { +std::string GPDGK11Gluonless::toString() { return GPDModule::toString(); } diff --git a/src/partons/modules/gpd/GK11ModelNoGluons.cpp b/src/partons/modules/gpd/GPDGK11NoGluons.cpp similarity index 76% rename from src/partons/modules/gpd/GK11ModelNoGluons.cpp rename to src/partons/modules/gpd/GPDGK11NoGluons.cpp index d1b4b0d2..4144be18 100644 --- a/src/partons/modules/gpd/GK11ModelNoGluons.cpp +++ b/src/partons/modules/gpd/GPDGK11NoGluons.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/GK11ModelNoGluons.h" - #include #include @@ -8,16 +6,17 @@ #include "../../../../include/partons/beans/parton_distribution/GluonDistribution.h" #include "../../../../include/partons/beans/parton_distribution/PartonDistribution.h" #include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/gpd/GK11Model.h" +#include "../../../../include/partons/modules/gpd/GPDGK11.h" +#include "../../../../include/partons/modules/gpd/GPDGK11NoGluons.h" #include "../../../../include/partons/ModuleObjectFactory.h" #include "../../../../include/partons/Partons.h" #include "../../../../include/partons/ServiceObjectRegistry.h" -const unsigned int GK11ModelNoGluons::classId = +const unsigned int GPDGK11NoGluons::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11ModelNoGluons("GK11ModelNoGluons")); + new GPDGK11NoGluons("GPDGK11NoGluons")); -GK11ModelNoGluons::GK11ModelNoGluons(const std::string &className) : +GPDGK11NoGluons::GPDGK11NoGluons(const std::string &className) : GPDModule(className) { pGPDService = NULL; GKmodel = NULL; @@ -32,45 +31,45 @@ GK11ModelNoGluons::GK11ModelNoGluons(const std::string &className) : std::make_pair(GPDType::Et, &GPDModule::computeEt)); } -GK11ModelNoGluons::~GK11ModelNoGluons() { +GPDGK11NoGluons::~GPDGK11NoGluons() { } -GK11ModelNoGluons* GK11ModelNoGluons::clone() const { - return new GK11ModelNoGluons(*this); +GPDGK11NoGluons* GPDGK11NoGluons::clone() const { + return new GPDGK11NoGluons(*this); } -void GK11ModelNoGluons::configure(const ElemUtils::Parameters ¶meters) { +void GPDGK11NoGluons::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } -std::string GK11ModelNoGluons::toString() { +std::string GPDGK11NoGluons::toString() { return GPDModule::toString(); } -GK11ModelNoGluons::GK11ModelNoGluons(const GK11ModelNoGluons& other) : +GPDGK11NoGluons::GPDGK11NoGluons(const GPDGK11NoGluons& other) : GPDModule(other) { pGPDService = other.pGPDService; GKmodel = other.GKmodel; } -void GK11ModelNoGluons::isModuleWellConfigured() { +void GPDGK11NoGluons::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void GK11ModelNoGluons::initModule() { +void GPDGK11NoGluons::initModule() { pGPDService = Partons::getInstance()->getServiceObjectRegistry()->getGPDService(); //TODO Why ? It's alreeady a GPDModule ! GKmodel = Partons::getInstance()->getModuleObjectFactory()->newGPDModule( - GK11Model::classId); + GPDGK11::classId); GPDModule::initModule(); } -PartonDistribution GK11ModelNoGluons::computeH() { +PartonDistribution GPDGK11NoGluons::computeH() { //compute kinematics GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); @@ -84,7 +83,7 @@ PartonDistribution GK11ModelNoGluons::computeH() { return partonDistribution; } -PartonDistribution GK11ModelNoGluons::computeHt() { +PartonDistribution GPDGK11NoGluons::computeHt() { //compute kinematics GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); @@ -98,7 +97,7 @@ PartonDistribution GK11ModelNoGluons::computeHt() { return partonDistribution; } -PartonDistribution GK11ModelNoGluons::computeE() { +PartonDistribution GPDGK11NoGluons::computeE() { //compute kinematics GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); @@ -112,7 +111,7 @@ PartonDistribution GK11ModelNoGluons::computeE() { return partonDistribution; } -PartonDistribution GK11ModelNoGluons::computeEt() { +PartonDistribution GPDGK11NoGluons::computeEt() { //compute kinematics GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); diff --git a/src/partons/modules/gpd/GK11NoQuarksModel.cpp b/src/partons/modules/gpd/GPDGK11NoQuarks.cpp similarity index 77% rename from src/partons/modules/gpd/GK11NoQuarksModel.cpp rename to src/partons/modules/gpd/GPDGK11NoQuarks.cpp index bbdc99b6..e70e35d7 100644 --- a/src/partons/modules/gpd/GK11NoQuarksModel.cpp +++ b/src/partons/modules/gpd/GPDGK11NoQuarks.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/GK11NoQuarksModel.h" - #include #include @@ -8,28 +6,29 @@ #include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../include/partons/modules/gpd/GPDGK11NoQuarks.h" // Initialise [class]::classId with a unique name. -const unsigned int GK11NoQuarksModel::classId = +const unsigned int GPDGK11NoQuarks::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11NoQuarksModel("GK11NoQuarksModel")); + new GPDGK11NoQuarks("GPDGK11NoQuarks")); -GK11NoQuarksModel::GK11NoQuarksModel(const std::string& className) : - GK11Model(className) { +GPDGK11NoQuarks::GPDGK11NoQuarks(const std::string& className) : + GPDGK11(className) { } -GK11NoQuarksModel::~GK11NoQuarksModel() { +GPDGK11NoQuarks::~GPDGK11NoQuarks() { } -GK11NoQuarksModel* GK11NoQuarksModel::clone() const { - return new GK11NoQuarksModel(*this); +GPDGK11NoQuarks* GPDGK11NoQuarks::clone() const { + return new GPDGK11NoQuarks(*this); } -GK11NoQuarksModel::GK11NoQuarksModel(const GK11NoQuarksModel& other) : - GK11Model(other) { +GPDGK11NoQuarks::GPDGK11NoQuarks(const GPDGK11NoQuarks& other) : + GPDGK11(other) { } -PartonDistribution GK11NoQuarksModel::computeH() { +PartonDistribution GPDGK11NoQuarks::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -81,16 +80,16 @@ PartonDistribution GK11NoQuarksModel::computeH() { } //TODO implement -PartonDistribution GK11NoQuarksModel::computeE() { +PartonDistribution GPDGK11NoQuarks::computeE() { return PartonDistribution(); } //TODO implement -PartonDistribution GK11NoQuarksModel::computeHt() { +PartonDistribution GPDGK11NoQuarks::computeHt() { return PartonDistribution(); } //TODO implement -PartonDistribution GK11NoQuarksModel::computeEt() { +PartonDistribution GPDGK11NoQuarks::computeEt() { return PartonDistribution(); } diff --git a/src/partons/modules/gpd/GK11ModelOnlyGluons.cpp b/src/partons/modules/gpd/GPDGK11OnlyGluons.cpp similarity index 90% rename from src/partons/modules/gpd/GK11ModelOnlyGluons.cpp rename to src/partons/modules/gpd/GPDGK11OnlyGluons.cpp index cf15e6da..d0cd038e 100644 --- a/src/partons/modules/gpd/GK11ModelOnlyGluons.cpp +++ b/src/partons/modules/gpd/GPDGK11OnlyGluons.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/GK11ModelOnlyGluons.h" - #include #include #include @@ -16,14 +14,15 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDGK11OnlyGluons.h" // Initialise [class]::classId with a unique name. -const unsigned int GK11ModelOnlyGluons::classId = +const unsigned int GPDGK11OnlyGluons::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11ModelOnlyGluons("GK11ModelOnlyGluonsOnlyGluons")); + new GPDGK11OnlyGluons("GPDGK11OnlyGluons")); //TODO initialise missing members -GK11ModelOnlyGluons::GK11ModelOnlyGluons(const std::string &className) : +GPDGK11OnlyGluons::GPDGK11OnlyGluons(const std::string &className) : GPDModule(className) { m_nf = 3; fL = 0.; @@ -60,7 +59,7 @@ GK11ModelOnlyGluons::GK11ModelOnlyGluons(const std::string &className) : std::make_pair(GPDType::Et, &GPDModule::computeEt)); } -GK11ModelOnlyGluons::GK11ModelOnlyGluons(const GK11ModelOnlyGluons& other) : +GPDGK11OnlyGluons::GPDGK11OnlyGluons(const GPDGK11OnlyGluons& other) : GPDModule(other) { c1 = other.getC1(); c2 = other.getC2(); @@ -120,24 +119,24 @@ GK11ModelOnlyGluons::GK11ModelOnlyGluons(const GK11ModelOnlyGluons& other) : Etdval1mtab = other.getEtdval1mtab(); } -GK11ModelOnlyGluons* GK11ModelOnlyGluons::clone() const { - return new GK11ModelOnlyGluons(*this); +GPDGK11OnlyGluons* GPDGK11OnlyGluons::clone() const { + return new GPDGK11OnlyGluons(*this); } -GK11ModelOnlyGluons::~GK11ModelOnlyGluons() { +GPDGK11OnlyGluons::~GPDGK11OnlyGluons() { } -void GK11ModelOnlyGluons::configure(const ElemUtils::Parameters ¶meters) { +void GPDGK11OnlyGluons::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } //TODO implement -void GK11ModelOnlyGluons::isModuleWellConfigured() { +void GPDGK11OnlyGluons::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void GK11ModelOnlyGluons::initModule() { +void GPDGK11OnlyGluons::initModule() { GPDModule::initModule(); fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale @@ -146,7 +145,7 @@ void GK11ModelOnlyGluons::initModule() { ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ } -PartonDistribution GK11ModelOnlyGluons::computeH() { +PartonDistribution GPDGK11OnlyGluons::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -270,7 +269,7 @@ PartonDistribution GK11ModelOnlyGluons::computeH() { return partonDistribution; } -PartonDistribution GK11ModelOnlyGluons::computeHt() { +PartonDistribution GPDGK11OnlyGluons::computeHt() { debug(__func__, "Entered function ..."); @@ -385,7 +384,7 @@ PartonDistribution GK11ModelOnlyGluons::computeHt() { return partonDistribution; } -PartonDistribution GK11ModelOnlyGluons::computeE() { +PartonDistribution GPDGK11OnlyGluons::computeE() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -479,7 +478,7 @@ PartonDistribution GK11ModelOnlyGluons::computeE() { return partonDistribution; } -PartonDistribution GK11ModelOnlyGluons::computeEt() { +PartonDistribution GPDGK11OnlyGluons::computeEt() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -581,7 +580,7 @@ PartonDistribution GK11ModelOnlyGluons::computeEt() { // return result; //} -void GK11ModelOnlyGluons::calculateHCoefs() { +void GPDGK11OnlyGluons::calculateHCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow (full calculation with cln ) @@ -680,7 +679,7 @@ void GK11ModelOnlyGluons::calculateHCoefs() { } } -void GK11ModelOnlyGluons::calculateHKas() { +void GPDGK11OnlyGluons::calculateHKas() { double alpha, delta; // gluons @@ -708,7 +707,7 @@ void GK11ModelOnlyGluons::calculateHKas() { kHdval = delta + alpha * m_t; } -double GK11ModelOnlyGluons::Hs1(double x, double i, double k) { +double GPDGK11OnlyGluons::Hs1(double x, double i, double k) { double dummy; @@ -757,7 +756,7 @@ double GK11ModelOnlyGluons::Hs1(double x, double i, double k) { return dummy; } -double GK11ModelOnlyGluons::Hi1(double x, double i, double k) { +double GPDGK11OnlyGluons::Hi1(double x, double i, double k) { double dummy; @@ -802,7 +801,7 @@ double GK11ModelOnlyGluons::Hi1(double x, double i, double k) { return dummy; } -double GK11ModelOnlyGluons::Hs1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Hs1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -863,7 +862,7 @@ double GK11ModelOnlyGluons::Hs1_alt(double x, double i, double k) { return dummy; } -double GK11ModelOnlyGluons::Hi1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Hi1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -926,7 +925,7 @@ double GK11ModelOnlyGluons::Hi1_alt(double x, double i, double k) { return dummy; } -double GK11ModelOnlyGluons::Hval1(double x, double i, double k) { +double GPDGK11OnlyGluons::Hval1(double x, double i, double k) { double dummy; @@ -956,7 +955,7 @@ double GK11ModelOnlyGluons::Hval1(double x, double i, double k) { return dummy; } -double GK11ModelOnlyGluons::Hval1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Hval1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2; @@ -1026,7 +1025,7 @@ double GK11ModelOnlyGluons::Hval1_alt(double x, double i, double k) { * ( gluons only for now, Htilde_sea = 0 for Kroll ) * */ -void GK11ModelOnlyGluons::calculateHtCoefs() { +void GPDGK11OnlyGluons::calculateHtCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1115,7 +1114,7 @@ void GK11ModelOnlyGluons::calculateHtCoefs() { * Compute t-dependence of GPD Ht correlated to x. * */ -void GK11ModelOnlyGluons::calculateHtKas() { +void GPDGK11OnlyGluons::calculateHtKas() { double alpha, delta; // gluons @@ -1150,7 +1149,7 @@ void GK11ModelOnlyGluons::calculateHtKas() { * Exactly the same as Hval1_alt and Eval1_alt. * */ -double GK11ModelOnlyGluons::Htval1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Htval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1160,7 +1159,7 @@ double GK11ModelOnlyGluons::Htval1_alt(double x, double i, double k) { * Exactly the same as Hs1. * */ -double GK11ModelOnlyGluons::Hti1(double x, double i, double k) { +double GPDGK11OnlyGluons::Hti1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1171,7 +1170,7 @@ double GK11ModelOnlyGluons::Hti1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK11ModelOnlyGluons::Hti1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Hti1_alt(double x, double i, double k) { //return Hs1_alt(_xi, x, i, k); @@ -1246,7 +1245,7 @@ double GK11ModelOnlyGluons::Hti1_alt(double x, double i, double k) { * Exactly the same as Hval1 and Eval1. * */ -double GK11ModelOnlyGluons::Htval1(double x, double i, double k) { +double GPDGK11OnlyGluons::Htval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1269,7 +1268,7 @@ double GK11ModelOnlyGluons::Htval1(double x, double i, double k) { * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. * */ -void GK11ModelOnlyGluons::calculateECoefs() { +void GPDGK11OnlyGluons::calculateECoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1379,7 +1378,7 @@ void GK11ModelOnlyGluons::calculateECoefs() { * Compute t-dependence of GPD H correlated to x. * */ -void GK11ModelOnlyGluons::calculateEKas() { +void GPDGK11OnlyGluons::calculateEKas() { double alpha, delta; // gluons @@ -1414,7 +1413,7 @@ void GK11ModelOnlyGluons::calculateEKas() { * Exactly the same as Hs1. * */ -double GK11ModelOnlyGluons::Es1(double x, double i, double k) { +double GPDGK11OnlyGluons::Es1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1424,7 +1423,7 @@ double GK11ModelOnlyGluons::Es1(double x, double i, double k) { * Exactly the same as Hi1. * */ -double GK11ModelOnlyGluons::Ei1(double x, double i, double k) { +double GPDGK11OnlyGluons::Ei1(double x, double i, double k) { return Hi1(x, i, k); } @@ -1434,7 +1433,7 @@ double GK11ModelOnlyGluons::Ei1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK11ModelOnlyGluons::Es1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Es1_alt(double x, double i, double k) { return Hs1_alt(x, i, k); } @@ -1444,7 +1443,7 @@ double GK11ModelOnlyGluons::Es1_alt(double x, double i, double k) { * Exactly the same as Hi1_alt. * */ -double GK11ModelOnlyGluons::Ei1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Ei1_alt(double x, double i, double k) { return Hi1_alt(x, i, k); } @@ -1454,7 +1453,7 @@ double GK11ModelOnlyGluons::Ei1_alt(double x, double i, double k) { * Exactly the same as Hval1. * */ -double GK11ModelOnlyGluons::Eval1(double x, double i, double k) { +double GPDGK11OnlyGluons::Eval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1464,7 +1463,7 @@ double GK11ModelOnlyGluons::Eval1(double x, double i, double k) { * Exactly the same as Hval1_alt. * */ -double GK11ModelOnlyGluons::Eval1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Eval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1484,7 +1483,7 @@ double GK11ModelOnlyGluons::Eval1_alt(double x, double i, double k) { * For the sea ( and gluons later ) * */ -void GK11ModelOnlyGluons::calculateEtCoefs() { +void GPDGK11OnlyGluons::calculateEtCoefs() { int slow_val = 0; // if = 1 : slow ( full calculation with cln ) // For valence @@ -1548,7 +1547,7 @@ void GK11ModelOnlyGluons::calculateEtCoefs() { * Compute t-dependence of GPD Et correlated to x. * */ -void GK11ModelOnlyGluons::calculateEtKas() { +void GPDGK11OnlyGluons::calculateEtKas() { double alpha, delta; // gluons, not modelled by GK. @@ -1576,7 +1575,7 @@ void GK11ModelOnlyGluons::calculateEtKas() { * Pion pole contribution to Et. * */ -double GK11ModelOnlyGluons::Et_pole(double x) { +double GPDGK11OnlyGluons::Et_pole(double x) { //TODO extraire les constantes si existantes @@ -1633,7 +1632,7 @@ double GK11ModelOnlyGluons::Et_pole(double x) { * end if: end if: * */ -double GK11ModelOnlyGluons::Etval1(double x, double i, double k) { +double GPDGK11OnlyGluons::Etval1(double x, double i, double k) { double dum; if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() @@ -1669,234 +1668,234 @@ double GK11ModelOnlyGluons::Etval1(double x, double i, double k) { * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. * */ -double GK11ModelOnlyGluons::Etval1_alt(double x, double i, double k) { +double GPDGK11OnlyGluons::Etval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } -double GK11ModelOnlyGluons::getB0() const { +double GPDGK11OnlyGluons::getB0() const { return b0; } -double GK11ModelOnlyGluons::getC1() const { +double GPDGK11OnlyGluons::getC1() const { return c1; } -double GK11ModelOnlyGluons::getC2() const { +double GPDGK11OnlyGluons::getC2() const { return c2; } -double GK11ModelOnlyGluons::getC3() const { +double GPDGK11OnlyGluons::getC3() const { return c3; } -double GK11ModelOnlyGluons::getC4() const { +double GPDGK11OnlyGluons::getC4() const { return c4; } -double GK11ModelOnlyGluons::getC5() const { +double GPDGK11OnlyGluons::getC5() const { return c5; } -double GK11ModelOnlyGluons::getC6() const { +double GPDGK11OnlyGluons::getC6() const { return c6; } -double GK11ModelOnlyGluons::getC7() const { +double GPDGK11OnlyGluons::getC7() const { return c7; } -double GK11ModelOnlyGluons::getC8() const { +double GPDGK11OnlyGluons::getC8() const { return c8; } -const std::vector& GK11ModelOnlyGluons::getEdval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getEdval1mtab() const { return Edval1mtab; } -const std::vector& GK11ModelOnlyGluons::getEdval1tab() const { +const std::vector& GPDGK11OnlyGluons::getEdval1tab() const { return Edval1tab; } -const std::vector& GK11ModelOnlyGluons::getEi1tab() const { +const std::vector& GPDGK11OnlyGluons::getEi1tab() const { return Ei1tab; } -const std::vector& GK11ModelOnlyGluons::getEs1tab() const { +const std::vector& GPDGK11OnlyGluons::getEs1tab() const { return Es1tab; } -const std::vector& GK11ModelOnlyGluons::getEtdval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getEtdval1mtab() const { return Etdval1mtab; } -const std::vector& GK11ModelOnlyGluons::getEtdval1tab() const { +const std::vector& GPDGK11OnlyGluons::getEtdval1tab() const { return Etdval1tab; } -const std::vector& GK11ModelOnlyGluons::getEtuval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getEtuval1mtab() const { return Etuval1mtab; } -const std::vector& GK11ModelOnlyGluons::getEtuval1tab() const { +const std::vector& GPDGK11OnlyGluons::getEtuval1tab() const { return Etuval1tab; } -const std::vector& GK11ModelOnlyGluons::getEuval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getEuval1mtab() const { return Euval1mtab; } -const std::vector& GK11ModelOnlyGluons::getEuval1tab() const { +const std::vector& GPDGK11OnlyGluons::getEuval1tab() const { return Euval1tab; } -double GK11ModelOnlyGluons::getEdValMx() const { +double GPDGK11OnlyGluons::getEdValMx() const { return fEdValMx; } -double GK11ModelOnlyGluons::getEtdValMx() const { +double GPDGK11OnlyGluons::getEtdValMx() const { return fEtdValMx; } -double GK11ModelOnlyGluons::getEtuValMx() const { +double GPDGK11OnlyGluons::getEtuValMx() const { return fEtuValMx; } -double GK11ModelOnlyGluons::getEuValMx() const { +double GPDGK11OnlyGluons::getEuValMx() const { return fEuValMx; } -double GK11ModelOnlyGluons::getHdValMx() const { +double GPDGK11OnlyGluons::getHdValMx() const { return fHdValMx; } -double GK11ModelOnlyGluons::getHtdValMx() const { +double GPDGK11OnlyGluons::getHtdValMx() const { return fHtdValMx; } -double GK11ModelOnlyGluons::getHtuValMx() const { +double GPDGK11OnlyGluons::getHtuValMx() const { return fHtuValMx; } -double GK11ModelOnlyGluons::getHuValMx() const { +double GPDGK11OnlyGluons::getHuValMx() const { return fHuValMx; } -double GK11ModelOnlyGluons::getL() const { +double GPDGK11OnlyGluons::getL() const { return fL; } -const std::vector& GK11ModelOnlyGluons::getHdval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getHdval1mtab() const { return Hdval1mtab; } -const std::vector& GK11ModelOnlyGluons::getHdval1tab() const { +const std::vector& GPDGK11OnlyGluons::getHdval1tab() const { return Hdval1tab; } -const std::vector& GK11ModelOnlyGluons::getHi1tab() const { +const std::vector& GPDGK11OnlyGluons::getHi1tab() const { return Hi1tab; } -const std::vector& GK11ModelOnlyGluons::getHs1tab() const { +const std::vector& GPDGK11OnlyGluons::getHs1tab() const { return Hs1tab; } -const std::vector& GK11ModelOnlyGluons::getHtdval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getHtdval1mtab() const { return Htdval1mtab; } -const std::vector& GK11ModelOnlyGluons::getHtdval1tab() const { +const std::vector& GPDGK11OnlyGluons::getHtdval1tab() const { return Htdval1tab; } -const std::vector& GK11ModelOnlyGluons::getHti1tab() const { +const std::vector& GPDGK11OnlyGluons::getHti1tab() const { return Hti1tab; } -const std::vector& GK11ModelOnlyGluons::getHtuval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getHtuval1mtab() const { return Htuval1mtab; } -const std::vector& GK11ModelOnlyGluons::getHtuval1tab() const { +const std::vector& GPDGK11OnlyGluons::getHtuval1tab() const { return Htuval1tab; } -const std::vector& GK11ModelOnlyGluons::getHuval1mtab() const { +const std::vector& GPDGK11OnlyGluons::getHuval1mtab() const { return Huval1mtab; } -const std::vector& GK11ModelOnlyGluons::getHuval1tab() const { +const std::vector& GPDGK11OnlyGluons::getHuval1tab() const { return Huval1tab; } -double GK11ModelOnlyGluons::getKappaS() const { +double GPDGK11OnlyGluons::getKappaS() const { return kappa_s; } -double GK11ModelOnlyGluons::getEdval() const { +double GPDGK11OnlyGluons::getEdval() const { return kEdval; } -double GK11ModelOnlyGluons::getEgluon() const { +double GPDGK11OnlyGluons::getEgluon() const { return kEgluon; } -double GK11ModelOnlyGluons::getEsea() const { +double GPDGK11OnlyGluons::getEsea() const { return kEsea; } -double GK11ModelOnlyGluons::getEtdval() const { +double GPDGK11OnlyGluons::getEtdval() const { return kEtdval; } -double GK11ModelOnlyGluons::getEtgluon() const { +double GPDGK11OnlyGluons::getEtgluon() const { return kEtgluon; } -double GK11ModelOnlyGluons::getEtsea() const { +double GPDGK11OnlyGluons::getEtsea() const { return kEtsea; } -double GK11ModelOnlyGluons::getEtuval() const { +double GPDGK11OnlyGluons::getEtuval() const { return kEtuval; } -double GK11ModelOnlyGluons::getEuval() const { +double GPDGK11OnlyGluons::getEuval() const { return kEuval; } -double GK11ModelOnlyGluons::getHdval() const { +double GPDGK11OnlyGluons::getHdval() const { return kHdval; } -double GK11ModelOnlyGluons::getHgluon() const { +double GPDGK11OnlyGluons::getHgluon() const { return kHgluon; } -double GK11ModelOnlyGluons::getHsea() const { +double GPDGK11OnlyGluons::getHsea() const { return kHsea; } -double GK11ModelOnlyGluons::getHtdval() const { +double GPDGK11OnlyGluons::getHtdval() const { return kHtdval; } -double GK11ModelOnlyGluons::getHtgluon() const { +double GPDGK11OnlyGluons::getHtgluon() const { return kHtgluon; } -double GK11ModelOnlyGluons::getHtsea() const { +double GPDGK11OnlyGluons::getHtsea() const { return kHtsea; } -double GK11ModelOnlyGluons::getHtuval() const { +double GPDGK11OnlyGluons::getHtuval() const { return kHtuval; } -double GK11ModelOnlyGluons::getHuval() const { +double GPDGK11OnlyGluons::getHuval() const { return kHuval; } -std::string GK11ModelOnlyGluons::toString() { +std::string GPDGK11OnlyGluons::toString() { return GPDModule::toString(); } diff --git a/src/partons/modules/gpd/GK16Model.cpp b/src/partons/modules/gpd/GPDGK16.cpp similarity index 92% rename from src/partons/modules/gpd/GK16Model.cpp rename to src/partons/modules/gpd/GPDGK16.cpp index 893f0dde..81632a1d 100644 --- a/src/partons/modules/gpd/GK16Model.cpp +++ b/src/partons/modules/gpd/GPDGK16.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/GK16Model.h" - #include #include #include @@ -16,14 +14,15 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDGK16.h" // Initialise [class]::classId with a unique name. -const unsigned int GK16Model::classId = +const unsigned int GPDGK16::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK16Model("GK16Model")); + new GPDGK16("GPDGK16")); //TODO initialise missing members -GK16Model::GK16Model(const std::string &className) : +GPDGK16::GPDGK16(const std::string &className) : GPDModule(className) { m_nf = 3; fL = 0.; @@ -60,7 +59,7 @@ GK16Model::GK16Model(const std::string &className) : std::make_pair(GPDType::Et, &GPDModule::computeEt)); } -GK16Model::GK16Model(const GK16Model& other) : +GPDGK16::GPDGK16(const GPDGK16& other) : GPDModule(other) { c1 = other.getC1(); c2 = other.getC2(); @@ -120,24 +119,24 @@ GK16Model::GK16Model(const GK16Model& other) : Etdval1mtab = other.getEtdval1mtab(); } -GK16Model* GK16Model::clone() const { - return new GK16Model(*this); +GPDGK16* GPDGK16::clone() const { + return new GPDGK16(*this); } -GK16Model::~GK16Model() { +GPDGK16::~GPDGK16() { } -void GK16Model::configure(const ElemUtils::Parameters ¶meters) { +void GPDGK16::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } //TODO implement -void GK16Model::isModuleWellConfigured() { +void GPDGK16::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void GK16Model::initModule() { +void GPDGK16::initModule() { GPDModule::initModule(); fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale @@ -146,7 +145,7 @@ void GK16Model::initModule() { ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ } -PartonDistribution GK16Model::computeH() { +PartonDistribution GPDGK16::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -258,7 +257,7 @@ PartonDistribution GK16Model::computeH() { return partonDistribution; } -PartonDistribution GK16Model::computeHt() { +PartonDistribution GPDGK16::computeHt() { debug(__func__, "Entered function ..."); @@ -373,7 +372,7 @@ PartonDistribution GK16Model::computeHt() { return partonDistribution; } -PartonDistribution GK16Model::computeE() { +PartonDistribution GPDGK16::computeE() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -467,7 +466,7 @@ PartonDistribution GK16Model::computeE() { return partonDistribution; } -PartonDistribution GK16Model::computeEt() { +PartonDistribution GPDGK16::computeEt() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -569,7 +568,7 @@ PartonDistribution GK16Model::computeEt() { // return result; //} -void GK16Model::calculateHCoefs() { +void GPDGK16::calculateHCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow (full calculation with cln ) @@ -668,7 +667,7 @@ void GK16Model::calculateHCoefs() { } } -void GK16Model::calculateHKas() { +void GPDGK16::calculateHKas() { double alpha, delta; // gluons @@ -696,7 +695,7 @@ void GK16Model::calculateHKas() { kHdval = delta + alpha * m_t; } -double GK16Model::Hs1(double x, double i, double k) { +double GPDGK16::Hs1(double x, double i, double k) { double dummy; @@ -745,7 +744,7 @@ double GK16Model::Hs1(double x, double i, double k) { return dummy; } -double GK16Model::Hi1(double x, double i, double k) { +double GPDGK16::Hi1(double x, double i, double k) { double dummy; @@ -790,7 +789,7 @@ double GK16Model::Hi1(double x, double i, double k) { return dummy; } -double GK16Model::Hs1_alt(double x, double i, double k) { +double GPDGK16::Hs1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -851,7 +850,7 @@ double GK16Model::Hs1_alt(double x, double i, double k) { return dummy; } -double GK16Model::Hi1_alt(double x, double i, double k) { +double GPDGK16::Hi1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -914,7 +913,7 @@ double GK16Model::Hi1_alt(double x, double i, double k) { return dummy; } -double GK16Model::Hval1(double x, double i, double k) { +double GPDGK16::Hval1(double x, double i, double k) { double dummy; @@ -944,7 +943,7 @@ double GK16Model::Hval1(double x, double i, double k) { return dummy; } -double GK16Model::Hval1_alt(double x, double i, double k) { +double GPDGK16::Hval1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2; @@ -1014,7 +1013,7 @@ double GK16Model::Hval1_alt(double x, double i, double k) { * ( gluons only for now, Htilde_sea = 0 for Kroll ) * */ -void GK16Model::calculateHtCoefs() { +void GPDGK16::calculateHtCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1103,7 +1102,7 @@ void GK16Model::calculateHtCoefs() { * Compute t-dependence of GPD Ht correlated to x. * */ -void GK16Model::calculateHtKas() { +void GPDGK16::calculateHtKas() { double alpha, delta; // gluons @@ -1138,7 +1137,7 @@ void GK16Model::calculateHtKas() { * Exactly the same as Hval1_alt and Eval1_alt. * */ -double GK16Model::Htval1_alt(double x, double i, double k) { +double GPDGK16::Htval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1148,7 +1147,7 @@ double GK16Model::Htval1_alt(double x, double i, double k) { * Exactly the same as Hs1. * */ -double GK16Model::Hti1(double x, double i, double k) { +double GPDGK16::Hti1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1159,7 +1158,7 @@ double GK16Model::Hti1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK16Model::Hti1_alt(double x, double i, double k) { +double GPDGK16::Hti1_alt(double x, double i, double k) { //return Hs1_alt(_xi, x, i, k); @@ -1234,7 +1233,7 @@ double GK16Model::Hti1_alt(double x, double i, double k) { * Exactly the same as Hval1 and Eval1. * */ -double GK16Model::Htval1(double x, double i, double k) { +double GPDGK16::Htval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1257,7 +1256,7 @@ double GK16Model::Htval1(double x, double i, double k) { * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. * */ -void GK16Model::calculateECoefs() { +void GPDGK16::calculateECoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1367,7 +1366,7 @@ void GK16Model::calculateECoefs() { * Compute t-dependence of GPD H correlated to x. * */ -void GK16Model::calculateEKas() { +void GPDGK16::calculateEKas() { double alpha, delta; // gluons @@ -1401,7 +1400,7 @@ void GK16Model::calculateEKas() { * Exactly the same as Hs1. * */ -double GK16Model::Es1(double x, double i, double k) { +double GPDGK16::Es1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1411,7 +1410,7 @@ double GK16Model::Es1(double x, double i, double k) { * Exactly the same as Hi1. * */ -double GK16Model::Ei1(double x, double i, double k) { +double GPDGK16::Ei1(double x, double i, double k) { return Hi1(x, i, k); } @@ -1421,7 +1420,7 @@ double GK16Model::Ei1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK16Model::Es1_alt(double x, double i, double k) { +double GPDGK16::Es1_alt(double x, double i, double k) { return Hs1_alt(x, i, k); } @@ -1431,7 +1430,7 @@ double GK16Model::Es1_alt(double x, double i, double k) { * Exactly the same as Hi1_alt. * */ -double GK16Model::Ei1_alt(double x, double i, double k) { +double GPDGK16::Ei1_alt(double x, double i, double k) { return Hi1_alt(x, i, k); } @@ -1441,7 +1440,7 @@ double GK16Model::Ei1_alt(double x, double i, double k) { * Exactly the same as Hval1. * */ -double GK16Model::Eval1(double x, double i, double k) { +double GPDGK16::Eval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1451,7 +1450,7 @@ double GK16Model::Eval1(double x, double i, double k) { * Exactly the same as Hval1_alt. * */ -double GK16Model::Eval1_alt(double x, double i, double k) { +double GPDGK16::Eval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1471,7 +1470,7 @@ double GK16Model::Eval1_alt(double x, double i, double k) { * For the sea ( and gluons later ) * */ -void GK16Model::calculateEtCoefs() { +void GPDGK16::calculateEtCoefs() { int slow_val = 0; // if = 1 : slow ( full calculation with cln ) // For valence @@ -1535,7 +1534,7 @@ void GK16Model::calculateEtCoefs() { * Compute t-dependence of GPD Et correlated to x. * */ -void GK16Model::calculateEtKas() { +void GPDGK16::calculateEtKas() { double alpha, delta; // gluons, not modelled by GK. @@ -1563,7 +1562,7 @@ void GK16Model::calculateEtKas() { * Pion pole contribution to Et. * */ -double GK16Model::Et_pole(double x) { +double GPDGK16::Et_pole(double x) { //TODO extraire les constantes si existantes @@ -1620,7 +1619,7 @@ double GK16Model::Et_pole(double x) { * end if: end if: * */ -double GK16Model::Etval1(double x, double i, double k) { +double GPDGK16::Etval1(double x, double i, double k) { double dum; if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() @@ -1656,234 +1655,234 @@ double GK16Model::Etval1(double x, double i, double k) { * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. * */ -double GK16Model::Etval1_alt(double x, double i, double k) { +double GPDGK16::Etval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } -double GK16Model::getB0() const { +double GPDGK16::getB0() const { return b0; } -double GK16Model::getC1() const { +double GPDGK16::getC1() const { return c1; } -double GK16Model::getC2() const { +double GPDGK16::getC2() const { return c2; } -double GK16Model::getC3() const { +double GPDGK16::getC3() const { return c3; } -double GK16Model::getC4() const { +double GPDGK16::getC4() const { return c4; } -double GK16Model::getC5() const { +double GPDGK16::getC5() const { return c5; } -double GK16Model::getC6() const { +double GPDGK16::getC6() const { return c6; } -double GK16Model::getC7() const { +double GPDGK16::getC7() const { return c7; } -double GK16Model::getC8() const { +double GPDGK16::getC8() const { return c8; } -const std::vector& GK16Model::getEdval1mtab() const { +const std::vector& GPDGK16::getEdval1mtab() const { return Edval1mtab; } -const std::vector& GK16Model::getEdval1tab() const { +const std::vector& GPDGK16::getEdval1tab() const { return Edval1tab; } -const std::vector& GK16Model::getEi1tab() const { +const std::vector& GPDGK16::getEi1tab() const { return Ei1tab; } -const std::vector& GK16Model::getEs1tab() const { +const std::vector& GPDGK16::getEs1tab() const { return Es1tab; } -const std::vector& GK16Model::getEtdval1mtab() const { +const std::vector& GPDGK16::getEtdval1mtab() const { return Etdval1mtab; } -const std::vector& GK16Model::getEtdval1tab() const { +const std::vector& GPDGK16::getEtdval1tab() const { return Etdval1tab; } -const std::vector& GK16Model::getEtuval1mtab() const { +const std::vector& GPDGK16::getEtuval1mtab() const { return Etuval1mtab; } -const std::vector& GK16Model::getEtuval1tab() const { +const std::vector& GPDGK16::getEtuval1tab() const { return Etuval1tab; } -const std::vector& GK16Model::getEuval1mtab() const { +const std::vector& GPDGK16::getEuval1mtab() const { return Euval1mtab; } -const std::vector& GK16Model::getEuval1tab() const { +const std::vector& GPDGK16::getEuval1tab() const { return Euval1tab; } -double GK16Model::getEdValMx() const { +double GPDGK16::getEdValMx() const { return fEdValMx; } -double GK16Model::getEtdValMx() const { +double GPDGK16::getEtdValMx() const { return fEtdValMx; } -double GK16Model::getEtuValMx() const { +double GPDGK16::getEtuValMx() const { return fEtuValMx; } -double GK16Model::getEuValMx() const { +double GPDGK16::getEuValMx() const { return fEuValMx; } -double GK16Model::getHdValMx() const { +double GPDGK16::getHdValMx() const { return fHdValMx; } -double GK16Model::getHtdValMx() const { +double GPDGK16::getHtdValMx() const { return fHtdValMx; } -double GK16Model::getHtuValMx() const { +double GPDGK16::getHtuValMx() const { return fHtuValMx; } -double GK16Model::getHuValMx() const { +double GPDGK16::getHuValMx() const { return fHuValMx; } -double GK16Model::getL() const { +double GPDGK16::getL() const { return fL; } -const std::vector& GK16Model::getHdval1mtab() const { +const std::vector& GPDGK16::getHdval1mtab() const { return Hdval1mtab; } -const std::vector& GK16Model::getHdval1tab() const { +const std::vector& GPDGK16::getHdval1tab() const { return Hdval1tab; } -const std::vector& GK16Model::getHi1tab() const { +const std::vector& GPDGK16::getHi1tab() const { return Hi1tab; } -const std::vector& GK16Model::getHs1tab() const { +const std::vector& GPDGK16::getHs1tab() const { return Hs1tab; } -const std::vector& GK16Model::getHtdval1mtab() const { +const std::vector& GPDGK16::getHtdval1mtab() const { return Htdval1mtab; } -const std::vector& GK16Model::getHtdval1tab() const { +const std::vector& GPDGK16::getHtdval1tab() const { return Htdval1tab; } -const std::vector& GK16Model::getHti1tab() const { +const std::vector& GPDGK16::getHti1tab() const { return Hti1tab; } -const std::vector& GK16Model::getHtuval1mtab() const { +const std::vector& GPDGK16::getHtuval1mtab() const { return Htuval1mtab; } -const std::vector& GK16Model::getHtuval1tab() const { +const std::vector& GPDGK16::getHtuval1tab() const { return Htuval1tab; } -const std::vector& GK16Model::getHuval1mtab() const { +const std::vector& GPDGK16::getHuval1mtab() const { return Huval1mtab; } -const std::vector& GK16Model::getHuval1tab() const { +const std::vector& GPDGK16::getHuval1tab() const { return Huval1tab; } -double GK16Model::getKappaS() const { +double GPDGK16::getKappaS() const { return kappa_s; } -double GK16Model::getEdval() const { +double GPDGK16::getEdval() const { return kEdval; } -double GK16Model::getEgluon() const { +double GPDGK16::getEgluon() const { return kEgluon; } -double GK16Model::getEsea() const { +double GPDGK16::getEsea() const { return kEsea; } -double GK16Model::getEtdval() const { +double GPDGK16::getEtdval() const { return kEtdval; } -double GK16Model::getEtgluon() const { +double GPDGK16::getEtgluon() const { return kEtgluon; } -double GK16Model::getEtsea() const { +double GPDGK16::getEtsea() const { return kEtsea; } -double GK16Model::getEtuval() const { +double GPDGK16::getEtuval() const { return kEtuval; } -double GK16Model::getEuval() const { +double GPDGK16::getEuval() const { return kEuval; } -double GK16Model::getHdval() const { +double GPDGK16::getHdval() const { return kHdval; } -double GK16Model::getHgluon() const { +double GPDGK16::getHgluon() const { return kHgluon; } -double GK16Model::getHsea() const { +double GPDGK16::getHsea() const { return kHsea; } -double GK16Model::getHtdval() const { +double GPDGK16::getHtdval() const { return kHtdval; } -double GK16Model::getHtgluon() const { +double GPDGK16::getHtgluon() const { return kHtgluon; } -double GK16Model::getHtsea() const { +double GPDGK16::getHtsea() const { return kHtsea; } -double GK16Model::getHtuval() const { +double GPDGK16::getHtuval() const { return kHtuval; } -double GK16Model::getHuval() const { +double GPDGK16::getHuval() const { return kHuval; } -std::string GK16Model::toString() const { +std::string GPDGK16::toString() const { return GPDModule::toString(); } diff --git a/src/partons/modules/gpd/GK16NumericalModel.cpp b/src/partons/modules/gpd/GPDGK16Numerical.cpp similarity index 85% rename from src/partons/modules/gpd/GK16NumericalModel.cpp rename to src/partons/modules/gpd/GPDGK16Numerical.cpp index 79da2be6..b201676d 100644 --- a/src/partons/modules/gpd/GK16NumericalModel.cpp +++ b/src/partons/modules/gpd/GPDGK16Numerical.cpp @@ -16,15 +16,15 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" -#include "../../../../include/partons/modules/gpd/GK16NumericalModel.h" +#include "../../../../include/partons/modules/gpd/GPDGK16Numerical.h" // Initialise [class]::classId with a unique name. -const unsigned int GK16NumericalModel::classId = +const unsigned int GPDGK16Numerical::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK16NumericalModel("GK11TestModel")); + new GPDGK16Numerical("GPDGK16Numerical")); //TODO initialise missing members -GK16NumericalModel::GK16NumericalModel(const std::string &className) : +GPDGK16Numerical::GPDGK16Numerical(const std::string &className) : GPDModule(className) { m_nf = 3; fL = 0.; @@ -43,7 +43,7 @@ GK16NumericalModel::GK16NumericalModel(const std::string &className) : initFunctorsForIntegrations(); } -GK16NumericalModel::GK16NumericalModel(const GK16NumericalModel& other) : +GPDGK16Numerical::GPDGK16Numerical(const GPDGK16Numerical& other) : GPDModule(other) { c1 = other.c1; c2 = other.c2; @@ -61,24 +61,24 @@ GK16NumericalModel::GK16NumericalModel(const GK16NumericalModel& other) : initFunctorsForIntegrations(); } -GK16NumericalModel* GK16NumericalModel::clone() const { - return new GK16NumericalModel(*this); +GPDGK16Numerical* GPDGK16Numerical::clone() const { + return new GPDGK16Numerical(*this); } -GK16NumericalModel::~GK16NumericalModel() { +GPDGK16Numerical::~GPDGK16Numerical() { } -void GK16NumericalModel::configure(const ElemUtils::Parameters ¶meters) { +void GPDGK16Numerical::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } //TODO implement -void GK16NumericalModel::isModuleWellConfigured() { +void GPDGK16Numerical::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void GK16NumericalModel::initModule() { +void GPDGK16Numerical::initModule() { GPDModule::initModule(); fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale @@ -87,131 +87,131 @@ void GK16NumericalModel::initModule() { ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ } -void GK16NumericalModel::initFunctorsForIntegrations() { +void GPDGK16Numerical::initFunctorsForIntegrations() { setIntegrator(NumA::IntegratorType1D::DEXP); //Integrators for H m_pIntegralHuVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHuVal); + &GPDGK16Numerical::IntegralHuVal); m_pIntegralHdVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHdVal); + &GPDGK16Numerical::IntegralHdVal); m_pIntegralHuValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHuValMx); + &GPDGK16Numerical::IntegralHuValMx); m_pIntegralHdValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHdValMx); + &GPDGK16Numerical::IntegralHdValMx); m_pIntegralxLargeHsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeHsSea); + &GPDGK16Numerical::IntegralxLargeHsSea); m_pIntegralxSmallHsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmallHsSea); + &GPDGK16Numerical::IntegralxSmallHsSea); m_pIntegralxSmall1HsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall1HsSea); + &GPDGK16Numerical::IntegralxSmall1HsSea); m_pIntegralxSmall2HsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall2HsSea); + &GPDGK16Numerical::IntegralxSmall2HsSea); m_pIntegralxLargeHsSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeHsSeaMx); + &GPDGK16Numerical::IntegralxLargeHsSeaMx); m_pIntegralxLargeHg = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeHg); + &GPDGK16Numerical::IntegralxLargeHg); m_pIntegralxSmall1Hg = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall1Hg); + &GPDGK16Numerical::IntegralxSmall1Hg); m_pIntegralxSmall2Hg = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall2Hg); + &GPDGK16Numerical::IntegralxSmall2Hg); m_pIntegralxLargeHgMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeHgMx); + &GPDGK16Numerical::IntegralxLargeHgMx); //integrators for Ht m_pIntegralHtuVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHtuVal); + &GPDGK16Numerical::IntegralHtuVal); m_pIntegralHtdVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHtdVal); + &GPDGK16Numerical::IntegralHtdVal); m_pIntegralHtuValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHtuValMx); + &GPDGK16Numerical::IntegralHtuValMx); m_pIntegralHtdValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralHtdValMx); + &GPDGK16Numerical::IntegralHtdValMx); m_pIntegralxLargeHtg = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeHtg); + &GPDGK16Numerical::IntegralxLargeHtg); m_pIntegralxSmall1Htg = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall1Htg); + &GPDGK16Numerical::IntegralxSmall1Htg); m_pIntegralxSmall2Htg = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall2Htg); + &GPDGK16Numerical::IntegralxSmall2Htg); m_pIntegralxLargeHtgMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeHtgMx); + &GPDGK16Numerical::IntegralxLargeHtgMx); //integrators for E m_pIntegralEuVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEuVal); + &GPDGK16Numerical::IntegralEuVal); m_pIntegralEdVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEdVal); + &GPDGK16Numerical::IntegralEdVal); m_pIntegralEuValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEuValMx); + &GPDGK16Numerical::IntegralEuValMx); m_pIntegralEdValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEdValMx); + &GPDGK16Numerical::IntegralEdValMx); m_pIntegralxLargeEsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeEsSea); + &GPDGK16Numerical::IntegralxLargeEsSea); m_pIntegralxLargeEsSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeEsSeaMx); + &GPDGK16Numerical::IntegralxLargeEsSeaMx); m_pIntegralxSmallEsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmallEsSea); + &GPDGK16Numerical::IntegralxSmallEsSea); m_pIntegralxSmall1EsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall1EsSea); + &GPDGK16Numerical::IntegralxSmall1EsSea); m_pIntegralxSmall2EsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall2EsSea); + &GPDGK16Numerical::IntegralxSmall2EsSea); m_pIntegralxLargeEgSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeEgSea); + &GPDGK16Numerical::IntegralxLargeEgSea); m_pIntegralxLargeEgSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxLargeEgSeaMx); + &GPDGK16Numerical::IntegralxLargeEgSeaMx); m_pIntegralxSmall1EgSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall1EgSea); + &GPDGK16Numerical::IntegralxSmall1EgSea); m_pIntegralxSmall2EgSea = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralxSmall2EgSea); + &GPDGK16Numerical::IntegralxSmall2EgSea); //integrators for Et m_pIntegralEtuVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEtuVal); + &GPDGK16Numerical::IntegralEtuVal); m_pIntegralEtdVal = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEtdVal); + &GPDGK16Numerical::IntegralEtdVal); m_pIntegralEtuValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEtuValMx); + &GPDGK16Numerical::IntegralEtuValMx); m_pIntegralEtdValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &GK16NumericalModel::IntegralEtdValMx); + &GPDGK16Numerical::IntegralEtdValMx); } -void GK16NumericalModel::throwBetaException(const std::string &funcName, +void GPDGK16Numerical::throwBetaException(const std::string &funcName, double betaValue) { throw ElemUtils::CustomException(getClassName(), funcName, ElemUtils::Formatter() @@ -219,7 +219,7 @@ void GK16NumericalModel::throwBetaException(const std::string &funcName, << '\n' << "Here beta = " << betaValue << '\n'); } //Profile function -double GK16NumericalModel::Profile(double N, double beta, double alpha) { +double GPDGK16Numerical::Profile(double N, double beta, double alpha) { double profile = 0.; double ProfileShape = N; double TwiceProfileShapePlus1 = 2. * ProfileShape + 1; @@ -248,20 +248,20 @@ double GK16NumericalModel::Profile(double N, double beta, double alpha) { return profile; } //forward limit ansatz for H -double GK16NumericalModel::GKPdfAnsatz(double N, double beta, double* coeff) { +double GPDGK16Numerical::GKPdfAnsatz(double N, double beta, double* coeff) { return pow(beta, -coeff[4]) * pow((1. - beta), 2 * N + 1) * (coeff[0] + coeff[1] * sqrt(beta) + coeff[2] * beta + coeff[3] * beta * sqrt(beta)); } //Forward limit ansatz for Ht -double GK16NumericalModel::GKPdfAnsatz_t(double N, double beta, double* coeff) { +double GPDGK16Numerical::GKPdfAnsatz_t(double N, double beta, double* coeff) { // as in arXiv:1210.6975v3 pag 9 return pow(beta, -coeff[4]) * pow((1. - beta), 2 * N + 1) * (coeff[0] + coeff[1] * beta + coeff[2] * beta * beta) * coeff[3]; } -double GK16NumericalModel::GKPdfAnsatz_tg(double N, double beta, double* coeff) { +double GPDGK16Numerical::GKPdfAnsatz_tg(double N, double beta, double* coeff) { // as in arXiv:1210.6975v3 pag 9 return pow(beta, -coeff[4]) * pow((1. - beta), 2 * N + 1) @@ -269,7 +269,7 @@ double GK16NumericalModel::GKPdfAnsatz_tg(double N, double beta, double* coeff) } //DD for H -double GK16NumericalModel::GKtDependentsDD(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentsDD(double beta, double alpha) { double absbeta = fabs(beta); /* if (beta <= 0 || beta > 1.) { throwBetaException(__func__, x); @@ -286,7 +286,7 @@ double GK16NumericalModel::GKtDependentsDD(double beta, double alpha) { return exp(b0 * m_t) * pow(absbeta, -alphaP * m_t) * GKPdfAnsatz(2, absbeta, coeff) * Profile(2, beta, alpha); } -double GK16NumericalModel::GKtDependentuValDD(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentuValDD(double beta, double alpha) { double absbeta = fabs(beta); double uValDD; /* if (beta <= 0 || beta > 1.) { @@ -310,7 +310,7 @@ double GK16NumericalModel::GKtDependentuValDD(double beta, double alpha) { return uValDD; } -double GK16NumericalModel::GKtDependentdValDD(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentdValDD(double beta, double alpha) { double absbeta = fabs(beta); double dValDD; /* if (beta <= 0 || beta > 1.) { @@ -335,7 +335,7 @@ double GK16NumericalModel::GKtDependentdValDD(double beta, double alpha) { return dValDD; } -double GK16NumericalModel::GKtDependentgDD(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentgDD(double beta, double alpha) { double absbeta = fabs(beta); /* if (beta <= 0 || beta > 1.) { throwBetaException(__func__, x); @@ -354,7 +354,7 @@ double GK16NumericalModel::GKtDependentgDD(double beta, double alpha) { * GKPdfAnsatz(2, absbeta, coeff) * Profile(2, beta, alpha); } -double GK16NumericalModel::GKtDependentuDD_t(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentuDD_t(double beta, double alpha) { double absbeta = fabs(beta); /* if (beta <= 0 || beta > 1.) { throwBetaException(__func__, x); @@ -384,7 +384,7 @@ double GK16NumericalModel::GKtDependentuDD_t(double beta, double alpha) { } //DD for Ht -double GK16NumericalModel::GKtDependentdDD_t(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentdDD_t(double beta, double alpha) { double absbeta = fabs(beta); /* if (beta <= 0 || beta > 1.) { throwBetaException(__func__, x); @@ -411,7 +411,7 @@ double GK16NumericalModel::GKtDependentdDD_t(double beta, double alpha) { } -double GK16NumericalModel::GKtDependentHtgDD(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentHtgDD(double beta, double alpha) { double absbeta = fabs(beta); @@ -433,7 +433,7 @@ double GK16NumericalModel::GKtDependentHtgDD(double beta, double alpha) { } //DD for E -double GK16NumericalModel::GKtDependentDD_EuVal(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentDD_EuVal(double beta, double alpha) { double absbeta = fabs(beta); double EuVal; @@ -455,7 +455,7 @@ double GK16NumericalModel::GKtDependentDD_EuVal(double beta, double alpha) { } -double GK16NumericalModel::GKtDependentDD_EdVal(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentDD_EdVal(double beta, double alpha) { double absbeta = fabs(beta); double EdVal; @@ -477,7 +477,7 @@ double GK16NumericalModel::GKtDependentDD_EdVal(double beta, double alpha) { } -double GK16NumericalModel::GKtDependentDD_Es(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentDD_Es(double beta, double alpha) { double absbeta = fabs(beta); double Es; double betas = 7; @@ -494,7 +494,7 @@ double GK16NumericalModel::GKtDependentDD_Es(double beta, double alpha) { } -double GK16NumericalModel::GKtDependentDD_Eg(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentDD_Eg(double beta, double alpha) { double absbeta = fabs(beta); double Eg; double betag = 6; @@ -511,7 +511,7 @@ double GK16NumericalModel::GKtDependentDD_Eg(double beta, double alpha) { } //DDs for Et -double GK16NumericalModel::GKtDependentDD_EtuVal(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentDD_EtuVal(double beta, double alpha) { double absbeta = fabs(beta); double EtuVal; double N = 14; @@ -531,7 +531,7 @@ double GK16NumericalModel::GKtDependentDD_EtuVal(double beta, double alpha) { } -double GK16NumericalModel::GKtDependentDD_EtdVal(double beta, double alpha) { +double GPDGK16Numerical::GKtDependentDD_EtdVal(double beta, double alpha) { double absbeta = fabs(beta); double EduVal; double N = 4; @@ -551,7 +551,7 @@ double GK16NumericalModel::GKtDependentDD_EtdVal(double beta, double alpha) { } //Integrals for GPD Et -double GK16NumericalModel::IntegralEtuVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEtuVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -562,7 +562,7 @@ double GK16NumericalModel::IntegralEtuVal(double beta, std::vector Par) } -double GK16NumericalModel::IntegralEtdVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEtdVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -573,7 +573,7 @@ double GK16NumericalModel::IntegralEtdVal(double beta, std::vector Par) } -double GK16NumericalModel::IntegralEtuValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEtuValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -584,7 +584,7 @@ double GK16NumericalModel::IntegralEtuValMx(double beta, std::vector Par } -double GK16NumericalModel::IntegralEtdValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEtdValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -596,7 +596,7 @@ double GK16NumericalModel::IntegralEtdValMx(double beta, std::vector Par } //Integrals for GPD E -double GK16NumericalModel::IntegralEuVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEuVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -607,7 +607,7 @@ double GK16NumericalModel::IntegralEuVal(double beta, std::vector Par) { } -double GK16NumericalModel::IntegralEdVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEdVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -618,7 +618,7 @@ double GK16NumericalModel::IntegralEdVal(double beta, std::vector Par) { } -double GK16NumericalModel::IntegralEuValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEuValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -629,7 +629,7 @@ double GK16NumericalModel::IntegralEuValMx(double beta, std::vector Par) } -double GK16NumericalModel::IntegralEdValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralEdValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -640,7 +640,7 @@ double GK16NumericalModel::IntegralEdValMx(double beta, std::vector Par) } -double GK16NumericalModel::IntegralxLargeEsSea(double beta, +double GPDGK16Numerical::IntegralxLargeEsSea(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; @@ -651,7 +651,7 @@ double GK16NumericalModel::IntegralxLargeEsSea(double beta, return GKtDependentDD_Es(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxLargeEsSeaMx(double beta, +double GPDGK16Numerical::IntegralxLargeEsSeaMx(double beta, std::vector Par) { double alpha = (m_x + beta) / m_xi; @@ -662,13 +662,13 @@ double GK16NumericalModel::IntegralxLargeEsSeaMx(double beta, return GKtDependentDD_Es(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmallEsSea(double beta, +double GPDGK16Numerical::IntegralxSmallEsSea(double beta, std::vector Par) { return (GKtDependentDD_Es(beta, (m_x - beta) / m_xi) - GKtDependentDD_Es(beta, (m_x + beta) / m_xi)) / m_xi; } -double GK16NumericalModel::IntegralxSmall1EsSea(double beta, +double GPDGK16Numerical::IntegralxSmall1EsSea(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; @@ -679,7 +679,7 @@ double GK16NumericalModel::IntegralxSmall1EsSea(double beta, return GKtDependentDD_Es(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall2EsSea(double beta, +double GPDGK16Numerical::IntegralxSmall2EsSea(double beta, std::vector Par) { double Integral; @@ -690,7 +690,7 @@ double GK16NumericalModel::IntegralxSmall2EsSea(double beta, return GKtDependentDD_Es(beta, (m_x + beta) / m_xi) / m_xi; } -double GK16NumericalModel::IntegralxLargeEgSea(double beta, +double GPDGK16Numerical::IntegralxLargeEgSea(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; @@ -701,7 +701,7 @@ double GK16NumericalModel::IntegralxLargeEgSea(double beta, return GKtDependentDD_Eg(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxLargeEgSeaMx(double beta, +double GPDGK16Numerical::IntegralxLargeEgSeaMx(double beta, std::vector Par) { double alpha = (m_x + beta) / m_xi; @@ -712,7 +712,7 @@ double GK16NumericalModel::IntegralxLargeEgSeaMx(double beta, return GKtDependentDD_Eg(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall1EgSea(double beta, +double GPDGK16Numerical::IntegralxSmall1EgSea(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; @@ -723,7 +723,7 @@ double GK16NumericalModel::IntegralxSmall1EgSea(double beta, return GKtDependentDD_Eg(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall2EgSea(double beta, +double GPDGK16Numerical::IntegralxSmall2EgSea(double beta, std::vector Par) { double alpha = (m_x + beta) / m_xi; @@ -735,7 +735,7 @@ double GK16NumericalModel::IntegralxSmall2EgSea(double beta, } //inetgrals for H -double GK16NumericalModel::IntegralHuVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHuVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -746,7 +746,7 @@ double GK16NumericalModel::IntegralHuVal(double beta, std::vector Par) { } -double GK16NumericalModel::IntegralHuValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHuValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -756,7 +756,7 @@ double GK16NumericalModel::IntegralHuValMx(double beta, std::vector Par) return GKtDependentuValDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralHdVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHdVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -766,7 +766,7 @@ double GK16NumericalModel::IntegralHdVal(double beta, std::vector Par) { return GKtDependentdValDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralHdValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHdValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -776,7 +776,7 @@ double GK16NumericalModel::IntegralHdValMx(double beta, std::vector Par) return GKtDependentdValDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxLargeHg(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralxLargeHg(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -786,7 +786,7 @@ double GK16NumericalModel::IntegralxLargeHg(double beta, std::vector Par return beta * GKtDependentgDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxLargeHgMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralxLargeHgMx(double beta, std::vector Par) { double alpha = (m_x + beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -796,7 +796,7 @@ double GK16NumericalModel::IntegralxLargeHgMx(double beta, std::vector P return beta * GKtDependentgDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall1Hg(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralxSmall1Hg(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -806,7 +806,7 @@ double GK16NumericalModel::IntegralxSmall1Hg(double beta, std::vector Pa return beta * GKtDependentgDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall2Hg(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralxSmall2Hg(double beta, std::vector Par) { double alpha = (m_x + beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -816,7 +816,7 @@ double GK16NumericalModel::IntegralxSmall2Hg(double beta, std::vector Pa return beta * GKtDependentgDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxLargeHsSea(double beta, +double GPDGK16Numerical::IntegralxLargeHsSea(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; @@ -827,7 +827,7 @@ double GK16NumericalModel::IntegralxLargeHsSea(double beta, return GKtDependentsDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxLargeHsSeaMx(double beta, +double GPDGK16Numerical::IntegralxLargeHsSeaMx(double beta, std::vector Par) { double alpha = (m_x + beta) / m_xi; @@ -838,13 +838,13 @@ double GK16NumericalModel::IntegralxLargeHsSeaMx(double beta, return GKtDependentsDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmallHsSea(double beta, +double GPDGK16Numerical::IntegralxSmallHsSea(double beta, std::vector Par) { return (GKtDependentsDD(beta, (m_x - beta) / m_xi) - GKtDependentsDD(beta, (m_x + beta) / m_xi)) / m_xi; } -double GK16NumericalModel::IntegralxSmall1HsSea(double beta, +double GPDGK16Numerical::IntegralxSmall1HsSea(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; @@ -855,7 +855,7 @@ double GK16NumericalModel::IntegralxSmall1HsSea(double beta, return GKtDependentsDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall2HsSea(double beta, +double GPDGK16Numerical::IntegralxSmall2HsSea(double beta, std::vector Par) { double Integral; @@ -867,7 +867,7 @@ double GK16NumericalModel::IntegralxSmall2HsSea(double beta, } //Integrals for Ht -double GK16NumericalModel::IntegralHtuVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHtuVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -878,7 +878,7 @@ double GK16NumericalModel::IntegralHtuVal(double beta, std::vector Par) } -double GK16NumericalModel::IntegralHtdVal(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHtdVal(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -889,7 +889,7 @@ double GK16NumericalModel::IntegralHtdVal(double beta, std::vector Par) } -double GK16NumericalModel::IntegralHtuValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHtuValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -900,7 +900,7 @@ double GK16NumericalModel::IntegralHtuValMx(double beta, std::vector Par } -double GK16NumericalModel::IntegralHtdValMx(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralHtdValMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -911,7 +911,7 @@ double GK16NumericalModel::IntegralHtdValMx(double beta, std::vector Par } -double GK16NumericalModel::IntegralxLargeHtg(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralxLargeHtg(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -921,7 +921,7 @@ double GK16NumericalModel::IntegralxLargeHtg(double beta, std::vector Pa return GKtDependentHtgDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxLargeHtgMx(double beta, +double GPDGK16Numerical::IntegralxLargeHtgMx(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; @@ -932,7 +932,7 @@ double GK16NumericalModel::IntegralxLargeHtgMx(double beta, return GKtDependentHtgDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall1Htg(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralxSmall1Htg(double beta, std::vector Par) { double alpha = (m_x - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -942,7 +942,7 @@ double GK16NumericalModel::IntegralxSmall1Htg(double beta, std::vector P return GKtDependentHtgDD(beta, alpha) / m_xi; } -double GK16NumericalModel::IntegralxSmall2Htg(double beta, std::vector Par) { +double GPDGK16Numerical::IntegralxSmall2Htg(double beta, std::vector Par) { double alpha = (m_Mx - beta) / m_xi; if (beta <= 0 || beta > 1.) { @@ -952,7 +952,7 @@ double GK16NumericalModel::IntegralxSmall2Htg(double beta, std::vector P return GKtDependentHtgDD(beta, alpha) / m_xi; } -PartonDistribution GK16NumericalModel::computeH() { +PartonDistribution GPDGK16Numerical::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -1096,7 +1096,7 @@ PartonDistribution GK16NumericalModel::computeH() { return partonDistribution; } -PartonDistribution GK16NumericalModel::computeHt() { +PartonDistribution GPDGK16Numerical::computeHt() { debug(__func__, "Entered function ..."); @@ -1232,7 +1232,7 @@ PartonDistribution GK16NumericalModel::computeHt() { return partonDistribution; } -PartonDistribution GK16NumericalModel::computeE() { +PartonDistribution GPDGK16Numerical::computeE() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -1378,7 +1378,7 @@ PartonDistribution GK16NumericalModel::computeE() { return partonDistribution; } -PartonDistribution GK16NumericalModel::computeEt() { +PartonDistribution GPDGK16Numerical::computeEt() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -1492,7 +1492,7 @@ PartonDistribution GK16NumericalModel::computeEt() { return partonDistribution; } -double GK16NumericalModel::Et_pole(double x) { +double GPDGK16Numerical::Et_pole(double x) { //TODO extraire les constantes si existantes @@ -1533,6 +1533,6 @@ double GK16NumericalModel::Et_pole(double x) { return dum; } -std::string GK16NumericalModel::toString() const { +std::string GPDGK16Numerical::toString() const { return GPDModule::toString(); } diff --git a/src/partons/modules/gpd/GK16ModelTest.cpp b/src/partons/modules/gpd/GPDGK16Test.cpp similarity index 91% rename from src/partons/modules/gpd/GK16ModelTest.cpp rename to src/partons/modules/gpd/GPDGK16Test.cpp index 38ce4a22..33044829 100644 --- a/src/partons/modules/gpd/GK16ModelTest.cpp +++ b/src/partons/modules/gpd/GPDGK16Test.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/GK16ModelTest.h" - #include #include #include @@ -16,14 +14,15 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDGK16Test.h" // Initialise [class]::classId with a unique name. -const unsigned int GK16ModelTest::classId = +const unsigned int GPDGK16Test::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GK16ModelTest("GK16ModelTest")); + new GPDGK16Test("GPDGK16Test")); //TODO initialise missing members -GK16ModelTest::GK16ModelTest(const std::string &className) : +GPDGK16Test::GPDGK16Test(const std::string &className) : GPDModule(className) { m_nf = 3; fL = 0.; @@ -60,7 +59,7 @@ GK16ModelTest::GK16ModelTest(const std::string &className) : std::make_pair(GPDType::Et, &GPDModule::computeEt)); } -GK16ModelTest::GK16ModelTest(const GK16ModelTest& other) : +GPDGK16Test::GPDGK16Test(const GPDGK16Test& other) : GPDModule(other) { c1 = other.getC1(); c2 = other.getC2(); @@ -120,24 +119,24 @@ GK16ModelTest::GK16ModelTest(const GK16ModelTest& other) : Etdval1mtab = other.getEtdval1mtab(); } -GK16ModelTest* GK16ModelTest::clone() const { - return new GK16ModelTest(*this); +GPDGK16Test* GPDGK16Test::clone() const { + return new GPDGK16Test(*this); } -GK16ModelTest::~GK16ModelTest() { +GPDGK16Test::~GPDGK16Test() { } -void GK16ModelTest::configure(const ElemUtils::Parameters ¶meters) { +void GPDGK16Test::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } //TODO implement -void GK16ModelTest::isModuleWellConfigured() { +void GPDGK16Test::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void GK16ModelTest::initModule() { +void GPDGK16Test::initModule() { GPDModule::initModule(); fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale @@ -146,7 +145,7 @@ void GK16ModelTest::initModule() { ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ } -PartonDistribution GK16ModelTest::computeH() { +PartonDistribution GPDGK16Test::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -270,7 +269,7 @@ PartonDistribution GK16ModelTest::computeH() { return partonDistribution; } -PartonDistribution GK16ModelTest::computeHt() { +PartonDistribution GPDGK16Test::computeHt() { debug(__func__, "Entered function ..."); @@ -392,7 +391,7 @@ PartonDistribution GK16ModelTest::computeHt() { return partonDistribution; } -PartonDistribution GK16ModelTest::computeE() { +PartonDistribution GPDGK16Test::computeE() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -498,7 +497,7 @@ PartonDistribution GK16ModelTest::computeE() { return partonDistribution; } -PartonDistribution GK16ModelTest::computeEt() { +PartonDistribution GPDGK16Test::computeEt() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); @@ -606,7 +605,7 @@ PartonDistribution GK16ModelTest::computeEt() { // return result; //} -void GK16ModelTest::calculateHCoefs() { +void GPDGK16Test::calculateHCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow (full calculation with cln ) @@ -705,7 +704,7 @@ void GK16ModelTest::calculateHCoefs() { } } -void GK16ModelTest::calculateHKas() { +void GPDGK16Test::calculateHKas() { double alpha, delta; // gluons @@ -733,7 +732,7 @@ void GK16ModelTest::calculateHKas() { kHdval = delta + alpha * m_t; } -double GK16ModelTest::Hs1(double x, double i, double k) { +double GPDGK16Test::Hs1(double x, double i, double k) { double dummy; @@ -782,7 +781,7 @@ double GK16ModelTest::Hs1(double x, double i, double k) { return dummy; } -double GK16ModelTest::Hi1(double x, double i, double k) { +double GPDGK16Test::Hi1(double x, double i, double k) { double dummy; @@ -827,7 +826,7 @@ double GK16ModelTest::Hi1(double x, double i, double k) { return dummy; } -double GK16ModelTest::Hs1_alt(double x, double i, double k) { +double GPDGK16Test::Hs1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -888,7 +887,7 @@ double GK16ModelTest::Hs1_alt(double x, double i, double k) { return dummy; } -double GK16ModelTest::Hi1_alt(double x, double i, double k) { +double GPDGK16Test::Hi1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2, dummy3; @@ -951,7 +950,7 @@ double GK16ModelTest::Hi1_alt(double x, double i, double k) { return dummy; } -double GK16ModelTest::Hval1(double x, double i, double k) { +double GPDGK16Test::Hval1(double x, double i, double k) { double dummy; @@ -981,7 +980,7 @@ double GK16ModelTest::Hval1(double x, double i, double k) { return dummy; } -double GK16ModelTest::Hval1_alt(double x, double i, double k) { +double GPDGK16Test::Hval1_alt(double x, double i, double k) { cln::cl_R ia, ka, xba, xia; cln::cl_R dummya, dummy1, dummy2; @@ -1051,7 +1050,7 @@ double GK16ModelTest::Hval1_alt(double x, double i, double k) { * ( gluons only for now, Htilde_sea = 0 for Kroll ) * */ -void GK16ModelTest::calculateHtCoefs() { +void GPDGK16Test::calculateHtCoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1140,7 +1139,7 @@ void GK16ModelTest::calculateHtCoefs() { * Compute t-dependence of GPD Ht correlated to x. * */ -void GK16ModelTest::calculateHtKas() { +void GPDGK16Test::calculateHtKas() { double alpha, delta; // gluons @@ -1175,7 +1174,7 @@ void GK16ModelTest::calculateHtKas() { * Exactly the same as Hval1_alt and Eval1_alt. * */ -double GK16ModelTest::Htval1_alt(double x, double i, double k) { +double GPDGK16Test::Htval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1185,7 +1184,7 @@ double GK16ModelTest::Htval1_alt(double x, double i, double k) { * Exactly the same as Hs1. * */ -double GK16ModelTest::Hti1(double x, double i, double k) { +double GPDGK16Test::Hti1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1196,7 +1195,7 @@ double GK16ModelTest::Hti1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK16ModelTest::Hti1_alt(double x, double i, double k) { +double GPDGK16Test::Hti1_alt(double x, double i, double k) { //return Hs1_alt(_xi, x, i, k); @@ -1271,7 +1270,7 @@ double GK16ModelTest::Hti1_alt(double x, double i, double k) { * Exactly the same as Hval1 and Eval1. * */ -double GK16ModelTest::Htval1(double x, double i, double k) { +double GPDGK16Test::Htval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1294,7 +1293,7 @@ double GK16ModelTest::Htval1(double x, double i, double k) { * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. * */ -void GK16ModelTest::calculateECoefs() { +void GPDGK16Test::calculateECoefs() { int slow_sea = 0; // by default, fast int slow_val = 0; // if = 1 : slow ( full calculation with cln ) @@ -1404,7 +1403,7 @@ void GK16ModelTest::calculateECoefs() { * Compute t-dependence of GPD H correlated to x. * */ -void GK16ModelTest::calculateEKas() { +void GPDGK16Test::calculateEKas() { double alpha, delta; // gluons @@ -1439,7 +1438,7 @@ void GK16ModelTest::calculateEKas() { * Exactly the same as Hs1. * */ -double GK16ModelTest::Es1(double x, double i, double k) { +double GPDGK16Test::Es1(double x, double i, double k) { return Hs1(x, i, k); } @@ -1449,7 +1448,7 @@ double GK16ModelTest::Es1(double x, double i, double k) { * Exactly the same as Hi1. * */ -double GK16ModelTest::Ei1(double x, double i, double k) { +double GPDGK16Test::Ei1(double x, double i, double k) { return Hi1(x, i, k); } @@ -1459,7 +1458,7 @@ double GK16ModelTest::Ei1(double x, double i, double k) { * Exactly the same as Hs1_alt. * */ -double GK16ModelTest::Es1_alt(double x, double i, double k) { +double GPDGK16Test::Es1_alt(double x, double i, double k) { return Hs1_alt(x, i, k); } @@ -1469,7 +1468,7 @@ double GK16ModelTest::Es1_alt(double x, double i, double k) { * Exactly the same as Hi1_alt. * */ -double GK16ModelTest::Ei1_alt(double x, double i, double k) { +double GPDGK16Test::Ei1_alt(double x, double i, double k) { return Hi1_alt(x, i, k); } @@ -1479,7 +1478,7 @@ double GK16ModelTest::Ei1_alt(double x, double i, double k) { * Exactly the same as Hval1. * */ -double GK16ModelTest::Eval1(double x, double i, double k) { +double GPDGK16Test::Eval1(double x, double i, double k) { return Hval1(x, i, k); } @@ -1489,7 +1488,7 @@ double GK16ModelTest::Eval1(double x, double i, double k) { * Exactly the same as Hval1_alt. * */ -double GK16ModelTest::Eval1_alt(double x, double i, double k) { +double GPDGK16Test::Eval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } @@ -1509,7 +1508,7 @@ double GK16ModelTest::Eval1_alt(double x, double i, double k) { * For the sea ( and gluons later ) * */ -void GK16ModelTest::calculateEtCoefs() { +void GPDGK16Test::calculateEtCoefs() { int slow_val = 0; // if = 1 : slow ( full calculation with cln ) // For valence @@ -1573,7 +1572,7 @@ void GK16ModelTest::calculateEtCoefs() { * Compute t-dependence of GPD Et correlated to x. * */ -void GK16ModelTest::calculateEtKas() { +void GPDGK16Test::calculateEtKas() { double alpha, delta; // gluons, not modelled by GK. @@ -1601,7 +1600,7 @@ void GK16ModelTest::calculateEtKas() { * Pion pole contribution to Et. * */ -double GK16ModelTest::Et_pole(double x) { +double GPDGK16Test::Et_pole(double x) { //TODO extraire les constantes si existantes @@ -1658,7 +1657,7 @@ double GK16ModelTest::Et_pole(double x) { * end if: end if: * */ -double GK16ModelTest::Etval1(double x, double i, double k) { +double GPDGK16Test::Etval1(double x, double i, double k) { double dum; if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() @@ -1694,234 +1693,234 @@ double GK16ModelTest::Etval1(double x, double i, double k) { * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. * */ -double GK16ModelTest::Etval1_alt(double x, double i, double k) { +double GPDGK16Test::Etval1_alt(double x, double i, double k) { return Hval1_alt(x, i, k); } -double GK16ModelTest::getB0() const { +double GPDGK16Test::getB0() const { return b0; } -double GK16ModelTest::getC1() const { +double GPDGK16Test::getC1() const { return c1; } -double GK16ModelTest::getC2() const { +double GPDGK16Test::getC2() const { return c2; } -double GK16ModelTest::getC3() const { +double GPDGK16Test::getC3() const { return c3; } -double GK16ModelTest::getC4() const { +double GPDGK16Test::getC4() const { return c4; } -double GK16ModelTest::getC5() const { +double GPDGK16Test::getC5() const { return c5; } -double GK16ModelTest::getC6() const { +double GPDGK16Test::getC6() const { return c6; } -double GK16ModelTest::getC7() const { +double GPDGK16Test::getC7() const { return c7; } -double GK16ModelTest::getC8() const { +double GPDGK16Test::getC8() const { return c8; } -const std::vector& GK16ModelTest::getEdval1mtab() const { +const std::vector& GPDGK16Test::getEdval1mtab() const { return Edval1mtab; } -const std::vector& GK16ModelTest::getEdval1tab() const { +const std::vector& GPDGK16Test::getEdval1tab() const { return Edval1tab; } -const std::vector& GK16ModelTest::getEi1tab() const { +const std::vector& GPDGK16Test::getEi1tab() const { return Ei1tab; } -const std::vector& GK16ModelTest::getEs1tab() const { +const std::vector& GPDGK16Test::getEs1tab() const { return Es1tab; } -const std::vector& GK16ModelTest::getEtdval1mtab() const { +const std::vector& GPDGK16Test::getEtdval1mtab() const { return Etdval1mtab; } -const std::vector& GK16ModelTest::getEtdval1tab() const { +const std::vector& GPDGK16Test::getEtdval1tab() const { return Etdval1tab; } -const std::vector& GK16ModelTest::getEtuval1mtab() const { +const std::vector& GPDGK16Test::getEtuval1mtab() const { return Etuval1mtab; } -const std::vector& GK16ModelTest::getEtuval1tab() const { +const std::vector& GPDGK16Test::getEtuval1tab() const { return Etuval1tab; } -const std::vector& GK16ModelTest::getEuval1mtab() const { +const std::vector& GPDGK16Test::getEuval1mtab() const { return Euval1mtab; } -const std::vector& GK16ModelTest::getEuval1tab() const { +const std::vector& GPDGK16Test::getEuval1tab() const { return Euval1tab; } -double GK16ModelTest::getEdValMx() const { +double GPDGK16Test::getEdValMx() const { return fEdValMx; } -double GK16ModelTest::getEtdValMx() const { +double GPDGK16Test::getEtdValMx() const { return fEtdValMx; } -double GK16ModelTest::getEtuValMx() const { +double GPDGK16Test::getEtuValMx() const { return fEtuValMx; } -double GK16ModelTest::getEuValMx() const { +double GPDGK16Test::getEuValMx() const { return fEuValMx; } -double GK16ModelTest::getHdValMx() const { +double GPDGK16Test::getHdValMx() const { return fHdValMx; } -double GK16ModelTest::getHtdValMx() const { +double GPDGK16Test::getHtdValMx() const { return fHtdValMx; } -double GK16ModelTest::getHtuValMx() const { +double GPDGK16Test::getHtuValMx() const { return fHtuValMx; } -double GK16ModelTest::getHuValMx() const { +double GPDGK16Test::getHuValMx() const { return fHuValMx; } -double GK16ModelTest::getL() const { +double GPDGK16Test::getL() const { return fL; } -const std::vector& GK16ModelTest::getHdval1mtab() const { +const std::vector& GPDGK16Test::getHdval1mtab() const { return Hdval1mtab; } -const std::vector& GK16ModelTest::getHdval1tab() const { +const std::vector& GPDGK16Test::getHdval1tab() const { return Hdval1tab; } -const std::vector& GK16ModelTest::getHi1tab() const { +const std::vector& GPDGK16Test::getHi1tab() const { return Hi1tab; } -const std::vector& GK16ModelTest::getHs1tab() const { +const std::vector& GPDGK16Test::getHs1tab() const { return Hs1tab; } -const std::vector& GK16ModelTest::getHtdval1mtab() const { +const std::vector& GPDGK16Test::getHtdval1mtab() const { return Htdval1mtab; } -const std::vector& GK16ModelTest::getHtdval1tab() const { +const std::vector& GPDGK16Test::getHtdval1tab() const { return Htdval1tab; } -const std::vector& GK16ModelTest::getHti1tab() const { +const std::vector& GPDGK16Test::getHti1tab() const { return Hti1tab; } -const std::vector& GK16ModelTest::getHtuval1mtab() const { +const std::vector& GPDGK16Test::getHtuval1mtab() const { return Htuval1mtab; } -const std::vector& GK16ModelTest::getHtuval1tab() const { +const std::vector& GPDGK16Test::getHtuval1tab() const { return Htuval1tab; } -const std::vector& GK16ModelTest::getHuval1mtab() const { +const std::vector& GPDGK16Test::getHuval1mtab() const { return Huval1mtab; } -const std::vector& GK16ModelTest::getHuval1tab() const { +const std::vector& GPDGK16Test::getHuval1tab() const { return Huval1tab; } -double GK16ModelTest::getKappaS() const { +double GPDGK16Test::getKappaS() const { return kappa_s; } -double GK16ModelTest::getEdval() const { +double GPDGK16Test::getEdval() const { return kEdval; } -double GK16ModelTest::getEgluon() const { +double GPDGK16Test::getEgluon() const { return kEgluon; } -double GK16ModelTest::getEsea() const { +double GPDGK16Test::getEsea() const { return kEsea; } -double GK16ModelTest::getEtdval() const { +double GPDGK16Test::getEtdval() const { return kEtdval; } -double GK16ModelTest::getEtgluon() const { +double GPDGK16Test::getEtgluon() const { return kEtgluon; } -double GK16ModelTest::getEtsea() const { +double GPDGK16Test::getEtsea() const { return kEtsea; } -double GK16ModelTest::getEtuval() const { +double GPDGK16Test::getEtuval() const { return kEtuval; } -double GK16ModelTest::getEuval() const { +double GPDGK16Test::getEuval() const { return kEuval; } -double GK16ModelTest::getHdval() const { +double GPDGK16Test::getHdval() const { return kHdval; } -double GK16ModelTest::getHgluon() const { +double GPDGK16Test::getHgluon() const { return kHgluon; } -double GK16ModelTest::getHsea() const { +double GPDGK16Test::getHsea() const { return kHsea; } -double GK16ModelTest::getHtdval() const { +double GPDGK16Test::getHtdval() const { return kHtdval; } -double GK16ModelTest::getHtgluon() const { +double GPDGK16Test::getHtgluon() const { return kHtgluon; } -double GK16ModelTest::getHtsea() const { +double GPDGK16Test::getHtsea() const { return kHtsea; } -double GK16ModelTest::getHtuval() const { +double GPDGK16Test::getHtuval() const { return kHtuval; } -double GK16ModelTest::getHuval() const { +double GPDGK16Test::getHuval() const { return kHuval; } -std::string GK16ModelTest::toString() { +std::string GPDGK16Test::toString() { return GPDModule::toString(); } diff --git a/src/partons/modules/gpd/MMS13Model.cpp b/src/partons/modules/gpd/GPDMMS13.cpp similarity index 84% rename from src/partons/modules/gpd/MMS13Model.cpp rename to src/partons/modules/gpd/GPDMMS13.cpp index e363f691..0c01e74c 100644 --- a/src/partons/modules/gpd/MMS13Model.cpp +++ b/src/partons/modules/gpd/GPDMMS13.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/MMS13Model.h" - #include #include #include @@ -18,18 +16,19 @@ #include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDMMS13.h" #include "../../../../include/partons/utils/MSTWPDF.h" #include "../../../../include/partons/utils/PartonContent.h" -const unsigned int MMS13Model::classId = +const unsigned int GPDMMS13::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new MMS13Model("MMS13Model")); + new GPDMMS13("GPDMMS13")); -const std::string MMS13Model::PARAMETER_NAME_MMS13MODEL_NHpE = "MMS13Model_NHpE"; -const std::string MMS13Model::PARAMETER_NAME_MMS13MODEL_NE = "MMS13Model_NE"; -const std::string MMS13Model::PARAMETER_NAME_MMS13MODEL_C = "MMS13Model_C"; +const std::string GPDMMS13::PARAMETER_NAME_MMS13MODEL_NHpE = "MMS13Model_NHpE"; +const std::string GPDMMS13::PARAMETER_NAME_MMS13MODEL_NE = "MMS13Model_NE"; +const std::string GPDMMS13::PARAMETER_NAME_MMS13MODEL_C = "MMS13Model_C"; -MMS13Model::MMS13Model(const std::string &className) : +GPDMMS13::GPDMMS13(const std::string &className) : GPDModule(className), MathIntegratorModule(), m_pForward(0) { m_NE = 1; @@ -45,7 +44,7 @@ MMS13Model::MMS13Model(const std::string &className) : initFunctorsForIntegrations(); } -MMS13Model::MMS13Model(const MMS13Model& other) : +GPDMMS13::GPDMMS13(const GPDMMS13& other) : GPDModule(other), MathIntegratorModule(other) { m_NE = other.m_NE; @@ -61,7 +60,7 @@ MMS13Model::MMS13Model(const MMS13Model& other) : initFunctorsForIntegrations(); } -MMS13Model::~MMS13Model() { +GPDMMS13::~GPDMMS13() { if (m_pForward) { delete m_pForward; @@ -69,59 +68,59 @@ MMS13Model::~MMS13Model() { } } -void MMS13Model::initFunctorsForIntegrations() { +void GPDMMS13::initFunctorsForIntegrations() { m_pint_IntHpEDDval = NumA::Integrator1D::newIntegrationFunctor(this, - &MMS13Model::IntHpEDDval); + &GPDMMS13::IntHpEDDval); m_pint_IntEvalPlusAB = NumA::Integrator1D::newIntegrationFunctor(this, - &MMS13Model::IntEvalPlusAB); + &GPDMMS13::IntEvalPlusAB); m_pint_IntEvalPlusA = NumA::Integrator1D::newIntegrationFunctor(this, - &MMS13Model::IntEvalPlusA); + &GPDMMS13::IntEvalPlusA); m_pint_IntEvalPlusB = NumA::Integrator1D::newIntegrationFunctor(this, - &MMS13Model::IntEvalPlusB); + &GPDMMS13::IntEvalPlusB); } -MMS13Model* MMS13Model::clone() const { - return new MMS13Model(*this); +GPDMMS13* GPDMMS13::clone() const { + return new GPDMMS13(*this); } //TODO clone MSTWPDF instead of hardcoded new -void MMS13Model::resolveObjectDependencies() { +void GPDMMS13::resolveObjectDependencies() { setIntegrator(NumA::IntegratorType1D::DEXP); } -void MMS13Model::configure(const ElemUtils::Parameters ¶meters) { +void GPDMMS13::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); - if (parameters.isAvailable(MMS13Model::PARAMETER_NAME_MMS13MODEL_NHpE)) { + if (parameters.isAvailable(GPDMMS13::PARAMETER_NAME_MMS13MODEL_NHpE)) { m_NHpE = parameters.getLastAvailable().toInt(); } - if (parameters.isAvailable(MMS13Model::PARAMETER_NAME_MMS13MODEL_NE)) { + if (parameters.isAvailable(GPDMMS13::PARAMETER_NAME_MMS13MODEL_NE)) { m_NE = parameters.getLastAvailable().toInt(); } - if (parameters.isAvailable(MMS13Model::PARAMETER_NAME_MMS13MODEL_C)) { + if (parameters.isAvailable(GPDMMS13::PARAMETER_NAME_MMS13MODEL_C)) { m_C = parameters.getLastAvailable().toDouble(); } } -std::string MMS13Model::toString() const { +std::string GPDMMS13::toString() const { return GPDModule::toString(); } -void MMS13Model::isModuleWellConfigured() { +void GPDMMS13::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void MMS13Model::initModule() { +void GPDMMS13::initModule() { GPDModule::initModule(); } -PartonDistribution MMS13Model::computeH() { +PartonDistribution GPDMMS13::computeH() { //variables double uVal, uSea, dVal, dSea, sSea, g; @@ -178,7 +177,7 @@ PartonDistribution MMS13Model::computeH() { } -PartonDistribution MMS13Model::computeE() { +PartonDistribution GPDMMS13::computeE() { //variables double uVal, uSea, dVal, dSea, sSea, g; @@ -230,7 +229,7 @@ PartonDistribution MMS13Model::computeE() { return partonDistribution; } -double MMS13Model::forwardHval(double beta, QuarkFlavor::Type flavor) const { +double GPDMMS13::forwardHval(double beta, QuarkFlavor::Type flavor) const { //check x if (beta <= 0.) { @@ -278,7 +277,7 @@ double MMS13Model::forwardHval(double beta, QuarkFlavor::Type flavor) const { return 0.; } -double MMS13Model::forwardEval(double beta, QuarkFlavor::Type flavor) const { +double GPDMMS13::forwardEval(double beta, QuarkFlavor::Type flavor) const { //check x if (beta <= 0.) { @@ -331,18 +330,18 @@ double MMS13Model::forwardEval(double beta, QuarkFlavor::Type flavor) const { return 0.; } -double MMS13Model::forwardEvalFunction(double beta, double kappa, double nu, +double GPDMMS13::forwardEvalFunction(double beta, double kappa, double nu, double mu) const { return kappa * pow(beta, -1 * mu) * pow(1. - beta, nu) * tgamma(2. - mu + nu) / tgamma(1. - mu) / tgamma(1. + nu); } -double MMS13Model::profileFunction(double beta, double alpha, int N) { +double GPDMMS13::profileFunction(double beta, double alpha, int N) { return tgamma(N + 1.5) * pow(pow(1. - fabs(beta), 2) - pow(alpha, 2), N) / tgamma(N + 1) / pow(1. - fabs(beta), 2 * N + 1) / sqrt(Constant::PI); } -double MMS13Model::DTerm(double zeta) const { +double GPDMMS13::DTerm(double zeta) const { if (fabs(zeta) < 1.) { return m_C * zeta * (1. - pow(zeta, 2)); @@ -351,7 +350,7 @@ double MMS13Model::DTerm(double zeta) const { } } -double MMS13Model::HpEDDVal(double x, QuarkFlavor::Type flavor, int N) { +double GPDMMS13::HpEDDVal(double x, QuarkFlavor::Type flavor, int N) { //set parameters std::vector parameters; @@ -377,7 +376,7 @@ double MMS13Model::HpEDDVal(double x, QuarkFlavor::Type flavor, int N) { } } -double MMS13Model::EValPlus(double x, QuarkFlavor::Type flavor, int N) { +double GPDMMS13::EValPlus(double x, QuarkFlavor::Type flavor, int N) { //set parameters std::vector parameters; @@ -418,7 +417,7 @@ double MMS13Model::EValPlus(double x, QuarkFlavor::Type flavor, int N) { } } -double MMS13Model::IntHpEDDval(double beta, std::vector par) { +double GPDMMS13::IntHpEDDval(double beta, std::vector par) { return (1 / m_xi) * (forwardHval(beta, static_cast(int(par[1]))) + forwardEval(beta, @@ -426,7 +425,7 @@ double MMS13Model::IntHpEDDval(double beta, std::vector par) { * profileFunction(beta, (par[0] - beta) / m_xi, int(par[2])); } -double MMS13Model::IntEvalPlusAB(double beta, std::vector par) { +double GPDMMS13::IntEvalPlusAB(double beta, std::vector par) { if (beta == 0) { return 0.; @@ -435,13 +434,13 @@ double MMS13Model::IntEvalPlusAB(double beta, std::vector par) { } } -double MMS13Model::IntEvalPlusA(double beta, std::vector par) { +double GPDMMS13::IntEvalPlusA(double beta, std::vector par) { return (1 / m_xi) * forwardEval(beta, static_cast(int(par[1]))) * profileFunction(beta, (par[0] - beta) / m_xi, int(par[2])) / beta; } -double MMS13Model::IntEvalPlusB(double beta, std::vector par) { +double GPDMMS13::IntEvalPlusB(double beta, std::vector par) { return (1 / m_xi) * forwardEval(beta, static_cast(int(par[1]))) * profileFunction(beta, par[0] / m_xi, int(par[2])) / beta; diff --git a/src/partons/modules/gpd/MPSSW13Model.cpp b/src/partons/modules/gpd/GPDMPSSW13.cpp similarity index 90% rename from src/partons/modules/gpd/MPSSW13Model.cpp rename to src/partons/modules/gpd/GPDMPSSW13.cpp index 8d5e1e43..583bf28a 100644 --- a/src/partons/modules/gpd/MPSSW13Model.cpp +++ b/src/partons/modules/gpd/GPDMPSSW13.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/MPSSW13Model.h" - #include #include #include @@ -17,15 +15,16 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDMPSSW13.h" #include "../../../../include/partons/utils/MSTWPDF.h" #include "../../../../include/partons/utils/PartonContent.h" // Initialise [class]::classId with a unique name. -const unsigned int MPSSW13Model::classId = +const unsigned int GPDMPSSW13::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new MPSSW13Model("MPSSW13Model")); + new GPDMPSSW13("GPDMPSSW13")); -MPSSW13Model::MPSSW13Model(const std::string &className) : +GPDMPSSW13::GPDMPSSW13(const std::string &className) : GPDModule(className), MathIntegratorModule(), m_Forward(0), m_NbOfQuarkFlavor( 2), m_NbOfColor(3), m_Mx(0.), m_CA(3.), m_CF(4. / 3.), m_TF( 1. / 2.), m_F1u(0.), m_F1d(0.), m_FD(0.), m_ProfileShapeVal(1.), m_ProfileShapeSea( @@ -42,7 +41,7 @@ MPSSW13Model::MPSSW13Model(const std::string &className) : } -MPSSW13Model::MPSSW13Model(const MPSSW13Model& other) : +GPDMPSSW13::GPDMPSSW13(const GPDMPSSW13& other) : GPDModule(other), MathIntegratorModule(other) { m_NbOfQuarkFlavor = other.m_NbOfQuarkFlavor; m_NbOfColor = other.m_NbOfColor; @@ -68,84 +67,84 @@ MPSSW13Model::MPSSW13Model(const MPSSW13Model& other) : initFunctorsForIntegrations(); } -MPSSW13Model::~MPSSW13Model() { +GPDMPSSW13::~GPDMPSSW13() { if (m_Forward) { delete m_Forward; m_Forward = 0; } } -void MPSSW13Model::initFunctorsForIntegrations() { +void GPDMPSSW13::initFunctorsForIntegrations() { m_pIntegralHuVal = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralHuVal); + &GPDMPSSW13::IntegralHuVal); m_pIntegralHdVal = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralHdVal); + &GPDMPSSW13::IntegralHdVal); m_pIntegralHuValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralHuValMx); + &GPDMPSSW13::IntegralHuValMx); m_pIntegralHdValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralHdValMx); + &GPDMPSSW13::IntegralHdValMx); m_pIntegralxLargeHuSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHuSea); + &GPDMPSSW13::IntegralxLargeHuSea); m_pIntegralxLargeHdSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHdSea); + &GPDMPSSW13::IntegralxLargeHdSea); m_pIntegralxSmall1HuSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall1HuSea); + &GPDMPSSW13::IntegralxSmall1HuSea); m_pIntegralxSmall2HuSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall2HuSea); + &GPDMPSSW13::IntegralxSmall2HuSea); m_pIntegralxSmall1HdSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall1HdSea); + &GPDMPSSW13::IntegralxSmall1HdSea); m_pIntegralxSmall2HdSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall2HdSea); + &GPDMPSSW13::IntegralxSmall2HdSea); m_pIntegralxLargeHuSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHuSeaMx); + &GPDMPSSW13::IntegralxLargeHuSeaMx); m_pIntegralxLargeHdSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHdSeaMx); + &GPDMPSSW13::IntegralxLargeHdSeaMx); m_pIntegralxLargeHsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHsSea); + &GPDMPSSW13::IntegralxLargeHsSea); m_pIntegralxSmall1HsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall1HsSea); + &GPDMPSSW13::IntegralxSmall1HsSea); m_pIntegralxSmall2HsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall2HsSea); + &GPDMPSSW13::IntegralxSmall2HsSea); m_pIntegralxLargeHsSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHsSeaMx); + &GPDMPSSW13::IntegralxLargeHsSeaMx); m_pIntegralxLargeHg = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHg); + &GPDMPSSW13::IntegralxLargeHg); m_pIntegralxSmall1Hg = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall1Hg); + &GPDMPSSW13::IntegralxSmall1Hg); m_pIntegralxSmall2Hg = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxSmall2Hg); + &GPDMPSSW13::IntegralxSmall2Hg); m_pIntegralxLargeHgMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13Model::IntegralxLargeHgMx); + &GPDMPSSW13::IntegralxLargeHgMx); } -void MPSSW13Model::resolveObjectDependencies() { +void GPDMPSSW13::resolveObjectDependencies() { setIntegrator(NumA::IntegratorType1D::DEXP); } -MPSSW13Model* MPSSW13Model::clone() const { - return new MPSSW13Model(*this); +GPDMPSSW13* GPDMPSSW13::clone() const { + return new GPDMPSSW13(*this); } -void MPSSW13Model::setParameters(std::vector Parameters) { +void GPDMPSSW13::setParameters(std::vector Parameters) { // TODO: Check general syntax of setParameters... if (Parameters.size() != 3) { @@ -182,7 +181,7 @@ void MPSSW13Model::setParameters(std::vector Parameters) { m_ProfileShapeGlue = Parameters.at(2); } -void MPSSW13Model::ComputeDTerms() { +void GPDMPSSW13::ComputeDTerms() { //TODO divided by zero ! double z = m_x / m_xi; @@ -459,7 +458,7 @@ void MPSSW13Model::ComputeDTerms() { } } -void MPSSW13Model::ComputeFormFactors() { +void GPDMPSSW13::ComputeFormFactors() { double Gep, Gen, Gmp, Gmn; // Sachs form factors double F1p, F1n, F2p, F2n; // Pauli-Dirac form factors @@ -490,7 +489,7 @@ void MPSSW13Model::ComputeFormFactors() { m_FD = 1. / ((1. - m_t / MV2) * (1. - m_t / MV2)); } -double MPSSW13Model::Profile(double N, double beta, double alpha) { +double GPDMPSSW13::Profile(double N, double beta, double alpha) { double profile; double ProfileShape = N; double TwiceProfileShapePlus1 = 2. * ProfileShape + 1; @@ -515,7 +514,7 @@ double MPSSW13Model::Profile(double N, double beta, double alpha) { return profile; } -void MPSSW13Model::throwBetaException(const std::string &funcName, +void GPDMPSSW13::throwBetaException(const std::string &funcName, double betaValue) { throw ElemUtils::CustomException(getClassName(), funcName, ElemUtils::Formatter() @@ -523,7 +522,7 @@ void MPSSW13Model::throwBetaException(const std::string &funcName, << '\n' << "Here beta = " << betaValue << '\n'); } -double MPSSW13Model::IntegralHuVal(double x, std::vector Par) { +double GPDMPSSW13::IntegralHuVal(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -549,7 +548,7 @@ double MPSSW13Model::IntegralHuVal(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralHuValMx(double x, std::vector Par) { +double GPDMPSSW13::IntegralHuValMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -575,7 +574,7 @@ double MPSSW13Model::IntegralHuValMx(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHuSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHuSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -597,7 +596,7 @@ double MPSSW13Model::IntegralxLargeHuSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHuSeaMx(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHuSeaMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -619,7 +618,7 @@ double MPSSW13Model::IntegralxLargeHuSeaMx(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall1HuSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall1HuSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -641,7 +640,7 @@ double MPSSW13Model::IntegralxSmall1HuSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall2HuSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall2HuSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -672,7 +671,7 @@ double MPSSW13Model::IntegralxSmall2HuSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralHdVal(double x, std::vector Par) { +double GPDMPSSW13::IntegralHdVal(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -698,7 +697,7 @@ double MPSSW13Model::IntegralHdVal(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralHdValMx(double x, std::vector Par) { +double GPDMPSSW13::IntegralHdValMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -724,7 +723,7 @@ double MPSSW13Model::IntegralHdValMx(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHdSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHdSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -746,7 +745,7 @@ double MPSSW13Model::IntegralxLargeHdSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHdSeaMx(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHdSeaMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -768,7 +767,7 @@ double MPSSW13Model::IntegralxLargeHdSeaMx(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall1HdSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall1HdSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -790,7 +789,7 @@ double MPSSW13Model::IntegralxSmall1HdSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall2HdSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall2HdSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -814,7 +813,7 @@ double MPSSW13Model::IntegralxSmall2HdSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHsSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHsSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -836,7 +835,7 @@ double MPSSW13Model::IntegralxLargeHsSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHsSeaMx(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHsSeaMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -858,7 +857,7 @@ double MPSSW13Model::IntegralxLargeHsSeaMx(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall1HsSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall1HsSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -884,7 +883,7 @@ double MPSSW13Model::IntegralxSmall1HsSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall2HsSea(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall2HsSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -912,7 +911,7 @@ double MPSSW13Model::IntegralxSmall2HsSea(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHg(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHg(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -935,7 +934,7 @@ double MPSSW13Model::IntegralxLargeHg(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxLargeHgMx(double x, std::vector Par) { +double GPDMPSSW13::IntegralxLargeHgMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -958,7 +957,7 @@ double MPSSW13Model::IntegralxLargeHgMx(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall1Hg(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall1Hg(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -981,7 +980,7 @@ double MPSSW13Model::IntegralxSmall1Hg(double x, std::vector Par) { return Integral; } -double MPSSW13Model::IntegralxSmall2Hg(double x, std::vector Par) { +double GPDMPSSW13::IntegralxSmall2Hg(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -1004,7 +1003,7 @@ double MPSSW13Model::IntegralxSmall2Hg(double x, std::vector Par) { return Integral; } -double MPSSW13Model::GammaQQ(const unsigned int nflavour, +double GPDMPSSW13::GammaQQ(const unsigned int nflavour, const unsigned int n) { double Gamma; double HarmonicSum = 0.; @@ -1019,7 +1018,7 @@ double MPSSW13Model::GammaQQ(const unsigned int nflavour, return Gamma; } -double MPSSW13Model::GammaQG(const unsigned int nflavour, +double GPDMPSSW13::GammaQG(const unsigned int nflavour, const unsigned int n) { double Gamma; @@ -1029,7 +1028,7 @@ double MPSSW13Model::GammaQG(const unsigned int nflavour, return Gamma; } -double MPSSW13Model::GammaGQ(const unsigned int nflavour, +double GPDMPSSW13::GammaGQ(const unsigned int nflavour, const unsigned int n) { double Gamma; @@ -1039,7 +1038,7 @@ double MPSSW13Model::GammaGQ(const unsigned int nflavour, return Gamma; } -double MPSSW13Model::GammaGG(const unsigned int nflavour, +double GPDMPSSW13::GammaGG(const unsigned int nflavour, const unsigned int n) { double Gamma; @@ -1057,78 +1056,78 @@ double MPSSW13Model::GammaGG(const unsigned int nflavour, } //TODO meme initialisation que GK11 ? -void MPSSW13Model::initModule() { +void GPDMPSSW13::initModule() { GPDModule::initModule(); debug(__func__, ElemUtils::Formatter() << "fMuF2 = " << m_MuF2); } //TODO implement -void MPSSW13Model::isModuleWellConfigured() { +void GPDMPSSW13::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -double MPSSW13Model::getCA() const { +double GPDMPSSW13::getCA() const { return m_CA; } -double MPSSW13Model::getCF() const { +double GPDMPSSW13::getCF() const { return m_CF; } -double MPSSW13Model::getF1d() const { +double GPDMPSSW13::getF1d() const { return m_F1d; } -double MPSSW13Model::getF1u() const { +double GPDMPSSW13::getF1u() const { return m_F1u; } -double MPSSW13Model::getFD() const { +double GPDMPSSW13::getFD() const { return m_FD; } -double MPSSW13Model::getGluonDTerm() const { +double GPDMPSSW13::getGluonDTerm() const { return m_GluonDTerm; } -void MPSSW13Model::setGluonDTerm(double gluonDTerm) { +void GPDMPSSW13::setGluonDTerm(double gluonDTerm) { m_GluonDTerm = gluonDTerm; } -double MPSSW13Model::getMx() const { +double GPDMPSSW13::getMx() const { return m_Mx; } -unsigned int MPSSW13Model::getNbOfColor() const { +unsigned int GPDMPSSW13::getNbOfColor() const { return m_NbOfColor; } -unsigned int MPSSW13Model::getNbOfQuarkFlavor() const { +unsigned int GPDMPSSW13::getNbOfQuarkFlavor() const { return m_NbOfQuarkFlavor; } -double MPSSW13Model::getProfileShapeGlue() const { +double GPDMPSSW13::getProfileShapeGlue() const { return m_ProfileShapeGlue; } -double MPSSW13Model::getProfileShapeSea() const { +double GPDMPSSW13::getProfileShapeSea() const { return m_ProfileShapeSea; } -double MPSSW13Model::getProfileShapeVal() const { +double GPDMPSSW13::getProfileShapeVal() const { return m_ProfileShapeVal; } -double MPSSW13Model::getQuarkDTerm() const { +double GPDMPSSW13::getQuarkDTerm() const { return m_QuarkDTerm; } -double MPSSW13Model::getTF() const { +double GPDMPSSW13::getTF() const { return m_TF; } -PartonDistribution MPSSW13Model::computeH() { +PartonDistribution GPDMPSSW13::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); diff --git a/src/partons/modules/gpd/MPSSW13ModelNoGluons.cpp b/src/partons/modules/gpd/GPDMPSSW13NoGluons.cpp similarity index 68% rename from src/partons/modules/gpd/MPSSW13ModelNoGluons.cpp rename to src/partons/modules/gpd/GPDMPSSW13NoGluons.cpp index 4b444c4f..cd99db27 100644 --- a/src/partons/modules/gpd/MPSSW13ModelNoGluons.cpp +++ b/src/partons/modules/gpd/GPDMPSSW13NoGluons.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/MPSSW13ModelNoGluons.h" - #include #include @@ -11,17 +9,18 @@ //#include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" //#include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/gpd/MPSSW13Model.h" +#include "../../../../include/partons/modules/gpd/GPDMPSSW13.h" +#include "../../../../include/partons/modules/gpd/GPDMPSSW13NoGluons.h" #include "../../../../include/partons/ModuleObjectFactory.h" #include "../../../../include/partons/Partons.h" //#include "../../../../include/partons/services/GPDService.h" #include "../../../../include/partons/ServiceObjectRegistry.h" -const unsigned int MPSSW13ModelNoGluons::classId = +const unsigned int GPDMPSSW13NoGluons::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new MPSSW13ModelNoGluons("MPSSW13ModelNoGluons")); + new GPDMPSSW13NoGluons("GPDMPSSW13NoGluons")); -MPSSW13ModelNoGluons::MPSSW13ModelNoGluons(const std::string &className) : +GPDMPSSW13NoGluons::GPDMPSSW13NoGluons(const std::string &className) : GPDModule(className) { pGPDService = NULL; MPSSW13model = NULL; @@ -30,33 +29,33 @@ MPSSW13ModelNoGluons::MPSSW13ModelNoGluons(const std::string &className) : std::make_pair(GPDType::H, &GPDModule::computeH)); } -MPSSW13ModelNoGluons::~MPSSW13ModelNoGluons() { +GPDMPSSW13NoGluons::~GPDMPSSW13NoGluons() { } -MPSSW13ModelNoGluons* MPSSW13ModelNoGluons::clone() const { - return new MPSSW13ModelNoGluons(*this); +GPDMPSSW13NoGluons* GPDMPSSW13NoGluons::clone() const { + return new GPDMPSSW13NoGluons(*this); } -void MPSSW13ModelNoGluons::configure(const ElemUtils::Parameters ¶meters) { +void GPDMPSSW13NoGluons::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } -std::string MPSSW13ModelNoGluons::toString() { +std::string GPDMPSSW13NoGluons::toString() { return GPDModule::toString(); } -MPSSW13ModelNoGluons::MPSSW13ModelNoGluons(const MPSSW13ModelNoGluons& other) : +GPDMPSSW13NoGluons::GPDMPSSW13NoGluons(const GPDMPSSW13NoGluons& other) : GPDModule(other) { pGPDService = other.pGPDService; MPSSW13model = other.MPSSW13model; } -void MPSSW13ModelNoGluons::isModuleWellConfigured() { +void GPDMPSSW13NoGluons::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void MPSSW13ModelNoGluons::initModule() { +void GPDMPSSW13NoGluons::initModule() { pGPDService = Partons::getInstance()->getServiceObjectRegistry()->getGPDService(); @@ -64,12 +63,12 @@ void MPSSW13ModelNoGluons::initModule() { //TODO Why ? It's alreeady a GPDModule ! MPSSW13model = Partons::getInstance()->getModuleObjectFactory()->newGPDModule( - MPSSW13Model::classId); + GPDMPSSW13::classId); GPDModule::initModule(); } -PartonDistribution MPSSW13ModelNoGluons::computeH() { +PartonDistribution GPDMPSSW13NoGluons::computeH() { //compute kinematics GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); diff --git a/src/partons/modules/gpd/MPSSW13WithDTermModel.cpp b/src/partons/modules/gpd/GPDMPSSW13WithDTerm.cpp similarity index 89% rename from src/partons/modules/gpd/MPSSW13WithDTermModel.cpp rename to src/partons/modules/gpd/GPDMPSSW13WithDTerm.cpp index f34084cc..cc49efcd 100644 --- a/src/partons/modules/gpd/MPSSW13WithDTermModel.cpp +++ b/src/partons/modules/gpd/GPDMPSSW13WithDTerm.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/MPSSW13WithDTermModel.h" - #include #include #include @@ -17,15 +15,16 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDMPSSW13WithDTerm.h" #include "../../../../include/partons/utils/MSTWPDF.h" #include "../../../../include/partons/utils/PartonContent.h" // Initialise [class]::classId with a unique name. -const unsigned int MPSSW13WithDTermModel::classId = +const unsigned int GPDMPSSW13WithDTerm::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new MPSSW13WithDTermModel("MPSSW13WithDTermModel")); + new GPDMPSSW13WithDTerm("GPDMPSSW13WithDTerm")); -MPSSW13WithDTermModel::MPSSW13WithDTermModel(const std::string &className) : +GPDMPSSW13WithDTerm::GPDMPSSW13WithDTerm(const std::string &className) : GPDModule(className), MathIntegratorModule(), m_Forward(0), m_NbOfQuarkFlavor( 2), m_NbOfColor(3), m_Mx(0.), m_CA(3.), m_CF(4. / 3.), m_TF( 1. / 2.), m_F1u(0.), m_F1d(0.), m_FD(0.), m_ProfileShapeVal(1.), m_ProfileShapeSea( @@ -42,7 +41,7 @@ MPSSW13WithDTermModel::MPSSW13WithDTermModel(const std::string &className) : } -MPSSW13WithDTermModel::MPSSW13WithDTermModel(const MPSSW13WithDTermModel& other) : +GPDMPSSW13WithDTerm::GPDMPSSW13WithDTerm(const GPDMPSSW13WithDTerm& other) : GPDModule(other), MathIntegratorModule(other) { m_NbOfQuarkFlavor = other.m_NbOfQuarkFlavor; m_NbOfColor = other.m_NbOfColor; @@ -68,84 +67,84 @@ MPSSW13WithDTermModel::MPSSW13WithDTermModel(const MPSSW13WithDTermModel& other) initFunctorsForIntegrations(); } -MPSSW13WithDTermModel::~MPSSW13WithDTermModel() { +GPDMPSSW13WithDTerm::~GPDMPSSW13WithDTerm() { if (m_Forward) { delete m_Forward; m_Forward = 0; } } -void MPSSW13WithDTermModel::initFunctorsForIntegrations() { +void GPDMPSSW13WithDTerm::initFunctorsForIntegrations() { m_pIntegralHuVal = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralHuVal); + &GPDMPSSW13WithDTerm::IntegralHuVal); m_pIntegralHdVal = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralHdVal); + &GPDMPSSW13WithDTerm::IntegralHdVal); m_pIntegralHuValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralHuValMx); + &GPDMPSSW13WithDTerm::IntegralHuValMx); m_pIntegralHdValMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralHdValMx); + &GPDMPSSW13WithDTerm::IntegralHdValMx); m_pIntegralxLargeHuSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHuSea); + &GPDMPSSW13WithDTerm::IntegralxLargeHuSea); m_pIntegralxLargeHdSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHdSea); + &GPDMPSSW13WithDTerm::IntegralxLargeHdSea); m_pIntegralxSmall1HuSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall1HuSea); + &GPDMPSSW13WithDTerm::IntegralxSmall1HuSea); m_pIntegralxSmall2HuSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall2HuSea); + &GPDMPSSW13WithDTerm::IntegralxSmall2HuSea); m_pIntegralxSmall1HdSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall1HdSea); + &GPDMPSSW13WithDTerm::IntegralxSmall1HdSea); m_pIntegralxSmall2HdSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall2HdSea); + &GPDMPSSW13WithDTerm::IntegralxSmall2HdSea); m_pIntegralxLargeHuSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHuSeaMx); + &GPDMPSSW13WithDTerm::IntegralxLargeHuSeaMx); m_pIntegralxLargeHdSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHdSeaMx); + &GPDMPSSW13WithDTerm::IntegralxLargeHdSeaMx); m_pIntegralxLargeHsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHsSea); + &GPDMPSSW13WithDTerm::IntegralxLargeHsSea); m_pIntegralxSmall1HsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall1HsSea); + &GPDMPSSW13WithDTerm::IntegralxSmall1HsSea); m_pIntegralxSmall2HsSea = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall2HsSea); + &GPDMPSSW13WithDTerm::IntegralxSmall2HsSea); m_pIntegralxLargeHsSeaMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHsSeaMx); + &GPDMPSSW13WithDTerm::IntegralxLargeHsSeaMx); m_pIntegralxLargeHg = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHg); + &GPDMPSSW13WithDTerm::IntegralxLargeHg); m_pIntegralxSmall1Hg = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall1Hg); + &GPDMPSSW13WithDTerm::IntegralxSmall1Hg); m_pIntegralxSmall2Hg = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxSmall2Hg); + &GPDMPSSW13WithDTerm::IntegralxSmall2Hg); m_pIntegralxLargeHgMx = NumA::Integrator1D::newIntegrationFunctor(this, - &MPSSW13WithDTermModel::IntegralxLargeHgMx); + &GPDMPSSW13WithDTerm::IntegralxLargeHgMx); } -void MPSSW13WithDTermModel::resolveObjectDependencies() { +void GPDMPSSW13WithDTerm::resolveObjectDependencies() { setIntegrator(NumA::IntegratorType1D::DEXP); } -MPSSW13WithDTermModel* MPSSW13WithDTermModel::clone() const { - return new MPSSW13WithDTermModel(*this); +GPDMPSSW13WithDTerm* GPDMPSSW13WithDTerm::clone() const { + return new GPDMPSSW13WithDTerm(*this); } -void MPSSW13WithDTermModel::setParameters(std::vector Parameters) { +void GPDMPSSW13WithDTerm::setParameters(std::vector Parameters) { // TODO: Check general syntax of setParameters... if (Parameters.size() != 3) { @@ -182,7 +181,7 @@ void MPSSW13WithDTermModel::setParameters(std::vector Parameters) { m_ProfileShapeGlue = Parameters.at(2); } -void MPSSW13WithDTermModel::ComputeDTerms(double x) { +void GPDMPSSW13WithDTerm::ComputeDTerms(double x) { //TODO divided by zero ! double z = x / m_xi; @@ -459,7 +458,7 @@ void MPSSW13WithDTermModel::ComputeDTerms(double x) { } } -void MPSSW13WithDTermModel::ComputeFormFactors() { +void GPDMPSSW13WithDTerm::ComputeFormFactors() { double Gep, Gen, Gmp, Gmn; // Sachs form factors double F1p, F1n, F2p, F2n; // Pauli-Dirac form factors @@ -490,7 +489,7 @@ void MPSSW13WithDTermModel::ComputeFormFactors() { m_FD = 1. / ((1. - m_t / MV2) * (1. - m_t / MV2)); } -double MPSSW13WithDTermModel::Profile(double N, double beta, double alpha) { +double GPDMPSSW13WithDTerm::Profile(double N, double beta, double alpha) { double profile; double ProfileShape = N; double TwiceProfileShapePlus1 = 2. * ProfileShape + 1; @@ -515,7 +514,7 @@ double MPSSW13WithDTermModel::Profile(double N, double beta, double alpha) { return profile; } -void MPSSW13WithDTermModel::throwBetaException(const std::string &funcName, +void GPDMPSSW13WithDTerm::throwBetaException(const std::string &funcName, double betaValue) { throw ElemUtils::CustomException(getClassName(), funcName, ElemUtils::Formatter() @@ -523,7 +522,7 @@ void MPSSW13WithDTermModel::throwBetaException(const std::string &funcName, << '\n' << "Here beta = " << betaValue << '\n'); } -double MPSSW13WithDTermModel::IntegralHuVal(double x, std::vector Par) { +double GPDMPSSW13WithDTerm::IntegralHuVal(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -549,7 +548,7 @@ double MPSSW13WithDTermModel::IntegralHuVal(double x, std::vector Par) { return Integral; } -double MPSSW13WithDTermModel::IntegralHuValMx(double x, +double GPDMPSSW13WithDTerm::IntegralHuValMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -576,7 +575,7 @@ double MPSSW13WithDTermModel::IntegralHuValMx(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHuSea(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHuSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -599,7 +598,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHuSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHuSeaMx(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHuSeaMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -622,7 +621,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHuSeaMx(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall1HuSea(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall1HuSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -645,7 +644,7 @@ double MPSSW13WithDTermModel::IntegralxSmall1HuSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall2HuSea(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall2HuSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -677,7 +676,7 @@ double MPSSW13WithDTermModel::IntegralxSmall2HuSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralHdVal(double x, std::vector Par) { +double GPDMPSSW13WithDTerm::IntegralHdVal(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -703,7 +702,7 @@ double MPSSW13WithDTermModel::IntegralHdVal(double x, std::vector Par) { return Integral; } -double MPSSW13WithDTermModel::IntegralHdValMx(double x, +double GPDMPSSW13WithDTerm::IntegralHdValMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -730,7 +729,7 @@ double MPSSW13WithDTermModel::IntegralHdValMx(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHdSea(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHdSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -753,7 +752,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHdSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHdSeaMx(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHdSeaMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -776,7 +775,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHdSeaMx(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall1HdSea(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall1HdSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -799,7 +798,7 @@ double MPSSW13WithDTermModel::IntegralxSmall1HdSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall2HdSea(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall2HdSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -824,7 +823,7 @@ double MPSSW13WithDTermModel::IntegralxSmall2HdSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHsSea(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHsSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -847,7 +846,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHsSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHsSeaMx(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHsSeaMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -870,7 +869,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHsSeaMx(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall1HsSea(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall1HsSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -897,7 +896,7 @@ double MPSSW13WithDTermModel::IntegralxSmall1HsSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall2HsSea(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall2HsSea(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -926,7 +925,7 @@ double MPSSW13WithDTermModel::IntegralxSmall2HsSea(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHg(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHg(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -950,7 +949,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHg(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxLargeHgMx(double x, +double GPDMPSSW13WithDTerm::IntegralxLargeHgMx(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -974,7 +973,7 @@ double MPSSW13WithDTermModel::IntegralxLargeHgMx(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall1Hg(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall1Hg(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -998,7 +997,7 @@ double MPSSW13WithDTermModel::IntegralxSmall1Hg(double x, return Integral; } -double MPSSW13WithDTermModel::IntegralxSmall2Hg(double x, +double GPDMPSSW13WithDTerm::IntegralxSmall2Hg(double x, std::vector Par) { double Integral; double pdf, beta, absbeta; @@ -1022,7 +1021,7 @@ double MPSSW13WithDTermModel::IntegralxSmall2Hg(double x, return Integral; } -double MPSSW13WithDTermModel::GammaQQ(const unsigned int nflavour, +double GPDMPSSW13WithDTerm::GammaQQ(const unsigned int nflavour, const unsigned int n) { double Gamma; double HarmonicSum = 0.; @@ -1037,7 +1036,7 @@ double MPSSW13WithDTermModel::GammaQQ(const unsigned int nflavour, return Gamma; } -double MPSSW13WithDTermModel::GammaQG(const unsigned int nflavour, +double GPDMPSSW13WithDTerm::GammaQG(const unsigned int nflavour, const unsigned int n) { double Gamma; @@ -1047,7 +1046,7 @@ double MPSSW13WithDTermModel::GammaQG(const unsigned int nflavour, return Gamma; } -double MPSSW13WithDTermModel::GammaGQ(const unsigned int nflavour, +double GPDMPSSW13WithDTerm::GammaGQ(const unsigned int nflavour, const unsigned int n) { double Gamma; @@ -1057,7 +1056,7 @@ double MPSSW13WithDTermModel::GammaGQ(const unsigned int nflavour, return Gamma; } -double MPSSW13WithDTermModel::GammaGG(const unsigned int nflavour, +double GPDMPSSW13WithDTerm::GammaGG(const unsigned int nflavour, const unsigned int n) { double Gamma; @@ -1075,78 +1074,78 @@ double MPSSW13WithDTermModel::GammaGG(const unsigned int nflavour, } //TODO meme initialisation que GK11 ? -void MPSSW13WithDTermModel::initModule() { +void GPDMPSSW13WithDTerm::initModule() { GPDModule::initModule(); debug(__func__, ElemUtils::Formatter() << "fMuF2 = " << m_MuF2); } //TODO implement -void MPSSW13WithDTermModel::isModuleWellConfigured() { +void GPDMPSSW13WithDTerm::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -double MPSSW13WithDTermModel::getCA() const { +double GPDMPSSW13WithDTerm::getCA() const { return m_CA; } -double MPSSW13WithDTermModel::getCF() const { +double GPDMPSSW13WithDTerm::getCF() const { return m_CF; } -double MPSSW13WithDTermModel::getF1d() const { +double GPDMPSSW13WithDTerm::getF1d() const { return m_F1d; } -double MPSSW13WithDTermModel::getF1u() const { +double GPDMPSSW13WithDTerm::getF1u() const { return m_F1u; } -double MPSSW13WithDTermModel::getFD() const { +double GPDMPSSW13WithDTerm::getFD() const { return m_FD; } -double MPSSW13WithDTermModel::getGluonDTerm() const { +double GPDMPSSW13WithDTerm::getGluonDTerm() const { return m_GluonDTerm; } -void MPSSW13WithDTermModel::setGluonDTerm(double gluonDTerm) { +void GPDMPSSW13WithDTerm::setGluonDTerm(double gluonDTerm) { m_GluonDTerm = gluonDTerm; } -double MPSSW13WithDTermModel::getMx() const { +double GPDMPSSW13WithDTerm::getMx() const { return m_Mx; } -unsigned int MPSSW13WithDTermModel::getNbOfColor() const { +unsigned int GPDMPSSW13WithDTerm::getNbOfColor() const { return m_NbOfColor; } -unsigned int MPSSW13WithDTermModel::getNbOfQuarkFlavor() const { +unsigned int GPDMPSSW13WithDTerm::getNbOfQuarkFlavor() const { return m_NbOfQuarkFlavor; } -double MPSSW13WithDTermModel::getProfileShapeGlue() const { +double GPDMPSSW13WithDTerm::getProfileShapeGlue() const { return m_ProfileShapeGlue; } -double MPSSW13WithDTermModel::getProfileShapeSea() const { +double GPDMPSSW13WithDTerm::getProfileShapeSea() const { return m_ProfileShapeSea; } -double MPSSW13WithDTermModel::getProfileShapeVal() const { +double GPDMPSSW13WithDTerm::getProfileShapeVal() const { return m_ProfileShapeVal; } -double MPSSW13WithDTermModel::getQuarkDTerm() const { +double GPDMPSSW13WithDTerm::getQuarkDTerm() const { return m_QuarkDTerm; } -double MPSSW13WithDTermModel::getTF() const { +double GPDMPSSW13WithDTerm::getTF() const { return m_TF; } -PartonDistribution MPSSW13WithDTermModel::computeH() { +PartonDistribution GPDMPSSW13WithDTerm::computeH() { PartonDistribution partonDistribution; QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); diff --git a/src/partons/modules/gpd/VGGModel.cpp b/src/partons/modules/gpd/GPDVGG99.cpp similarity index 90% rename from src/partons/modules/gpd/VGGModel.cpp rename to src/partons/modules/gpd/GPDVGG99.cpp index a02eb49e..4766d3e6 100644 --- a/src/partons/modules/gpd/VGGModel.cpp +++ b/src/partons/modules/gpd/GPDVGG99.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/VGGModel.h" - #include #include #include @@ -16,14 +14,15 @@ #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../include/partons/modules/gpd/GPDVGG99.h" #include "../../../../include/partons/utils/MSTWPDF.h" #include "../../../../include/partons/utils/PartonContent.h" -const unsigned int VGGModel::classId = +const unsigned int GPDVGG99::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new VGGModel("VGGModel")); + new GPDVGG99("GPDVGG99")); -VGGModel::VGGModel(const std::string &className) : +GPDVGG99::GPDVGG99(const std::string &className) : GPDModule(className), kappa_u(1.6596), kappa_d(-2.0352), b_profile_val( 1.), b_profile_sea(1.), alphap_val(1.105), alphap_sea(1.105), eta_e_largex_u_s( 1.713), eta_e_largex_d_s(0.566), g_AXIAL(1.267), m_Forward(0), MathIntegratorModule() { @@ -47,7 +46,7 @@ VGGModel::VGGModel(const std::string &className) : initFunctorsForIntegrations(); } -VGGModel::VGGModel(const VGGModel& other) : +GPDVGG99::GPDVGG99(const GPDVGG99& other) : kappa_u(1.6596), kappa_d(-2.0352), b_profile_val(1.), b_profile_sea(1.), alphap_val( 1.105), alphap_sea(1.105), eta_e_largex_u_s(1.713), eta_e_largex_d_s( 0.566), g_AXIAL(1.267), GPDModule(other), MathIntegratorModule( @@ -66,7 +65,7 @@ VGGModel::VGGModel(const VGGModel& other) : initFunctorsForIntegrations(); } -VGGModel::~VGGModel() { +GPDVGG99::~GPDVGG99() { if (m_Forward) { delete m_Forward; @@ -109,59 +108,59 @@ VGGModel::~VGGModel() { } } -void VGGModel::initFunctorsForIntegrations() { +void GPDVGG99::initFunctorsForIntegrations() { m_pint_symm_double_distr_reggeH = NumA::Integrator1D::newIntegrationFunctor( - this, &VGGModel::int_symm_double_distr_reggeH); + this, &GPDVGG99::int_symm_double_distr_reggeH); m_pint_symm_double_distr_reggeMxH = NumA::Integrator1D::newIntegrationFunctor(this, - &VGGModel::int_symm_double_distr_reggeMxH); + &GPDVGG99::int_symm_double_distr_reggeMxH); m_pint_symm_double_distr_reggeE = NumA::Integrator1D::newIntegrationFunctor( - this, &VGGModel::int_symm_double_distr_reggeE); + this, &GPDVGG99::int_symm_double_distr_reggeE); m_pint_symm_double_distr_reggeMxE = NumA::Integrator1D::newIntegrationFunctor(this, - &VGGModel::int_symm_double_distr_reggeMxE); + &GPDVGG99::int_symm_double_distr_reggeMxE); m_pint_symm_double_distr_reggeHt = NumA::Integrator1D::newIntegrationFunctor(this, - &VGGModel::int_symm_double_distr_reggeHt); + &GPDVGG99::int_symm_double_distr_reggeHt); m_pint_symm_double_distr_reggeMxHt = NumA::Integrator1D::newIntegrationFunctor(this, - &VGGModel::int_symm_double_distr_reggeMxHt); + &GPDVGG99::int_symm_double_distr_reggeMxHt); m_pint_mom2_up_valence_e = NumA::Integrator1D::newIntegrationFunctor(this, - &VGGModel::int_mom2_up_valence_e); + &GPDVGG99::int_mom2_up_valence_e); } -VGGModel* VGGModel::clone() const { - return new VGGModel(*this); +GPDVGG99* GPDVGG99::clone() const { + return new GPDVGG99(*this); } -void VGGModel::resolveObjectDependencies() { +void GPDVGG99::resolveObjectDependencies() { setIntegrator(NumA::IntegratorType1D::DEXP); } -void VGGModel::configure(const ElemUtils::Parameters ¶meters) { +void GPDVGG99::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } -std::string VGGModel::toString() const { +std::string GPDVGG99::toString() const { return GPDModule::toString(); } -void VGGModel::isModuleWellConfigured() { +void GPDVGG99::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void VGGModel::initModule() { +void GPDVGG99::initModule() { GPDModule::initModule(); } -PartonDistribution VGGModel::computeH() { +PartonDistribution GPDVGG99::computeH() { //GPD gpd_s5 = GPDType::H; @@ -227,7 +226,7 @@ PartonDistribution VGGModel::computeH() { return partonDistribution; } -PartonDistribution VGGModel::computeE() { +PartonDistribution GPDVGG99::computeE() { //GPD gpd_s5 = GPDType::E; @@ -294,7 +293,7 @@ PartonDistribution VGGModel::computeE() { return partonDistribution; } -PartonDistribution VGGModel::computeHt() { +PartonDistribution GPDVGG99::computeHt() { //GPD gpd_s5 = GPDType::Ht; @@ -365,7 +364,7 @@ PartonDistribution VGGModel::computeHt() { return partonDistribution; } -PartonDistribution VGGModel::computeEt() { +PartonDistribution GPDVGG99::computeEt() { //GPD gpd_s5 = GPDType::Et; @@ -429,7 +428,7 @@ PartonDistribution VGGModel::computeEt() { return partonDistribution; } -double VGGModel::offforward_distr() { +double GPDVGG99::offforward_distr() { //result double ofpd; @@ -503,7 +502,7 @@ double VGGModel::offforward_distr() { return ofpd; } -double VGGModel::symm_double_distr_reggeH(double beta, double alpha) { +double GPDVGG99::symm_double_distr_reggeH(double beta, double alpha) { //check beta range if (beta <= 0.) { @@ -572,7 +571,7 @@ double VGGModel::symm_double_distr_reggeH(double beta, double alpha) { return symm_profile_function(beta, alpha, b_profile) * pdf * funcbetat; } -double VGGModel::symm_double_distr_reggeE(double beta, double alpha) { +double GPDVGG99::symm_double_distr_reggeE(double beta, double alpha) { //check beta range if (beta <= 0.) { @@ -625,7 +624,7 @@ double VGGModel::symm_double_distr_reggeE(double beta, double alpha) { return symm_profile_function(beta, alpha, b_profile) * pdf * funcbetat; } -double VGGModel::symm_profile_function(double beta, double alpha, +double GPDVGG99::symm_profile_function(double beta, double alpha, double b_profile) { double norm, bidon; @@ -641,27 +640,27 @@ double VGGModel::symm_profile_function(double beta, double alpha, / pow(1. - fabs(beta), 2. * b_profile + 1.); } -double VGGModel::int_symm_double_distr_reggeH(double alpha, +double GPDVGG99::int_symm_double_distr_reggeH(double alpha, std::vector par) { return symm_double_distr_reggeH(x_s5 - m_xi * alpha, alpha); } -double VGGModel::int_symm_double_distr_reggeMxH(double alpha, +double GPDVGG99::int_symm_double_distr_reggeMxH(double alpha, std::vector par) { return symm_double_distr_reggeH(-x_s5 - m_xi * alpha, alpha); } -double VGGModel::int_symm_double_distr_reggeE(double alpha, +double GPDVGG99::int_symm_double_distr_reggeE(double alpha, std::vector par) { return symm_double_distr_reggeE(x_s5 - m_xi * alpha, alpha); } -double VGGModel::int_symm_double_distr_reggeMxE(double alpha, +double GPDVGG99::int_symm_double_distr_reggeMxE(double alpha, std::vector par) { return symm_double_distr_reggeE(-x_s5 - m_xi * alpha, alpha); } -double VGGModel::int_mom2_up_valence_e(double beta, std::vector par) { +double GPDVGG99::int_mom2_up_valence_e(double beta, std::vector par) { //check beta range if (beta <= 0.) { @@ -710,7 +709,7 @@ double VGGModel::int_mom2_up_valence_e(double beta, std::vector par) { return pow(1. - beta, eta_e_largex_s) * pdf; } -double VGGModel::offforward_pol_distr() { +double GPDVGG99::offforward_pol_distr() { //result double ofpd; @@ -776,20 +775,20 @@ double VGGModel::offforward_pol_distr() { return 1. / (1. + m_xi) * ofpd; } -double VGGModel::int_symm_double_distr_reggeHt(double alpha, +double GPDVGG99::int_symm_double_distr_reggeHt(double alpha, std::vector par) { return symm_double_distr_reggeHt( (x_s5 + m_xi) / (1. + m_xi) - 2 * m_xi / (1. + m_xi) * alpha, alpha); } -double VGGModel::int_symm_double_distr_reggeMxHt(double alpha, +double GPDVGG99::int_symm_double_distr_reggeMxHt(double alpha, std::vector par) { return symm_double_distr_reggeHt( (-x_s5 + m_xi) / (1. + m_xi) - 2 * m_xi / (1. + m_xi) * alpha, alpha); } -double VGGModel::symm_double_distr_reggeHt(double beta, double alpha) { +double GPDVGG99::symm_double_distr_reggeHt(double beta, double alpha) { //check beta range if (beta <= 0.) { @@ -850,7 +849,7 @@ double VGGModel::symm_double_distr_reggeHt(double beta, double alpha) { return 6. * alpha * (1. - beta - alpha) * pdf / pow(1. - beta, 3); } -double VGGModel::test_pdf_down_val(double x) { +double GPDVGG99::test_pdf_down_val(double x) { double n3, n4, ed, gd, norm; @@ -864,7 +863,7 @@ double VGGModel::test_pdf_down_val(double x) { * (1. + ed * pow(x, 0.5) + gd * x); } -double VGGModel::test_pdf_up_val(double x) { +double GPDVGG99::test_pdf_up_val(double x) { double n1, n2, eud, gud, norm; @@ -878,7 +877,7 @@ double VGGModel::test_pdf_up_val(double x) { * (1. + eud * pow(x, 0.5) + gud * x) - test_pdf_down_val(x); } -double VGGModel::test_pdf_sea(double x) { +double GPDVGG99::test_pdf_sea(double x) { double ns, es, gs, As; @@ -890,15 +889,15 @@ double VGGModel::test_pdf_sea(double x) { return As * 1. / x * pow(1. - x, ns) * (1. + es * pow(x, 0.5) + gs * x); } -double VGGModel::test_pdf_up_bar(double x) { +double GPDVGG99::test_pdf_up_bar(double x) { return 1. / 5. * test_pdf_sea(x); } -double VGGModel::test_pdf_down_bar(double x) { +double GPDVGG99::test_pdf_down_bar(double x) { return 1. / 5. * test_pdf_sea(x); } -double VGGModel::pol_up_valence(double x) { +double GPDVGG99::pol_up_valence(double x) { double up_valence; @@ -922,7 +921,7 @@ double VGGModel::pol_up_valence(double x) { return eta_u * A_u * pow(x, a_u) * up_valence; } -double VGGModel::pol_down_valence(double x) { +double GPDVGG99::pol_down_valence(double x) { double down_valence; @@ -946,7 +945,7 @@ double VGGModel::pol_down_valence(double x) { return eta_d * A_d * pow(x, a_d) * down_valence; } -double VGGModel::pol_strange_bar(double x) { +double GPDVGG99::pol_strange_bar(double x) { double sea_distr; @@ -970,22 +969,22 @@ double VGGModel::pol_strange_bar(double x) { return etas * As * pow(x, as) * sea_distr; } -double VGGModel::pol_up_bar(double x) { +double GPDVGG99::pol_up_bar(double x) { return pol_strange_bar(x); } -double VGGModel::pol_down_bar(double x) { +double GPDVGG99::pol_down_bar(double x) { return pol_strange_bar(x); } -double VGGModel::form_factor_G_A(double Q_sqr) { +double GPDVGG99::form_factor_G_A(double Q_sqr) { double M_A = 1.03; return g_AXIAL / pow(1. + Q_sqr / pow(M_A, 2.), 2.); } -double VGGModel::form_factor_G_P(double t) { +double GPDVGG99::form_factor_G_P(double t) { double M_pion = 0.13498; diff --git a/src/partons/modules/gpd/VinnikovModel.cpp b/src/partons/modules/gpd/GPDVinnikov06.cpp similarity index 90% rename from src/partons/modules/gpd/VinnikovModel.cpp rename to src/partons/modules/gpd/GPDVinnikov06.cpp index 7be40550..c070d1dc 100644 --- a/src/partons/modules/gpd/VinnikovModel.cpp +++ b/src/partons/modules/gpd/GPDVinnikov06.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd/VinnikovModel.h" - #include #include #include @@ -14,12 +12,13 @@ #include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../include/partons/modules/gpd/GPDVinnikov06.h" -const unsigned int VinnikovModel::classId = +const unsigned int GPDVinnikov06::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new VinnikovModel("VinnikovModel")); + new GPDVinnikov06("GPDVinnikov06")); -VinnikovModel::VinnikovModel(const std::string &className) : +GPDVinnikov06::GPDVinnikov06(const std::string &className) : GPDModule(className), EPS_BETR(1.E-8), SIMP_INT(100) { n_par = 1; @@ -32,25 +31,25 @@ VinnikovModel::VinnikovModel(const std::string &className) : std::make_pair(GPDType::Ht, &GPDModule::computeHt)); } -VinnikovModel::~VinnikovModel() { +GPDVinnikov06::~GPDVinnikov06() { } -VinnikovModel* VinnikovModel::clone() const { - return new VinnikovModel(*this); +GPDVinnikov06* GPDVinnikov06::clone() const { + return new GPDVinnikov06(*this); } -void VinnikovModel::resolveObjectDependencies() { +void GPDVinnikov06::resolveObjectDependencies() { } -void VinnikovModel::configure(const ElemUtils::Parameters ¶meters) { +void GPDVinnikov06::configure(const ElemUtils::Parameters ¶meters) { GPDModule::configure(parameters); } -std::string VinnikovModel::toString() const { +std::string GPDVinnikov06::toString() const { return GPDModule::toString(); } -VinnikovModel::VinnikovModel(const VinnikovModel& other) : +GPDVinnikov06::GPDVinnikov06(const GPDVinnikov06& other) : EPS_BETR(1.E-8), SIMP_INT(100), GPDModule(other) { n_par = other.n_par; @@ -58,15 +57,15 @@ VinnikovModel::VinnikovModel(const VinnikovModel& other) : param[i] = other.param[i]; } -void VinnikovModel::isModuleWellConfigured() { +void GPDVinnikov06::isModuleWellConfigured() { GPDModule::isModuleWellConfigured(); } -void VinnikovModel::initModule() { +void GPDVinnikov06::initModule() { GPDModule::initModule(); } -PartonDistribution VinnikovModel::computeH() { +PartonDistribution GPDVinnikov06::computeH() { double g, uVal, uSea, dVal, dSea, sSea, uValMx, dValMx; @@ -111,7 +110,7 @@ PartonDistribution VinnikovModel::computeH() { return partonDistribution; } -PartonDistribution VinnikovModel::computeHt() { +PartonDistribution GPDVinnikov06::computeHt() { double g, uVal, uSea, dVal, dSea, sSea, uValMx, dValMx; @@ -181,7 +180,7 @@ PartonDistribution VinnikovModel::computeHt() { // param[4] = b(d_sea), // param[5] = b(s_sea), -double VinnikovModel::gpdh(int const i_part, double x, double const xi, +double GPDVinnikov06::gpdh(int const i_part, double x, double const xi, double const t, int const n_par, double* const param) { if (x == xi) @@ -197,7 +196,7 @@ double VinnikovModel::gpdh(int const i_part, double x, double const xi, if (x < -xi) { double bmin = (-x - xi) / (1.0 - xi); double bmax = (-x + xi) / (1.0 + xi); - double h = dd_int_simp(bmin, bmax, &VinnikovModel::dd1, i_part, x, xi, + double h = dd_int_simp(bmin, bmax, &GPDVinnikov06::dd1, i_part, x, xi, t, n_par, param); return h / xi; } @@ -205,25 +204,25 @@ double VinnikovModel::gpdh(int const i_part, double x, double const xi, if (x <= 0.0) { double bmax1 = (xi + x) / (1.0 + xi); double bmax2 = (xi - x) / (1.0 + xi); - double h1 = dd_int_simp(0.0, bmax1, &VinnikovModel::dd2, i_part, x, xi, + double h1 = dd_int_simp(0.0, bmax1, &GPDVinnikov06::dd2, i_part, x, xi, t, n_par, param); - double h2 = dd_int_simp(bmax1, bmax2, &VinnikovModel::dd1, i_part, x, + double h2 = dd_int_simp(bmax1, bmax2, &GPDVinnikov06::dd1, i_part, x, xi, t, n_par, param); return (h1 + h2) / xi; } if (x < xi) { double bmax1 = (xi - x) / (1.0 + xi); double bmax2 = (xi + x) / (1.0 + xi); - double h1 = dd_int_simp(0.0, bmax1, &VinnikovModel::dd2, i_part, x, xi, + double h1 = dd_int_simp(0.0, bmax1, &GPDVinnikov06::dd2, i_part, x, xi, t, n_par, param); - double h2 = dd_int_simp(bmax1, bmax2, &VinnikovModel::dd3, i_part, x, + double h2 = dd_int_simp(bmax1, bmax2, &GPDVinnikov06::dd3, i_part, x, xi, t, n_par, param); return (h1 + h2) / xi; } if (x <= 1.0) { double bmin = (x - xi) / (1.0 - xi); double bmax = (x + xi) / (1.0 + xi); - double h = dd_int_simp(bmin, bmax, &VinnikovModel::dd3, i_part, x, xi, + double h = dd_int_simp(bmin, bmax, &GPDVinnikov06::dd3, i_part, x, xi, t, n_par, param); return h / xi; } @@ -232,7 +231,7 @@ double VinnikovModel::gpdh(int const i_part, double x, double const xi, return 0.0; } -double VinnikovModel::dd1(int const i_part, double const beta, double const x, +double GPDVinnikov06::dd1(int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double* const param) { double prof_b; double alpha = (x + beta) / xi; @@ -277,7 +276,7 @@ double VinnikovModel::dd1(int const i_part, double const beta, double const x, return 0.0; } -double VinnikovModel::dd2(int const i_part, double const beta, double const x, +double GPDVinnikov06::dd2(int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double* const param) { double prof_b_val = param[n_par * abs(i_part)]; double prof_b_sea = param[n_par * (abs(i_part) + 2)]; @@ -342,7 +341,7 @@ double VinnikovModel::dd2(int const i_part, double const beta, double const x, return 0.0; } -double VinnikovModel::dd3(int const i_part, double const beta, double const x, +double GPDVinnikov06::dd3(int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double* const param) { double prof_b_val = param[n_par * abs(i_part)]; double prof_b_sea = param[n_par * (abs(i_part) + 2)]; @@ -391,7 +390,7 @@ double VinnikovModel::dd3(int const i_part, double const beta, double const x, return 0.0; } -double VinnikovModel::uval(double const x, double const t) { +double GPDVinnikov06::uval(double const x, double const t) { if (x <= 0.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -419,7 +418,7 @@ double VinnikovModel::uval(double const x, double const t) { + log(1.0 + a4 * x) * a5 + t * fq); } -double VinnikovModel::usea(double const x, double const t) { +double GPDVinnikov06::usea(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -449,7 +448,7 @@ double VinnikovModel::usea(double const x, double const t) { * exp(b4 * log(1.0 - exp(2.6 * log(x)))); } -double VinnikovModel::dval(double const x, double const t) { +double GPDVinnikov06::dval(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -480,7 +479,7 @@ double VinnikovModel::dval(double const x, double const t) { + log(1.0 + a4 * x) * a5 + t * fq); } -double VinnikovModel::dsea(double const x, double const t) { +double GPDVinnikov06::dsea(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -510,7 +509,7 @@ double VinnikovModel::dsea(double const x, double const t) { * exp(b4 * log(1.0 - exp(2.6 * log(x)))); } -double VinnikovModel::ssea(double const x, double const t) { +double GPDVinnikov06::ssea(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -534,7 +533,7 @@ double VinnikovModel::ssea(double const x, double const t) { return 0.0; } -double VinnikovModel::glu(double const x, double const t) { +double GPDVinnikov06::glu(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -564,7 +563,7 @@ double VinnikovModel::glu(double const x, double const t) { //TODO make a unique return at the end of the function ; better for debbuging and avoid compilation warning. //TODO remove double* use vector instead -double VinnikovModel::gpdh_pol(int const i_part, double x, double const xi, +double GPDVinnikov06::gpdh_pol(int const i_part, double x, double const xi, double const t, int const n_par, double* const param) { if (x == xi) { x -= EPS_BETR; @@ -581,7 +580,7 @@ double VinnikovModel::gpdh_pol(int const i_part, double x, double const xi, if (x < -xi) { double bmin = (-x - xi) / (1.0 - xi); double bmax = (-x + xi) / (1.0 + xi); - double h = dd_int_simp(bmin, bmax, &VinnikovModel::dd1_pol, i_part, x, + double h = dd_int_simp(bmin, bmax, &GPDVinnikov06::dd1_pol, i_part, x, xi, t, n_par, param); return h / xi; } @@ -589,25 +588,25 @@ double VinnikovModel::gpdh_pol(int const i_part, double x, double const xi, if (x <= 0.0) { double bmax1 = (xi + x) / (1.0 + xi); double bmax2 = (xi - x) / (1.0 + xi); - double h1 = dd_int_simp(0.0, bmax1, &VinnikovModel::dd2_pol, i_part, x, + double h1 = dd_int_simp(0.0, bmax1, &GPDVinnikov06::dd2_pol, i_part, x, xi, t, n_par, param); - double h2 = dd_int_simp(bmax1, bmax2, &VinnikovModel::dd1_pol, i_part, + double h2 = dd_int_simp(bmax1, bmax2, &GPDVinnikov06::dd1_pol, i_part, x, xi, t, n_par, param); return (h1 + h2) / xi; } if (x < xi) { double bmax1 = (xi - x) / (1.0 + xi); double bmax2 = (xi + x) / (1.0 + xi); - double h1 = dd_int_simp(0.0, bmax1, &VinnikovModel::dd2_pol, i_part, x, + double h1 = dd_int_simp(0.0, bmax1, &GPDVinnikov06::dd2_pol, i_part, x, xi, t, n_par, param); - double h2 = dd_int_simp(bmax1, bmax2, &VinnikovModel::dd3_pol, i_part, + double h2 = dd_int_simp(bmax1, bmax2, &GPDVinnikov06::dd3_pol, i_part, x, xi, t, n_par, param); return (h1 + h2) / xi; } if (x <= 1.0) { double bmin = (x - xi) / (1.0 - xi); double bmax = (x + xi) / (1.0 + xi); - double h = dd_int_simp(bmin, bmax, &VinnikovModel::dd3_pol, i_part, x, + double h = dd_int_simp(bmin, bmax, &GPDVinnikov06::dd3_pol, i_part, x, xi, t, n_par, param); return h / xi; } @@ -618,7 +617,7 @@ double VinnikovModel::gpdh_pol(int const i_part, double x, double const xi, return 0.0; } -double VinnikovModel::dd1_pol(int const i_part, double const beta, +double GPDVinnikov06::dd1_pol(int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double* const param) { double alpha = (x + beta) / xi; @@ -660,7 +659,7 @@ double VinnikovModel::dd1_pol(int const i_part, double const beta, return 0.0; } -double VinnikovModel::dd2_pol(int const i_part, double const beta, +double GPDVinnikov06::dd2_pol(int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double* const param) { double prof_b_val = param[n_par * abs(i_part)]; @@ -726,7 +725,7 @@ double VinnikovModel::dd2_pol(int const i_part, double const beta, return 0.0; } -double VinnikovModel::dd3_pol(int const i_part, double const beta, +double GPDVinnikov06::dd3_pol(int const i_part, double const beta, double const x, double const xi, double const t, int const n_par, double* const param) { double prof_b_val = param[n_par * abs(i_part)]; @@ -776,7 +775,7 @@ double VinnikovModel::dd3_pol(int const i_part, double const beta, return 0.0; } -double VinnikovModel::uval_pol(double const x, double const t) { +double GPDVinnikov06::uval_pol(double const x, double const t) { if (x <= 0.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -803,7 +802,7 @@ double VinnikovModel::uval_pol(double const x, double const t) { * (1.0 + gam * x); } -double VinnikovModel::usea_pol(double const x, double const t) { +double GPDVinnikov06::usea_pol(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -824,7 +823,7 @@ double VinnikovModel::usea_pol(double const x, double const t) { * (1.0 + gam * x); } -double VinnikovModel::dval_pol(double const x, double const t) { +double GPDVinnikov06::dval_pol(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -854,7 +853,7 @@ double VinnikovModel::dval_pol(double const x, double const t) { * (1.0 + gam * x); } -double VinnikovModel::dsea_pol(double const x, double const t) { +double GPDVinnikov06::dsea_pol(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -875,7 +874,7 @@ double VinnikovModel::dsea_pol(double const x, double const t) { * (1.0 + gam * x); } -double VinnikovModel::ssea_pol(double const x, double const t) { +double GPDVinnikov06::ssea_pol(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -896,7 +895,7 @@ double VinnikovModel::ssea_pol(double const x, double const t) { * (1.0 + gam * x); } -double VinnikovModel::glu_pol(double const x, double const t) { +double GPDVinnikov06::glu_pol(double const x, double const t) { if (x <= 0.0 || x > 1.0) { throw ElemUtils::CustomException(getClassName(), __func__, ElemUtils::Formatter() << "x = " << x << " < 0"); @@ -919,7 +918,7 @@ double VinnikovModel::glu_pol(double const x, double const t) { // COMMON FUNCTIONS =================================================================================== -double VinnikovModel::prof_funct(double const b, double const beta, +double GPDVinnikov06::prof_funct(double const b, double const beta, double const alpha) { double gamma1 = gammf(2.0 * b + 2.0); double gamma2 = gammf(b + 1.0); @@ -929,11 +928,11 @@ double VinnikovModel::prof_funct(double const b, double const beta, return gamma1 * power1 * power2 / (gamma2 * gamma2); } -double VinnikovModel::power(double const x, double const y) { +double GPDVinnikov06::power(double const x, double const y) { return exp(y * log(x)); } -double VinnikovModel::gammf(double xx) { +double GPDVinnikov06::gammf(double xx) { double x, y, tmp, ser; static double cof[6] = { 76.18009172947146, -86.50532032941677, 24.01409824083091, -1.231739572450155, 0.1208650973866179e-2, @@ -949,8 +948,8 @@ double VinnikovModel::gammf(double xx) { return exp(-tmp) * 2.5066282746310005 * ser / x; } -double VinnikovModel::dd_int_simp(double const bmin, double const bmax, - double (VinnikovModel::*dd)(int, double, double, double, double, int, +double GPDVinnikov06::dd_int_simp(double const bmin, double const bmax, + double (GPDVinnikov06::*dd)(int, double, double, double, double, int, double*), int const i_part, double const x, double const xi, double const t, int const n_par, double* const param) { int i; diff --git a/src/partons/modules/gpd_border_function/KM10BorderFunctionModel.cpp b/src/partons/modules/gpd_border_function/GPDBorderFunctionKM10.cpp similarity index 84% rename from src/partons/modules/gpd_border_function/KM10BorderFunctionModel.cpp rename to src/partons/modules/gpd_border_function/GPDBorderFunctionKM10.cpp index bb6d222e..2914ca46 100644 --- a/src/partons/modules/gpd_border_function/KM10BorderFunctionModel.cpp +++ b/src/partons/modules/gpd_border_function/GPDBorderFunctionKM10.cpp @@ -5,8 +5,6 @@ * Author: Pawel Sznajder (IPNO) */ -#include "../../../../include/partons/modules/gpd_border_function/KM10BorderFunctionModel.h" - #include #include #include @@ -18,15 +16,16 @@ #include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" #include "../../../../include/partons/beans/QuarkFlavor.h" #include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/gpd/GK11Model.h" +#include "../../../../include/partons/modules/gpd/GPDGK11.h" +#include "../../../../include/partons/modules/gpd_border_function/GPDBorderFunctionKM10.h" #include "../../../../include/partons/ModuleObjectFactory.h" #include "../../../../include/partons/Partons.h" -const unsigned int KM10BorderFunctionModel::classId = +const unsigned int GPDBorderFunctionKM10::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new KM10BorderFunctionModel("KM10BorderFunctionModel")); + new GPDBorderFunctionKM10("GPDBorderFunctionKM10")); -KM10BorderFunctionModel::KM10BorderFunctionModel(const std::string& className) : +GPDBorderFunctionKM10::GPDBorderFunctionKM10(const std::string& className) : GPDBorderFunctionModule(className) { m_par_H_b_val = 2.4; //Eq. (112) @@ -54,8 +53,8 @@ KM10BorderFunctionModel::KM10BorderFunctionModel(const std::string& className) : m_MuF2_ref = 2.; //does not depend of Q2, muF2_ref set here arbitrary } -KM10BorderFunctionModel::KM10BorderFunctionModel( - const KM10BorderFunctionModel& other) : +GPDBorderFunctionKM10::GPDBorderFunctionKM10( + const GPDBorderFunctionKM10& other) : GPDBorderFunctionModule(other) { m_par_H_b_val = other.m_par_H_b_val; @@ -77,26 +76,26 @@ KM10BorderFunctionModel::KM10BorderFunctionModel( m_par_H_p_sea = other.m_par_H_p_sea; } -KM10BorderFunctionModel::~KM10BorderFunctionModel() { +GPDBorderFunctionKM10::~GPDBorderFunctionKM10() { } -KM10BorderFunctionModel* KM10BorderFunctionModel::clone() const { - return new KM10BorderFunctionModel(*this); +GPDBorderFunctionKM10* GPDBorderFunctionKM10::clone() const { + return new GPDBorderFunctionKM10(*this); } -void KM10BorderFunctionModel::resolveObjectDependencies() { +void GPDBorderFunctionKM10::resolveObjectDependencies() { } -void KM10BorderFunctionModel::configure( +void GPDBorderFunctionKM10::configure( const ElemUtils::Parameters& parameters) { GPDBorderFunctionModule::configure(parameters); } -std::string KM10BorderFunctionModel::toString() const { +std::string GPDBorderFunctionKM10::toString() const { GPDBorderFunctionModule::toString(); } -PartonDistribution KM10BorderFunctionModel::computeH() { +PartonDistribution GPDBorderFunctionKM10::computeH() { //parameters double n, r, alpha, b, M, p; @@ -151,7 +150,7 @@ PartonDistribution KM10BorderFunctionModel::computeH() { return partonDistribution; } -double KM10BorderFunctionModel::getDiagonalGPD(double xi, double n, double r, +double GPDBorderFunctionKM10::getDiagonalGPD(double xi, double n, double r, double alpha, double b, double M, double p) const { return n * r / (1. + xi) * pow(2 * xi / (1 + xi), -1 * alpha) * pow((1. - xi) / (1. + xi), b) diff --git a/src/partons/modules/gpd_subtraction_constant/KM10SubtractionConstantModel.cpp b/src/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantKM10.cpp similarity index 59% rename from src/partons/modules/gpd_subtraction_constant/KM10SubtractionConstantModel.cpp rename to src/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantKM10.cpp index c3febf43..38c5db9a 100644 --- a/src/partons/modules/gpd_subtraction_constant/KM10SubtractionConstantModel.cpp +++ b/src/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantKM10.cpp @@ -1,18 +1,17 @@ -#include "../../../../include/partons/modules/gpd_subtraction_constant/KM10SubtractionConstantModel.h" - #include #include #include #include "../../../../include/partons/beans/gpd/GPDType.h" #include "../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantKM10.h" -const unsigned int KM10SubtractionConstantModel::classId = +const unsigned int GPDSubtractionConstantKM10::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new KM10SubtractionConstantModel( - "KM10SubtractionConstantModel")); + new GPDSubtractionConstantKM10( + "GPDSubtractionConstantKM10")); -KM10SubtractionConstantModel::KM10SubtractionConstantModel( +GPDSubtractionConstantKM10::GPDSubtractionConstantKM10( const std::string& className) : GPDSubtractionConstantModule(className) { @@ -28,25 +27,25 @@ KM10SubtractionConstantModel::KM10SubtractionConstantModel( m_par_H_M_sub = 1.5; //Eq. (112) } -KM10SubtractionConstantModel::~KM10SubtractionConstantModel() { +GPDSubtractionConstantKM10::~GPDSubtractionConstantKM10() { } -KM10SubtractionConstantModel* KM10SubtractionConstantModel::clone() const { - return new KM10SubtractionConstantModel(*this); +GPDSubtractionConstantKM10* GPDSubtractionConstantKM10::clone() const { + return new GPDSubtractionConstantKM10(*this); } -KM10SubtractionConstantModel::KM10SubtractionConstantModel( - const KM10SubtractionConstantModel& other) : +GPDSubtractionConstantKM10::GPDSubtractionConstantKM10( + const GPDSubtractionConstantKM10& other) : GPDSubtractionConstantModule(other) { m_par_H_C = other.m_par_H_C; m_par_H_M_sub = other.m_par_H_M_sub; } -double KM10SubtractionConstantModel::computeH() { +double GPDSubtractionConstantKM10::computeH() { return m_par_H_C * pow(1. - m_t * pow(m_par_H_M_sub, -2), -2); } -double KM10SubtractionConstantModel::computeE() { +double GPDSubtractionConstantKM10::computeE() { return -1 * computeH(); } diff --git a/src/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.cpp b/src/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.cpp similarity index 62% rename from src/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.cpp rename to src/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.cpp index 0094f681..ea351b7d 100644 --- a/src/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.cpp +++ b/src/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.cpp @@ -1,5 +1,3 @@ -#include "../../../../include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h" - #include #include #include @@ -7,16 +5,17 @@ #include "../../../../include/partons/beans/gpd/GPDType.h" #include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/gpd/MMS13Model.h" +#include "../../../../include/partons/modules/gpd/GPDMMS13.h" +#include "../../../../include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h" #include "../../../../include/partons/ModuleObjectFactory.h" #include "../../../../include/partons/Partons.h" -const unsigned int MMS13SubtractionConstantModel::classId = +const unsigned int GPDSubtractionConstantMMS13::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new MMS13SubtractionConstantModel( - "MMS13SubtractionConstantModel")); + new GPDSubtractionConstantMMS13( + "GPDSubtractionConstantMMS13")); -MMS13SubtractionConstantModel::MMS13SubtractionConstantModel( +GPDSubtractionConstantMMS13::GPDSubtractionConstantMMS13( const std::string& className) : GPDSubtractionConstantModule(className), MathIntegratorModule() { @@ -33,7 +32,7 @@ MMS13SubtractionConstantModel::MMS13SubtractionConstantModel( initFunctorsForIntegrations(); } -MMS13SubtractionConstantModel::~MMS13SubtractionConstantModel() { +GPDSubtractionConstantMMS13::~GPDSubtractionConstantMMS13() { if (m_p_int_dTermIntegral) { delete m_p_int_dTermIntegral; @@ -41,26 +40,26 @@ MMS13SubtractionConstantModel::~MMS13SubtractionConstantModel() { } } -MMS13SubtractionConstantModel* MMS13SubtractionConstantModel::clone() const { - return new MMS13SubtractionConstantModel(*this); +GPDSubtractionConstantMMS13* GPDSubtractionConstantMMS13::clone() const { + return new GPDSubtractionConstantMMS13(*this); } -void MMS13SubtractionConstantModel::resolveObjectDependencies() { +void GPDSubtractionConstantMMS13::resolveObjectDependencies() { setIntegrator(NumA::IntegratorType1D::DEXP); m_pMMS13Model = - static_cast(Partons::getInstance()->getModuleObjectFactory()->newGPDModule( - MMS13Model::classId)); + static_cast(Partons::getInstance()->getModuleObjectFactory()->newGPDModule( + GPDMMS13::classId)); } -void MMS13SubtractionConstantModel::initFunctorsForIntegrations() { +void GPDSubtractionConstantMMS13::initFunctorsForIntegrations() { m_p_int_dTermIntegral = NumA::Integrator1D::newIntegrationFunctor(this, - &MMS13SubtractionConstantModel::dTermIntegral); + &GPDSubtractionConstantMMS13::dTermIntegral); } -MMS13SubtractionConstantModel::MMS13SubtractionConstantModel( - const MMS13SubtractionConstantModel& other) : +GPDSubtractionConstantMMS13::GPDSubtractionConstantMMS13( + const GPDSubtractionConstantMMS13& other) : GPDSubtractionConstantModule(other), MathIntegratorModule(other) { m_pMMS13Model = other.m_pMMS13Model; @@ -68,7 +67,7 @@ MMS13SubtractionConstantModel::MMS13SubtractionConstantModel( initFunctorsForIntegrations(); } -double MMS13SubtractionConstantModel::computeH() { +double GPDSubtractionConstantMMS13::computeH() { std::vector parameters; //TODO H, E, etc nie potrzebne @@ -76,18 +75,18 @@ double MMS13SubtractionConstantModel::computeH() { return integrate(m_p_int_dTermIntegral, -1., 1., parameters); } -double MMS13SubtractionConstantModel::computeE() { +double GPDSubtractionConstantMMS13::computeE() { std::vector parameters; return -1 * integrate(m_p_int_dTermIntegral, -1., 1., parameters); } -double MMS13SubtractionConstantModel::dTermIntegral(double zeta, +double GPDSubtractionConstantMMS13::dTermIntegral(double zeta, std::vector par) { return m_pMMS13Model->DTerm(zeta) / (1. - zeta); } -void MMS13SubtractionConstantModel::prepareSubModules( +void GPDSubtractionConstantMMS13::prepareSubModules( const std::map& subModulesData) { GPDSubtractionConstantModule::prepareSubModules(subModulesData); } diff --git a/src/partons/modules/process/DVCS/BMJ2012DVCSModel.cpp b/src/partons/modules/process/DVCS/DVCSProcessBMJ12.cpp similarity index 96% rename from src/partons/modules/process/DVCS/BMJ2012DVCSModel.cpp rename to src/partons/modules/process/DVCS/DVCSProcessBMJ12.cpp index 7d00181a..4d1f1dcf 100644 --- a/src/partons/modules/process/DVCS/BMJ2012DVCSModel.cpp +++ b/src/partons/modules/process/DVCS/DVCSProcessBMJ12.cpp @@ -1,20 +1,19 @@ -#include "../../../../../include/partons/modules/process/DVCS/BMJ2012DVCSModel.h" - #include #include #include #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../include/partons/modules/process/DVCS/DVCSProcessBMJ12.h" // Initialise [class]::classId with a unique name. -const unsigned int BMJ2012DVCSModel::classId = +const unsigned int DVCSProcessBMJ12::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new BMJ2012DVCSModel("BMJ2012DVCSModel")); + new DVCSProcessBMJ12("DVCSProcessBMJ12")); /*--------------------------------------- Constructors ---------------------------------*/ -BMJ2012DVCSModel::BMJ2012DVCSModel(const std::string &className) : +DVCSProcessBMJ12::DVCSProcessBMJ12(const std::string &className) : DVCSModule(className) { m_phi1BMK = 0.; m_phi2BMK = 0.; @@ -56,10 +55,10 @@ BMJ2012DVCSModel::BMJ2012DVCSModel(const std::string &className) : /*-------------------------------------- Destructor ------------------------------------*/ -BMJ2012DVCSModel::~BMJ2012DVCSModel() { +DVCSProcessBMJ12::~DVCSProcessBMJ12() { } -BMJ2012DVCSModel::BMJ2012DVCSModel(const BMJ2012DVCSModel& other) : +DVCSProcessBMJ12::DVCSProcessBMJ12(const DVCSProcessBMJ12& other) : DVCSModule(other) { m_phi1BMK = other.m_phi1BMK; m_phi2BMK = other.m_phi2BMK; @@ -95,11 +94,11 @@ BMJ2012DVCSModel::BMJ2012DVCSModel(const BMJ2012DVCSModel& other) : m_CFF = other.m_CFF; } -BMJ2012DVCSModel* BMJ2012DVCSModel::clone() const { - return new BMJ2012DVCSModel(*this); +DVCSProcessBMJ12* DVCSProcessBMJ12::clone() const { + return new DVCSProcessBMJ12(*this); } -void BMJ2012DVCSModel::initModule() { +void DVCSProcessBMJ12::initModule() { //init mother class DVCSModule::initModule(); @@ -153,7 +152,7 @@ void BMJ2012DVCSModel::initModule() { } -void BMJ2012DVCSModel::initModule(double beamHelicity, double beamCharge, +void DVCSProcessBMJ12::initModule(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { //init mother class @@ -181,13 +180,13 @@ void BMJ2012DVCSModel::initModule(double beamHelicity, double beamCharge, computeFourierCoeffsInterf(); } -void BMJ2012DVCSModel::isModuleWellConfigured() { +void DVCSProcessBMJ12::isModuleWellConfigured() { //check mother class DVCSModule::isModuleWellConfigured(); } -void BMJ2012DVCSModel::defineAngles(const NumA::Vector3D &targetPolarization) { +void DVCSProcessBMJ12::defineAngles(const NumA::Vector3D &targetPolarization) { double Px = targetPolarization.getX(); double Py = targetPolarization.getY(); double Pz = targetPolarization.getZ(); @@ -226,7 +225,7 @@ void BMJ2012DVCSModel::defineAngles(const NumA::Vector3D &targetPolarization) { m_phi2BMK = m_PhiBMK - m_phi1BMK; } -void BMJ2012DVCSModel::computeFormFactors() { +void DVCSProcessBMJ12::computeFormFactors() { //TODO Get the value of F1(t) and F2(t) from another module m_F1 = (4. * m_M[1] - 2.79285 * m_t) @@ -236,7 +235,7 @@ void BMJ2012DVCSModel::computeFormFactors() { / (pow(1 - 1.4084507042253522 * m_t, 2) * (4 * m_M[1] - m_t)); } -void BMJ2012DVCSModel::computeCFFs() { +void DVCSProcessBMJ12::computeCFFs() { // Compute coefficients in CFFs F+b and F0+ for (int j = 0; j < 2; j++) { m_cF[j][0] = (1. + (1 - 2 * j) * m_epsroot[0]) / (2. * m_epsroot[0]) @@ -288,7 +287,7 @@ void BMJ2012DVCSModel::computeCFFs() { } } -void BMJ2012DVCSModel::computeFourierCoeffsBH() { +void DVCSProcessBMJ12::computeFourierCoeffsBH() { //TODO Get the value of F1(t) and F2(t) from another module double F1 = m_F1; // Dirac form factor double F2 = m_F2; // Pauli form factor @@ -377,7 +376,7 @@ void BMJ2012DVCSModel::computeFourierCoeffsBH() { * m_epsroot[2] * (1. - Delta2Q2) * F1PlusF2 * F1PlusDeltaF2; } -void BMJ2012DVCSModel::computeFourierCoeffsVCS() { +void DVCSProcessBMJ12::computeFourierCoeffsVCS() { double C1, C2; C2 = 1. - m_yBMJ[0] - m_epsilonBMJ[1] * m_yBMJ[1] / 4.; C1 = sqrt(C2); @@ -435,7 +434,7 @@ void BMJ2012DVCSModel::computeFourierCoeffsVCS() { * C_VCS(2, -1, 1, 1, 1).imag(); } -void BMJ2012DVCSModel::computeAngularCoeffsInterf() { +void DVCSProcessBMJ12::computeAngularCoeffsInterf() { double tQ2 = m_t / m_Q2; double Kt2Q2 = m_Kt[1] / m_Q2; double tp = m_t - m_tmin; @@ -1018,7 +1017,7 @@ void BMJ2012DVCSModel::computeAngularCoeffsInterf() { * (1. + m_epsroot[0] - tQ2 * (1. - 2 * m_xB - m_epsroot[0])); } -void BMJ2012DVCSModel::computeFourierCoeffsInterf() { +void DVCSProcessBMJ12::computeFourierCoeffsInterf() { // Unpolarized Fourier coeffs for (unsigned n = 0; n < 4; n++) { m_cI[0][n] = C_I(0, n, 1, 1).real() + C_I(0, n, -1, 1).real() @@ -1065,7 +1064,7 @@ void BMJ2012DVCSModel::computeFourierCoeffsInterf() { } -std::complex BMJ2012DVCSModel::CFF(GPDType::Type F, int a, int b) { +std::complex DVCSProcessBMJ12::CFF(GPDType::Type F, int a, int b) { unsigned int j; if (a == -1) { @@ -1097,7 +1096,7 @@ std::complex BMJ2012DVCSModel::CFF(GPDType::Type F, int a, int b) { } -std::complex BMJ2012DVCSModel::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12::C_VCS(unsigned int S, int a1, int b1, int a2, int b2) { std::complex H1(0., 0.), Ht1(0., 0.), E1(0., 0.), Et1(0., 0.); std::complex H2(0., 0.), Ht2(0., 0.), E2(0., 0.), Et2(0., 0.); @@ -1152,7 +1151,7 @@ std::complex BMJ2012DVCSModel::C_VCS(unsigned int S, int a1, int b1, int } } -std::complex BMJ2012DVCSModel::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3) { int signe; if (S == 0 or S == 3) { @@ -1166,7 +1165,7 @@ std::complex BMJ2012DVCSModel::C_VCS(unsigned int S, int a1, int b1, int return C_VCS(S, a1, b1, a2, b2) + signe * 1. * C_VCS(S, a1, b1, a3, b3); } -std::complex BMJ2012DVCSModel::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3, int a4, int b4) { int signe; if (S == 0 or S == 3) { @@ -1181,7 +1180,7 @@ std::complex BMJ2012DVCSModel::C_VCS(unsigned int S, int a1, int b1, int } -std::complex BMJ2012DVCSModel::C_I(unsigned int S, int a, int b, +std::complex DVCSProcessBMJ12::C_I(unsigned int S, int a, int b, const std::string& VA) { std::complex H(0., 0.), Ht(0., 0.), E(0., 0.), Et(0., 0.); H = CFF(GPDType::H, a, b); @@ -1258,7 +1257,7 @@ std::complex BMJ2012DVCSModel::C_I(unsigned int S, int a, int b, } } -std::complex BMJ2012DVCSModel::C_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12::C_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1292,7 +1291,7 @@ std::complex BMJ2012DVCSModel::C_I(unsigned int S, unsigned int n, int a } } -std::complex BMJ2012DVCSModel::S_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12::S_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1326,7 +1325,7 @@ std::complex BMJ2012DVCSModel::S_I(unsigned int S, unsigned int n, int a } } -double BMJ2012DVCSModel::SqrAmplBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12::SqrAmplBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) @@ -1343,7 +1342,7 @@ double BMJ2012DVCSModel::SqrAmplBH(double beamHelicity, double beamCharge, return result; } -double BMJ2012DVCSModel::SqrAmplVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12::SqrAmplVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) / (m_yBMJ[1] * m_Q2); @@ -1360,7 +1359,7 @@ double BMJ2012DVCSModel::SqrAmplVCS(double beamHelicity, double beamCharge, return result; } -double BMJ2012DVCSModel::SqrAmplInterf(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12::SqrAmplInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = -beamCharge * pow(Constant::POSITRON_CHARGE, 6) @@ -1378,18 +1377,20 @@ double BMJ2012DVCSModel::SqrAmplInterf(double beamHelicity, double beamCharge, return result; } -double BMJ2012DVCSModel::CrossSectionBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12::CrossSectionBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { - return 0; + return SqrAmplBH(beamHelicity, beamCharge, targetPolarization) + * m_phaseSpace; } -double BMJ2012DVCSModel::CrossSectionVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12::CrossSectionVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplVCS(beamHelicity, beamCharge, targetPolarization) * m_phaseSpace; } -double BMJ2012DVCSModel::CrossSectionInterf(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12::CrossSectionInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { - return 0; + return SqrAmplInterf(beamHelicity, beamCharge, targetPolarization) + * m_phaseSpace; } diff --git a/src/partons/modules/process/DVCS/BMJ2012BHModel.cpp b/src/partons/modules/process/DVCS/DVCSProcessBMJ12BH.cpp similarity index 96% rename from src/partons/modules/process/DVCS/BMJ2012BHModel.cpp rename to src/partons/modules/process/DVCS/DVCSProcessBMJ12BH.cpp index 5ed9039c..d1f764c4 100644 --- a/src/partons/modules/process/DVCS/BMJ2012BHModel.cpp +++ b/src/partons/modules/process/DVCS/DVCSProcessBMJ12BH.cpp @@ -1,20 +1,19 @@ -#include "../../../../../include/partons/modules/process/DVCS/BMJ2012BHModel.h" - #include #include #include #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h" // Initialise [class]::classId with a unique name. -const unsigned int BMJ2012BHModel::classId = +const unsigned int DVCSProcessBMJ12BH::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new BMJ2012BHModel("BMJ2012BHModel")); + new DVCSProcessBMJ12BH("DVCSProcessBMJ12BH")); /*--------------------------------------- Constructors ---------------------------------*/ -BMJ2012BHModel::BMJ2012BHModel(const std::string &className) : +DVCSProcessBMJ12BH::DVCSProcessBMJ12BH(const std::string &className) : DVCSModule(className) { m_phi1BMK = 0.; m_phi2BMK = 0.; @@ -56,10 +55,10 @@ BMJ2012BHModel::BMJ2012BHModel(const std::string &className) : /*-------------------------------------- Destructor ------------------------------------*/ -BMJ2012BHModel::~BMJ2012BHModel() { +DVCSProcessBMJ12BH::~DVCSProcessBMJ12BH() { } -BMJ2012BHModel::BMJ2012BHModel(const BMJ2012BHModel& other) : +DVCSProcessBMJ12BH::DVCSProcessBMJ12BH(const DVCSProcessBMJ12BH& other) : DVCSModule(other) { m_phi1BMK = other.m_phi1BMK; m_phi2BMK = other.m_phi2BMK; @@ -95,11 +94,11 @@ BMJ2012BHModel::BMJ2012BHModel(const BMJ2012BHModel& other) : m_CFF = other.m_CFF; } -BMJ2012BHModel* BMJ2012BHModel::clone() const { - return new BMJ2012BHModel(*this); +DVCSProcessBMJ12BH* DVCSProcessBMJ12BH::clone() const { + return new DVCSProcessBMJ12BH(*this); } -void BMJ2012BHModel::initModule() { +void DVCSProcessBMJ12BH::initModule() { //init mother class DVCSModule::initModule(); @@ -154,7 +153,7 @@ void BMJ2012BHModel::initModule() { } -void BMJ2012BHModel::initModule(double beamHelicity, double beamCharge, +void DVCSProcessBMJ12BH::initModule(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { //init mother class @@ -182,13 +181,13 @@ void BMJ2012BHModel::initModule(double beamHelicity, double beamCharge, computeFourierCoeffsInterf(); } -void BMJ2012BHModel::isModuleWellConfigured() { +void DVCSProcessBMJ12BH::isModuleWellConfigured() { //check mother class DVCSModule::isModuleWellConfigured(); } -void BMJ2012BHModel::defineAngles(const NumA::Vector3D &targetPolarization) { +void DVCSProcessBMJ12BH::defineAngles(const NumA::Vector3D &targetPolarization) { double Px = targetPolarization.getX(); double Py = targetPolarization.getY(); double Pz = targetPolarization.getZ(); @@ -227,7 +226,7 @@ void BMJ2012BHModel::defineAngles(const NumA::Vector3D &targetPolarization) { m_phi2BMK = m_PhiBMK - m_phi1BMK; } -void BMJ2012BHModel::computeFormFactors() { +void DVCSProcessBMJ12BH::computeFormFactors() { //TODO Get the value of F1(t) and F2(t) from another module m_F1 = (4. * m_M[1] - 2.79285 * m_t) @@ -237,7 +236,7 @@ void BMJ2012BHModel::computeFormFactors() { / (pow(1 - 1.4084507042253522 * m_t, 2) * (4 * m_M[1] - m_t)); } -void BMJ2012BHModel::computeCFFs() { +void DVCSProcessBMJ12BH::computeCFFs() { // Compute coefficients in CFFs F+b and F0+ for (int j = 0; j < 2; j++) { m_cF[j][0] = (1. + (1 - 2 * j) * m_epsroot[0]) / (2. * m_epsroot[0]) @@ -289,7 +288,7 @@ void BMJ2012BHModel::computeCFFs() { } } -void BMJ2012BHModel::computeFourierCoeffsBH() { +void DVCSProcessBMJ12BH::computeFourierCoeffsBH() { //TODO Get the value of F1(t) and F2(t) from another module double F1 = m_F1; // Dirac form factor double F2 = m_F2; // Pauli form factor @@ -378,7 +377,7 @@ void BMJ2012BHModel::computeFourierCoeffsBH() { * m_epsroot[2] * (1. - Delta2Q2) * F1PlusF2 * F1PlusDeltaF2; } -void BMJ2012BHModel::computeFourierCoeffsVCS() { +void DVCSProcessBMJ12BH::computeFourierCoeffsVCS() { double C1, C2; C2 = 1. - m_yBMJ[0] - m_epsilonBMJ[1] * m_yBMJ[1] / 4.; C1 = sqrt(C2); @@ -437,7 +436,7 @@ void BMJ2012BHModel::computeFourierCoeffsVCS() { * C_VCS(2, -1, 1, 1, 1).imag(); } -void BMJ2012BHModel::computeAngularCoeffsInterf() { +void DVCSProcessBMJ12BH::computeAngularCoeffsInterf() { double tQ2 = m_t / m_Q2; double Kt2Q2 = m_Kt[1] / m_Q2; double tp = m_t - m_tmin; @@ -1031,7 +1030,7 @@ void BMJ2012BHModel::computeAngularCoeffsInterf() { * (1. + m_epsroot[0] - tQ2 * (1. - 2 * m_xB - m_epsroot[0])); } -void BMJ2012BHModel::computeFourierCoeffsInterf() { +void DVCSProcessBMJ12BH::computeFourierCoeffsInterf() { // Unpolarized Fourier coeffs for (unsigned n = 0; n < 4; n++) { m_cI[0][n] = C_I(0, n, 1, 1).real() + C_I(0, n, -1, 1).real() @@ -1078,7 +1077,7 @@ void BMJ2012BHModel::computeFourierCoeffsInterf() { } -std::complex BMJ2012BHModel::CFF(GPDType::Type F, int a, int b) { +std::complex DVCSProcessBMJ12BH::CFF(GPDType::Type F, int a, int b) { unsigned int j; if (a == -1) { @@ -1110,7 +1109,7 @@ std::complex BMJ2012BHModel::CFF(GPDType::Type F, int a, int b) { } -std::complex BMJ2012BHModel::C_VCS(unsigned int S, int a1, int b1, +std::complex DVCSProcessBMJ12BH::C_VCS(unsigned int S, int a1, int b1, int a2, int b2) { std::complex H1(0., 0.), Ht1(0., 0.), E1(0., 0.), Et1(0., 0.); std::complex H2(0., 0.), Ht2(0., 0.), E2(0., 0.), Et2(0., 0.); @@ -1165,7 +1164,7 @@ std::complex BMJ2012BHModel::C_VCS(unsigned int S, int a1, int b1, } } -std::complex BMJ2012BHModel::C_VCS(unsigned int S, int a1, int b1, +std::complex DVCSProcessBMJ12BH::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3) { int signe; if (S == 0 or S == 3) { @@ -1179,7 +1178,7 @@ std::complex BMJ2012BHModel::C_VCS(unsigned int S, int a1, int b1, return C_VCS(S, a1, b1, a2, b2) + signe * 1. * C_VCS(S, a1, b1, a3, b3); } -std::complex BMJ2012BHModel::C_VCS(unsigned int S, int a1, int b1, +std::complex DVCSProcessBMJ12BH::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3, int a4, int b4) { int signe; if (S == 0 or S == 3) { @@ -1194,7 +1193,7 @@ std::complex BMJ2012BHModel::C_VCS(unsigned int S, int a1, int b1, } -std::complex BMJ2012BHModel::C_I(unsigned int S, int a, int b, +std::complex DVCSProcessBMJ12BH::C_I(unsigned int S, int a, int b, const std::string& VA) { std::complex H(0., 0.), Ht(0., 0.), E(0., 0.), Et(0., 0.); H = CFF(GPDType::H, a, b); @@ -1271,7 +1270,7 @@ std::complex BMJ2012BHModel::C_I(unsigned int S, int a, int b, } } -std::complex BMJ2012BHModel::C_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12BH::C_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1305,7 +1304,7 @@ std::complex BMJ2012BHModel::C_I(unsigned int S, unsigned int n, int a, } } -std::complex BMJ2012BHModel::S_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12BH::S_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1339,7 +1338,7 @@ std::complex BMJ2012BHModel::S_I(unsigned int S, unsigned int n, int a, } } -double BMJ2012BHModel::SqrAmplBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12BH::SqrAmplBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) @@ -1356,7 +1355,7 @@ double BMJ2012BHModel::SqrAmplBH(double beamHelicity, double beamCharge, return result; } -double BMJ2012BHModel::SqrAmplVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12BH::SqrAmplVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) / (m_yBMJ[1] * m_Q2); @@ -1373,7 +1372,7 @@ double BMJ2012BHModel::SqrAmplVCS(double beamHelicity, double beamCharge, return result; } -double BMJ2012BHModel::SqrAmplInterf(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12BH::SqrAmplInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = -beamCharge * pow(Constant::POSITRON_CHARGE, 6) @@ -1391,18 +1390,18 @@ double BMJ2012BHModel::SqrAmplInterf(double beamHelicity, double beamCharge, return result; } -double BMJ2012BHModel::CrossSectionBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12BH::CrossSectionBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplBH(beamHelicity, beamCharge, targetPolarization) * m_phaseSpace; } -double BMJ2012BHModel::CrossSectionVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12BH::CrossSectionVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return 0; } -double BMJ2012BHModel::CrossSectionInterf(double beamHelicity, +double DVCSProcessBMJ12BH::CrossSectionInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return 0; } diff --git a/src/partons/modules/process/DVCS/BMJ2012Model.cpp b/src/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.cpp similarity index 96% rename from src/partons/modules/process/DVCS/BMJ2012Model.cpp rename to src/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.cpp index afa239fc..0a1f789e 100644 --- a/src/partons/modules/process/DVCS/BMJ2012Model.cpp +++ b/src/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.cpp @@ -1,20 +1,19 @@ -#include "../../../../../include/partons/modules/process/DVCS/BMJ2012Model.h" - #include #include #include #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h" // Initialise [class]::classId with a unique name. -const unsigned int BMJ2012Model::classId = +const unsigned int DVCSProcessBMJ12DVCS::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new BMJ2012Model("BMJ2012Model")); + new DVCSProcessBMJ12DVCS("DVCSProcessBMJ12DVCS")); /*--------------------------------------- Constructors ---------------------------------*/ -BMJ2012Model::BMJ2012Model(const std::string &className) : +DVCSProcessBMJ12DVCS::DVCSProcessBMJ12DVCS(const std::string &className) : DVCSModule(className) { m_phi1BMK = 0.; m_phi2BMK = 0.; @@ -56,10 +55,10 @@ BMJ2012Model::BMJ2012Model(const std::string &className) : /*-------------------------------------- Destructor ------------------------------------*/ -BMJ2012Model::~BMJ2012Model() { +DVCSProcessBMJ12DVCS::~DVCSProcessBMJ12DVCS() { } -BMJ2012Model::BMJ2012Model(const BMJ2012Model& other) : +DVCSProcessBMJ12DVCS::DVCSProcessBMJ12DVCS(const DVCSProcessBMJ12DVCS& other) : DVCSModule(other) { m_phi1BMK = other.m_phi1BMK; m_phi2BMK = other.m_phi2BMK; @@ -95,11 +94,11 @@ BMJ2012Model::BMJ2012Model(const BMJ2012Model& other) : m_CFF = other.m_CFF; } -BMJ2012Model* BMJ2012Model::clone() const { - return new BMJ2012Model(*this); +DVCSProcessBMJ12DVCS* DVCSProcessBMJ12DVCS::clone() const { + return new DVCSProcessBMJ12DVCS(*this); } -void BMJ2012Model::initModule() { +void DVCSProcessBMJ12DVCS::initModule() { //init mother class DVCSModule::initModule(); @@ -153,7 +152,7 @@ void BMJ2012Model::initModule() { } -void BMJ2012Model::initModule(double beamHelicity, double beamCharge, +void DVCSProcessBMJ12DVCS::initModule(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { //init mother class @@ -181,13 +180,13 @@ void BMJ2012Model::initModule(double beamHelicity, double beamCharge, computeFourierCoeffsInterf(); } -void BMJ2012Model::isModuleWellConfigured() { +void DVCSProcessBMJ12DVCS::isModuleWellConfigured() { //check mother class DVCSModule::isModuleWellConfigured(); } -void BMJ2012Model::defineAngles(const NumA::Vector3D &targetPolarization) { +void DVCSProcessBMJ12DVCS::defineAngles(const NumA::Vector3D &targetPolarization) { double Px = targetPolarization.getX(); double Py = targetPolarization.getY(); double Pz = targetPolarization.getZ(); @@ -226,7 +225,7 @@ void BMJ2012Model::defineAngles(const NumA::Vector3D &targetPolarization) { m_phi2BMK = m_PhiBMK - m_phi1BMK; } -void BMJ2012Model::computeFormFactors() { +void DVCSProcessBMJ12DVCS::computeFormFactors() { //TODO Get the value of F1(t) and F2(t) from another module m_F1 = (4. * m_M[1] - 2.79285 * m_t) @@ -236,7 +235,7 @@ void BMJ2012Model::computeFormFactors() { / (pow(1 - 1.4084507042253522 * m_t, 2) * (4 * m_M[1] - m_t)); } -void BMJ2012Model::computeCFFs() { +void DVCSProcessBMJ12DVCS::computeCFFs() { // Compute coefficients in CFFs F+b and F0+ for (int j = 0; j < 2; j++) { m_cF[j][0] = (1. + (1 - 2 * j) * m_epsroot[0]) / (2. * m_epsroot[0]) @@ -288,7 +287,7 @@ void BMJ2012Model::computeCFFs() { } } -void BMJ2012Model::computeFourierCoeffsBH() { +void DVCSProcessBMJ12DVCS::computeFourierCoeffsBH() { //TODO Get the value of F1(t) and F2(t) from another module double F1 = m_F1; // Dirac form factor double F2 = m_F2; // Pauli form factor @@ -377,7 +376,7 @@ void BMJ2012Model::computeFourierCoeffsBH() { * m_epsroot[2] * (1. - Delta2Q2) * F1PlusF2 * F1PlusDeltaF2; } -void BMJ2012Model::computeFourierCoeffsVCS() { +void DVCSProcessBMJ12DVCS::computeFourierCoeffsVCS() { double C1, C2; C2 = 1. - m_yBMJ[0] - m_epsilonBMJ[1] * m_yBMJ[1] / 4.; C1 = sqrt(C2); @@ -435,7 +434,7 @@ void BMJ2012Model::computeFourierCoeffsVCS() { * C_VCS(2, -1, 1, 1, 1).imag(); } -void BMJ2012Model::computeAngularCoeffsInterf() { +void DVCSProcessBMJ12DVCS::computeAngularCoeffsInterf() { double tQ2 = m_t / m_Q2; double Kt2Q2 = m_Kt[1] / m_Q2; double tp = m_t - m_tmin; @@ -1018,7 +1017,7 @@ void BMJ2012Model::computeAngularCoeffsInterf() { * (1. + m_epsroot[0] - tQ2 * (1. - 2 * m_xB - m_epsroot[0])); } -void BMJ2012Model::computeFourierCoeffsInterf() { +void DVCSProcessBMJ12DVCS::computeFourierCoeffsInterf() { // Unpolarized Fourier coeffs for (unsigned n = 0; n < 4; n++) { m_cI[0][n] = C_I(0, n, 1, 1).real() + C_I(0, n, -1, 1).real() @@ -1065,7 +1064,7 @@ void BMJ2012Model::computeFourierCoeffsInterf() { } -std::complex BMJ2012Model::CFF(GPDType::Type F, int a, int b) { +std::complex DVCSProcessBMJ12DVCS::CFF(GPDType::Type F, int a, int b) { unsigned int j; if (a == -1) { @@ -1097,7 +1096,7 @@ std::complex BMJ2012Model::CFF(GPDType::Type F, int a, int b) { } -std::complex BMJ2012Model::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12DVCS::C_VCS(unsigned int S, int a1, int b1, int a2, int b2) { std::complex H1(0., 0.), Ht1(0., 0.), E1(0., 0.), Et1(0., 0.); std::complex H2(0., 0.), Ht2(0., 0.), E2(0., 0.), Et2(0., 0.); @@ -1152,7 +1151,7 @@ std::complex BMJ2012Model::C_VCS(unsigned int S, int a1, int b1, int a2, } } -std::complex BMJ2012Model::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12DVCS::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3) { int signe; if (S == 0 or S == 3) { @@ -1166,7 +1165,7 @@ std::complex BMJ2012Model::C_VCS(unsigned int S, int a1, int b1, int a2, return C_VCS(S, a1, b1, a2, b2) + signe * 1. * C_VCS(S, a1, b1, a3, b3); } -std::complex BMJ2012Model::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12DVCS::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3, int a4, int b4) { int signe; if (S == 0 or S == 3) { @@ -1181,7 +1180,7 @@ std::complex BMJ2012Model::C_VCS(unsigned int S, int a1, int b1, int a2, } -std::complex BMJ2012Model::C_I(unsigned int S, int a, int b, +std::complex DVCSProcessBMJ12DVCS::C_I(unsigned int S, int a, int b, const std::string& VA) { std::complex H(0., 0.), Ht(0., 0.), E(0., 0.), Et(0., 0.); H = CFF(GPDType::H, a, b); @@ -1258,7 +1257,7 @@ std::complex BMJ2012Model::C_I(unsigned int S, int a, int b, } } -std::complex BMJ2012Model::C_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12DVCS::C_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1292,7 +1291,7 @@ std::complex BMJ2012Model::C_I(unsigned int S, unsigned int n, int a, } } -std::complex BMJ2012Model::S_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12DVCS::S_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1326,7 +1325,7 @@ std::complex BMJ2012Model::S_I(unsigned int S, unsigned int n, int a, } } -double BMJ2012Model::SqrAmplBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12DVCS::SqrAmplBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) @@ -1343,7 +1342,7 @@ double BMJ2012Model::SqrAmplBH(double beamHelicity, double beamCharge, return result; } -double BMJ2012Model::SqrAmplVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12DVCS::SqrAmplVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) / (m_yBMJ[1] * m_Q2); @@ -1360,7 +1359,7 @@ double BMJ2012Model::SqrAmplVCS(double beamHelicity, double beamCharge, return result; } -double BMJ2012Model::SqrAmplInterf(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12DVCS::SqrAmplInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = -beamCharge * pow(Constant::POSITRON_CHARGE, 6) @@ -1378,20 +1377,18 @@ double BMJ2012Model::SqrAmplInterf(double beamHelicity, double beamCharge, return result; } -double BMJ2012Model::CrossSectionBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12DVCS::CrossSectionBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { - return SqrAmplBH(beamHelicity, beamCharge, targetPolarization) - * m_phaseSpace; + return 0; } -double BMJ2012Model::CrossSectionVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12DVCS::CrossSectionVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplVCS(beamHelicity, beamCharge, targetPolarization) * m_phaseSpace; } -double BMJ2012Model::CrossSectionInterf(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12DVCS::CrossSectionInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { - return SqrAmplInterf(beamHelicity, beamCharge, targetPolarization) - * m_phaseSpace; + return 0; } diff --git a/src/partons/modules/process/DVCS/BMJ2012INTModel.cpp b/src/partons/modules/process/DVCS/DVCSProcessBMJ12INT.cpp similarity index 96% rename from src/partons/modules/process/DVCS/BMJ2012INTModel.cpp rename to src/partons/modules/process/DVCS/DVCSProcessBMJ12INT.cpp index 31a29be2..d50ecffc 100644 --- a/src/partons/modules/process/DVCS/BMJ2012INTModel.cpp +++ b/src/partons/modules/process/DVCS/DVCSProcessBMJ12INT.cpp @@ -1,20 +1,19 @@ -#include "../../../../../include/partons/modules/process/DVCS/BMJ2012INTModel.h" - #include #include #include #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h" // Initialise [class]::classId with a unique name. -const unsigned int BMJ2012INTModel::classId = +const unsigned int DVCSProcessBMJ12INT::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new BMJ2012INTModel("BMJ2012INTModel")); + new DVCSProcessBMJ12INT("DVCSProcessBMJ12INT")); /*--------------------------------------- Constructors ---------------------------------*/ -BMJ2012INTModel::BMJ2012INTModel(const std::string &className) : +DVCSProcessBMJ12INT::DVCSProcessBMJ12INT(const std::string &className) : DVCSModule(className) { m_phi1BMK = 0.; m_phi2BMK = 0.; @@ -56,10 +55,10 @@ BMJ2012INTModel::BMJ2012INTModel(const std::string &className) : /*-------------------------------------- Destructor ------------------------------------*/ -BMJ2012INTModel::~BMJ2012INTModel() { +DVCSProcessBMJ12INT::~DVCSProcessBMJ12INT() { } -BMJ2012INTModel::BMJ2012INTModel(const BMJ2012INTModel& other) : +DVCSProcessBMJ12INT::DVCSProcessBMJ12INT(const DVCSProcessBMJ12INT& other) : DVCSModule(other) { m_phi1BMK = other.m_phi1BMK; m_phi2BMK = other.m_phi2BMK; @@ -95,11 +94,11 @@ BMJ2012INTModel::BMJ2012INTModel(const BMJ2012INTModel& other) : m_CFF = other.m_CFF; } -BMJ2012INTModel* BMJ2012INTModel::clone() const { - return new BMJ2012INTModel(*this); +DVCSProcessBMJ12INT* DVCSProcessBMJ12INT::clone() const { + return new DVCSProcessBMJ12INT(*this); } -void BMJ2012INTModel::initModule() { +void DVCSProcessBMJ12INT::initModule() { //init mother class DVCSModule::initModule(); @@ -153,7 +152,7 @@ void BMJ2012INTModel::initModule() { } -void BMJ2012INTModel::initModule(double beamHelicity, double beamCharge, +void DVCSProcessBMJ12INT::initModule(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { //init mother class @@ -181,13 +180,13 @@ void BMJ2012INTModel::initModule(double beamHelicity, double beamCharge, computeFourierCoeffsInterf(); } -void BMJ2012INTModel::isModuleWellConfigured() { +void DVCSProcessBMJ12INT::isModuleWellConfigured() { //check mother class DVCSModule::isModuleWellConfigured(); } -void BMJ2012INTModel::defineAngles(const NumA::Vector3D &targetPolarization) { +void DVCSProcessBMJ12INT::defineAngles(const NumA::Vector3D &targetPolarization) { double Px = targetPolarization.getX(); double Py = targetPolarization.getY(); double Pz = targetPolarization.getZ(); @@ -226,7 +225,7 @@ void BMJ2012INTModel::defineAngles(const NumA::Vector3D &targetPolarization) { m_phi2BMK = m_PhiBMK - m_phi1BMK; } -void BMJ2012INTModel::computeFormFactors() { +void DVCSProcessBMJ12INT::computeFormFactors() { //TODO Get the value of F1(t) and F2(t) from another module m_F1 = (4. * m_M[1] - 2.79285 * m_t) @@ -236,7 +235,7 @@ void BMJ2012INTModel::computeFormFactors() { / (pow(1 - 1.4084507042253522 * m_t, 2) * (4 * m_M[1] - m_t)); } -void BMJ2012INTModel::computeCFFs() { +void DVCSProcessBMJ12INT::computeCFFs() { // Compute coefficients in CFFs F+b and F0+ for (int j = 0; j < 2; j++) { m_cF[j][0] = (1. + (1 - 2 * j) * m_epsroot[0]) / (2. * m_epsroot[0]) @@ -288,7 +287,7 @@ void BMJ2012INTModel::computeCFFs() { } } -void BMJ2012INTModel::computeFourierCoeffsBH() { +void DVCSProcessBMJ12INT::computeFourierCoeffsBH() { //TODO Get the value of F1(t) and F2(t) from another module double F1 = m_F1; // Dirac form factor double F2 = m_F2; // Pauli form factor @@ -377,7 +376,7 @@ void BMJ2012INTModel::computeFourierCoeffsBH() { * m_epsroot[2] * (1. - Delta2Q2) * F1PlusF2 * F1PlusDeltaF2; } -void BMJ2012INTModel::computeFourierCoeffsVCS() { +void DVCSProcessBMJ12INT::computeFourierCoeffsVCS() { double C1, C2; C2 = 1. - m_yBMJ[0] - m_epsilonBMJ[1] * m_yBMJ[1] / 4.; C1 = sqrt(C2); @@ -435,7 +434,7 @@ void BMJ2012INTModel::computeFourierCoeffsVCS() { * C_VCS(2, -1, 1, 1, 1).imag(); } -void BMJ2012INTModel::computeAngularCoeffsInterf() { +void DVCSProcessBMJ12INT::computeAngularCoeffsInterf() { double tQ2 = m_t / m_Q2; double Kt2Q2 = m_Kt[1] / m_Q2; double tp = m_t - m_tmin; @@ -1018,7 +1017,7 @@ void BMJ2012INTModel::computeAngularCoeffsInterf() { * (1. + m_epsroot[0] - tQ2 * (1. - 2 * m_xB - m_epsroot[0])); } -void BMJ2012INTModel::computeFourierCoeffsInterf() { +void DVCSProcessBMJ12INT::computeFourierCoeffsInterf() { // Unpolarized Fourier coeffs for (unsigned n = 0; n < 4; n++) { m_cI[0][n] = C_I(0, n, 1, 1).real() + C_I(0, n, -1, 1).real() @@ -1065,7 +1064,7 @@ void BMJ2012INTModel::computeFourierCoeffsInterf() { } -std::complex BMJ2012INTModel::CFF(GPDType::Type F, int a, int b) { +std::complex DVCSProcessBMJ12INT::CFF(GPDType::Type F, int a, int b) { unsigned int j; if (a == -1) { @@ -1097,7 +1096,7 @@ std::complex BMJ2012INTModel::CFF(GPDType::Type F, int a, int b) { } -std::complex BMJ2012INTModel::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12INT::C_VCS(unsigned int S, int a1, int b1, int a2, int b2) { std::complex H1(0., 0.), Ht1(0., 0.), E1(0., 0.), Et1(0., 0.); std::complex H2(0., 0.), Ht2(0., 0.), E2(0., 0.), Et2(0., 0.); @@ -1152,7 +1151,7 @@ std::complex BMJ2012INTModel::C_VCS(unsigned int S, int a1, int b1, int } } -std::complex BMJ2012INTModel::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12INT::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3) { int signe; if (S == 0 or S == 3) { @@ -1166,7 +1165,7 @@ std::complex BMJ2012INTModel::C_VCS(unsigned int S, int a1, int b1, int return C_VCS(S, a1, b1, a2, b2) + signe * 1. * C_VCS(S, a1, b1, a3, b3); } -std::complex BMJ2012INTModel::C_VCS(unsigned int S, int a1, int b1, int a2, +std::complex DVCSProcessBMJ12INT::C_VCS(unsigned int S, int a1, int b1, int a2, int b2, int a3, int b3, int a4, int b4) { int signe; if (S == 0 or S == 3) { @@ -1181,7 +1180,7 @@ std::complex BMJ2012INTModel::C_VCS(unsigned int S, int a1, int b1, int } -std::complex BMJ2012INTModel::C_I(unsigned int S, int a, int b, +std::complex DVCSProcessBMJ12INT::C_I(unsigned int S, int a, int b, const std::string& VA) { std::complex H(0., 0.), Ht(0., 0.), E(0., 0.), Et(0., 0.); H = CFF(GPDType::H, a, b); @@ -1258,7 +1257,7 @@ std::complex BMJ2012INTModel::C_I(unsigned int S, int a, int b, } } -std::complex BMJ2012INTModel::C_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12INT::C_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1292,7 +1291,7 @@ std::complex BMJ2012INTModel::C_I(unsigned int S, unsigned int n, int a, } } -std::complex BMJ2012INTModel::S_I(unsigned int S, unsigned int n, int a, +std::complex DVCSProcessBMJ12INT::S_I(unsigned int S, unsigned int n, int a, int b) { unsigned int i; if (a == -1) { @@ -1326,7 +1325,7 @@ std::complex BMJ2012INTModel::S_I(unsigned int S, unsigned int n, int a, } } -double BMJ2012INTModel::SqrAmplBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12INT::SqrAmplBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) @@ -1343,7 +1342,7 @@ double BMJ2012INTModel::SqrAmplBH(double beamHelicity, double beamCharge, return result; } -double BMJ2012INTModel::SqrAmplVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12INT::SqrAmplVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = pow(Constant::POSITRON_CHARGE, 6) / (m_yBMJ[1] * m_Q2); @@ -1360,7 +1359,7 @@ double BMJ2012INTModel::SqrAmplVCS(double beamHelicity, double beamCharge, return result; } -double BMJ2012INTModel::SqrAmplInterf(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12INT::SqrAmplInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double A = -beamCharge * pow(Constant::POSITRON_CHARGE, 6) @@ -1378,17 +1377,17 @@ double BMJ2012INTModel::SqrAmplInterf(double beamHelicity, double beamCharge, return result; } -double BMJ2012INTModel::CrossSectionBH(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12INT::CrossSectionBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return 0; } -double BMJ2012INTModel::CrossSectionVCS(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12INT::CrossSectionVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return 0; } -double BMJ2012INTModel::CrossSectionInterf(double beamHelicity, double beamCharge, +double DVCSProcessBMJ12INT::CrossSectionInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplInterf(beamHelicity, beamCharge, targetPolarization) * m_phaseSpace; diff --git a/src/partons/modules/process/DVCS/GV2008Model.cpp b/src/partons/modules/process/DVCS/DVCSProcessGV08.cpp similarity index 99% rename from src/partons/modules/process/DVCS/GV2008Model.cpp rename to src/partons/modules/process/DVCS/DVCSProcessGV08.cpp index e4520686..ca620d29 100644 --- a/src/partons/modules/process/DVCS/GV2008Model.cpp +++ b/src/partons/modules/process/DVCS/DVCSProcessGV08.cpp @@ -1,5 +1,3 @@ -#include "../../../../../include/partons/modules/process/DVCS/GV2008Model.h" - #include #include #include @@ -7,16 +5,17 @@ #include "../../../../../include/partons/beans/gpd/GPDType.h" #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../include/partons/modules/process/DVCS/DVCSProcessGV08.h" // Initialise [class]::classId with a unique name. -const unsigned int GV2008Model::classId = +const unsigned int DVCSProcessGV08::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new GV2008Model("GV2008Model")); + new DVCSProcessGV08("DVCSProcessGV08")); /*--------------------------------------- Constructors ---------------------------------*/ //TODO add missing members initialization -GV2008Model::GV2008Model(const std::string &className) : +DVCSProcessGV08::DVCSProcessGV08(const std::string &className) : DVCSModule(className), m_qCM(NumA::Vector4D(0., 0., 0., 0.)), m_pCM( NumA::Vector4D(0., 0., 0., 0.)), m_qpCM( NumA::Vector4D(0., 0., 0., 0.)), m_ppCM( @@ -25,11 +24,11 @@ GV2008Model::GV2008Model(const std::string &className) : /*-------------------------------------- Destructor ------------------------------------*/ -GV2008Model::~GV2008Model() { +DVCSProcessGV08::~DVCSProcessGV08() { } //TODO add missing members initialization -GV2008Model::GV2008Model(const GV2008Model& other) : +DVCSProcessGV08::DVCSProcessGV08(const DVCSProcessGV08& other) : DVCSModule(other) { m_qCM = other.m_qCM; m_pCM = other.m_pCM; @@ -37,11 +36,11 @@ GV2008Model::GV2008Model(const GV2008Model& other) : m_ppCM = other.m_ppCM; } -GV2008Model* GV2008Model::clone() const { - return new GV2008Model(*this); +DVCSProcessGV08* DVCSProcessGV08::clone() const { + return new DVCSProcessGV08(*this); } -void GV2008Model::initModule() { +void DVCSProcessGV08::initModule() { //init mother class DVCSModule::initModule(); @@ -184,7 +183,7 @@ void GV2008Model::initModule() { MakeExactVCSAndInterfCrossSections(); } -void GV2008Model::initModule(double beamHelicity, double beamCharge, +void DVCSProcessGV08::initModule(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { //init mother class @@ -194,7 +193,7 @@ void GV2008Model::initModule(double beamHelicity, double beamCharge, m_phiGV = -m_phi; } -void GV2008Model::isModuleWellConfigured() { +void DVCSProcessGV08::isModuleWellConfigured() { //check mother class DVCSModule::isModuleWellConfigured(); @@ -222,7 +221,7 @@ void GV2008Model::isModuleWellConfigured() { //TODO mettre une contrainte sur les CFF dont on a besoin pour calculer le modele } -double GV2008Model::SqrAmplBH(double beamHelicity, double beamCharge, +double DVCSProcessGV08::SqrAmplBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double DDDC = DdirectDcrossed(m_phiGV); @@ -250,13 +249,13 @@ double GV2008Model::SqrAmplBH(double beamHelicity, double beamCharge, return M0 + (targetPolarization * vM); } -double GV2008Model::SqrAmplVCSAndInterf(double beamHelicity, double beamCharge, +double DVCSProcessGV08::SqrAmplVCSAndInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplVCS(beamHelicity, beamCharge, targetPolarization) + SqrAmplInterf(beamHelicity, beamCharge, targetPolarization); } -void GV2008Model::MakeVCSHelicityAmplitudes() { +void DVCSProcessGV08::MakeVCSHelicityAmplitudes() { std::complex CFF_H = getConvolCoeffFunctionValue(GPDType::H); std::complex CFF_E = getConvolCoeffFunctionValue(GPDType::E); @@ -296,7 +295,7 @@ void GV2008Model::MakeVCSHelicityAmplitudes() { - CFF_Et.imag() * pow(m_xB, 2)) / (sqrt(1 - m_xB) * (-2 + m_xB))); } -double GV2008Model::SqrAmplVCS(double beamHelicity, double beamCharge, +double DVCSProcessGV08::SqrAmplVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double M0, M1, M2, M3; @@ -331,7 +330,7 @@ double GV2008Model::SqrAmplVCS(double beamHelicity, double beamCharge, return M0 + (targetPolarization * vM); } -double GV2008Model::SqrAmplInterf(double beamHelicity, double beamCharge, +double DVCSProcessGV08::SqrAmplInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { double DDDC = DdirectDcrossed(m_phiGV); @@ -438,7 +437,7 @@ double GV2008Model::SqrAmplInterf(double beamHelicity, double beamCharge, | in terms of the Compton Form Factors. | *--------------------------------------------------------------------------------------*/ -void GV2008Model::MakeExactBHCrossSections() { +void DVCSProcessGV08::MakeExactBHCrossSections() { // TODO externaliser F1, F2, Ge, Gm : en faire un module de facteur de form double F1; // Dirac form factor @@ -901,7 +900,7 @@ void GV2008Model::MakeExactBHCrossSections() { | in terms of the Compton Form Factors. | *--------------------------------------------------------------------------------------*/ -void GV2008Model::MakeExactVCSAndInterfCrossSections() { +void DVCSProcessGV08::MakeExactVCSAndInterfCrossSections() { /*-------------- Harmonic expansion coefficients of the VCS cross section --------------*/ m_Ur[0] = -((m_powerOfQ[2] @@ -3056,7 +3055,7 @@ void GV2008Model::MakeExactVCSAndInterfCrossSections() { | Only depends on kinematics. | *--------------------------------------------------------------------------------------*/ -double GV2008Model::DdirectDcrossed(double phi) { +double DVCSProcessGV08::DdirectDcrossed(double phi) { double DDDC; DDDC = pow(m_powerOfQ[0] + m_t, 2) / 4. @@ -3074,19 +3073,19 @@ double GV2008Model::DdirectDcrossed(double phi) { return DDDC; } -double GV2008Model::CrossSectionBH(double beamHelicity, double beamCharge, +double DVCSProcessGV08::CrossSectionBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplBH(beamHelicity, beamCharge, targetPolarization) * m_phaseSpace; } -double GV2008Model::CrossSectionVCS(double beamHelicity, double beamCharge, +double DVCSProcessGV08::CrossSectionVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplVCS(beamHelicity, beamCharge, targetPolarization) * m_phaseSpace; } -double GV2008Model::CrossSectionInterf(double beamHelicity, double beamCharge, +double DVCSProcessGV08::CrossSectionInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return SqrAmplInterf(beamHelicity, beamCharge, targetPolarization) * m_phaseSpace; diff --git a/src/partons/modules/process/DVCS/VGG1999Model.cpp b/src/partons/modules/process/DVCS/DVCSProcessVGG99.cpp similarity index 93% rename from src/partons/modules/process/DVCS/VGG1999Model.cpp rename to src/partons/modules/process/DVCS/DVCSProcessVGG99.cpp index 38924016..308b27a5 100644 --- a/src/partons/modules/process/DVCS/VGG1999Model.cpp +++ b/src/partons/modules/process/DVCS/DVCSProcessVGG99.cpp @@ -1,5 +1,3 @@ -#include "../../../../../include/partons/modules/process/DVCS/VGG1999Model.h" - #include #include #include @@ -8,12 +6,13 @@ #include "../../../../../include/partons/beans/gpd/GPDType.h" #include "../../../../../include/partons/BaseObjectRegistry.h" #include "../../../../../include/partons/FundamentalPhysicalConstants.h" +#include "../../../../../include/partons/modules/process/DVCS/DVCSProcessVGG99.h" -const unsigned int VGG1999Model::classId = +const unsigned int DVCSProcessVGG99::classId = BaseObjectRegistry::getInstance()->registerBaseObject( - new VGG1999Model("VGG1999Model")); + new DVCSProcessVGG99("DVCSProcessVGG99")); -VGG1999Model::VGG1999Model(const std::string &className) : +DVCSProcessVGG99::DVCSProcessVGG99(const std::string &className) : DVCSModule(className) { m_nu = 0.; @@ -57,7 +56,7 @@ VGG1999Model::VGG1999Model(const std::string &className) : m_proton_spinor_orientation = UNDEFINED; } -VGG1999Model::VGG1999Model(const VGG1999Model& other) : +DVCSProcessVGG99::DVCSProcessVGG99(const DVCSProcessVGG99& other) : DVCSModule(other) { m_nu = other.m_nu; @@ -101,48 +100,48 @@ VGG1999Model::VGG1999Model(const VGG1999Model& other) : m_proton_spinor_orientation = other.m_proton_spinor_orientation; } -VGG1999Model* VGG1999Model::clone() const { - return new VGG1999Model(*this); +DVCSProcessVGG99* DVCSProcessVGG99::clone() const { + return new DVCSProcessVGG99(*this); } -VGG1999Model::~VGG1999Model() { +DVCSProcessVGG99::~DVCSProcessVGG99() { } -void VGG1999Model::initModule() { +void DVCSProcessVGG99::initModule() { DVCSModule::initModule(); } -void VGG1999Model::initModule(double beamHelicity, double beamCharge, +void DVCSProcessVGG99::initModule(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { DVCSModule::initModule(beamHelicity, beamCharge, targetPolarization); } -void VGG1999Model::isModuleWellConfigured() { +void DVCSProcessVGG99::isModuleWellConfigured() { DVCSModule::isModuleWellConfigured(); } -double VGG1999Model::CrossSectionBH(double beamHelicity, double beamCharge, +double DVCSProcessVGG99::CrossSectionBH(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return CrossSectionMechanism(beamHelicity, beamCharge, targetPolarization, 1); } -double VGG1999Model::CrossSectionVCS(double beamHelicity, double beamCharge, +double DVCSProcessVGG99::CrossSectionVCS(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return CrossSectionMechanism(beamHelicity, beamCharge, targetPolarization, 2); } -double VGG1999Model::CrossSectionInterf(double beamHelicity, double beamCharge, +double DVCSProcessVGG99::CrossSectionInterf(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) { return CrossSectionMechanism(beamHelicity, beamCharge, targetPolarization, 3); } -double VGG1999Model::CrossSectionMechanism(double beamHelicity, +double DVCSProcessVGG99::CrossSectionMechanism(double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization, int mechanism) { //fill internal variables @@ -170,7 +169,7 @@ double VGG1999Model::CrossSectionMechanism(double beamHelicity, //polarization x (transverse) if (m_target_polarizationT_x != 0.) { - m_proton_spinor_orientation = VGG1999Model::x; + m_proton_spinor_orientation = DVCSProcessVGG99::x; double resultXp = 0.; double resultXm = 0.; @@ -189,7 +188,7 @@ double VGG1999Model::CrossSectionMechanism(double beamHelicity, //polarization y (transverse) if (m_target_polarizationT_y != 0.) { - m_proton_spinor_orientation = VGG1999Model::y; + m_proton_spinor_orientation = DVCSProcessVGG99::y; double resultYp = 0.; double resultYm = 0.; @@ -208,7 +207,7 @@ double VGG1999Model::CrossSectionMechanism(double beamHelicity, //polarization z (longidudinal) if (m_target_polarizationL != 0.) { - m_proton_spinor_orientation = VGG1999Model::z; + m_proton_spinor_orientation = DVCSProcessVGG99::z; double resultZp = 0.; double resultZm = 0.; @@ -229,7 +228,7 @@ double VGG1999Model::CrossSectionMechanism(double beamHelicity, return result; } -void VGG1999Model::fillInternalVariables(NumA::Vector3D targetPolarization) { +void DVCSProcessVGG99::fillInternalVariables(NumA::Vector3D targetPolarization) { //VARIABLES @@ -364,7 +363,7 @@ void VGG1999Model::fillInternalVariables(NumA::Vector3D targetPolarization) { m_target_polarizationT_y = targetPolarization.getY(); } -NumA::VectorComplex4D VGG1999Model::V4ini(std::complex a, +NumA::VectorComplex4D DVCSProcessVGG99::V4ini(std::complex a, NumA::VectorComplex3D b) { //return @@ -381,7 +380,7 @@ NumA::VectorComplex4D VGG1999Model::V4ini(std::complex a, return r; } -NumA::VectorComplex4D VGG1999Model::spinor_pos(NumA::VectorComplex3D p, +NumA::VectorComplex4D DVCSProcessVGG99::spinor_pos(NumA::VectorComplex3D p, double mass, double sproj) { //return @@ -493,7 +492,7 @@ NumA::VectorComplex4D VGG1999Model::spinor_pos(NumA::VectorComplex3D p, return a; } -NumA::MatrixComplex4D VGG1999Model::dirac_gamma(int mu) { +NumA::MatrixComplex4D DVCSProcessVGG99::dirac_gamma(int mu) { //return NumA::MatrixComplex4D gamma; @@ -582,7 +581,7 @@ NumA::MatrixComplex4D VGG1999Model::dirac_gamma(int mu) { return gamma; } -NumA::MatrixComplex4D VGG1999Model::dirac_gamma5() { +NumA::MatrixComplex4D DVCSProcessVGG99::dirac_gamma5() { //return NumA::MatrixComplex4D gamma5; @@ -609,7 +608,7 @@ NumA::MatrixComplex4D VGG1999Model::dirac_gamma5() { return gamma5; } -double VGG1999Model::metric(int mu, int nu) { +double DVCSProcessVGG99::metric(int mu, int nu) { //return double g; @@ -627,7 +626,7 @@ double VGG1999Model::metric(int mu, int nu) { return g; } -NumA::VectorComplex3D VGG1999Model::pauli(double row, double col) { +NumA::VectorComplex3D DVCSProcessVGG99::pauli(double row, double col) { //return NumA::VectorComplex3D t; @@ -647,7 +646,7 @@ NumA::VectorComplex3D VGG1999Model::pauli(double row, double col) { return t; } -NumA::VectorComplex4D VGG1999Model::spinor_adj(NumA::VectorComplex4D a) { +NumA::VectorComplex4D DVCSProcessVGG99::spinor_adj(NumA::VectorComplex4D a) { //return NumA::VectorComplex4D b; @@ -662,7 +661,7 @@ NumA::VectorComplex4D VGG1999Model::spinor_adj(NumA::VectorComplex4D a) { return b; } -std::complex VGG1999Model::spinleft_mat_spinright( +std::complex DVCSProcessVGG99::spinleft_mat_spinright( NumA::VectorComplex4D l, NumA::MatrixComplex4D m, NumA::VectorComplex4D r) { @@ -685,7 +684,7 @@ std::complex VGG1999Model::spinleft_mat_spinright( return sum; } -NumA::MatrixComplex4D VGG1999Model::fvec_slash(NumA::VectorComplex4D a) { +NumA::MatrixComplex4D DVCSProcessVGG99::fvec_slash(NumA::VectorComplex4D a) { //return NumA::MatrixComplex4D b; @@ -701,7 +700,7 @@ NumA::MatrixComplex4D VGG1999Model::fvec_slash(NumA::VectorComplex4D a) { return b; } -std::complex VGG1999Model::V4mul(NumA::VectorComplex4D a, +std::complex DVCSProcessVGG99::V4mul(NumA::VectorComplex4D a, NumA::VectorComplex4D b) { //return @@ -718,7 +717,7 @@ std::complex VGG1999Model::V4mul(NumA::VectorComplex4D a, return c; } -std::complex VGG1999Model::Cinv(std::complex z) { +std::complex DVCSProcessVGG99::Cinv(std::complex z) { //return std::complex c; @@ -731,7 +730,7 @@ std::complex VGG1999Model::Cinv(std::complex z) { return c; } -NumA::VectorComplex4D VGG1999Model::spinor_hel(momentum3 p, double hel) { +NumA::VectorComplex4D DVCSProcessVGG99::spinor_hel(momentum3 p, double hel) { //return spinor a; @@ -770,11 +769,11 @@ NumA::VectorComplex4D VGG1999Model::spinor_hel(momentum3 p, double hel) { return a; } -double VGG1999Model::polar_angle(NumA::VectorComplex3D t) { +double DVCSProcessVGG99::polar_angle(NumA::VectorComplex3D t) { return acos((t.GetElement(2).real()) / t.Mag()); } -double VGG1999Model::azimut_angle(NumA::VectorComplex3D t) { +double DVCSProcessVGG99::azimut_angle(NumA::VectorComplex3D t) { if (t.GetElement(0).real() == 0.) { @@ -812,7 +811,7 @@ double VGG1999Model::azimut_angle(NumA::VectorComplex3D t) { } } -NumA::MatrixComplex4D VGG1999Model::dirac_sigma(int mu, int nu) { +NumA::MatrixComplex4D DVCSProcessVGG99::dirac_sigma(int mu, int nu) { //return NumA::MatrixComplex4D a; @@ -826,7 +825,7 @@ NumA::MatrixComplex4D VGG1999Model::dirac_sigma(int mu, int nu) { return a; } -NumA::MatrixComplex4D VGG1999Model::unit_spinor_mat() { +NumA::MatrixComplex4D DVCSProcessVGG99::unit_spinor_mat() { //return NumA::MatrixComplex4D a; @@ -841,7 +840,7 @@ NumA::MatrixComplex4D VGG1999Model::unit_spinor_mat() { return a; } -NumA::VectorComplex3D VGG1999Model::Vpolar(double magn, double th, double phi) { +NumA::VectorComplex3D DVCSProcessVGG99::Vpolar(double magn, double th, double phi) { //return NumA::VectorComplex3D t; @@ -855,7 +854,7 @@ NumA::VectorComplex3D VGG1999Model::Vpolar(double magn, double th, double phi) { return t; } -double VGG1999Model::antisymm_epsilon(int ka, int la, int mu, int nu) { +double DVCSProcessVGG99::antisymm_epsilon(int ka, int la, int mu, int nu) { //return double g; @@ -990,7 +989,7 @@ double VGG1999Model::antisymm_epsilon(int ka, int la, int mu, int nu) { return g; } -NumA::MatrixComplex4D VGG1999Model::gamma_NN_vertex(int mu, +NumA::MatrixComplex4D DVCSProcessVGG99::gamma_NN_vertex(int mu, NumA::VectorComplex4D q) { //photon virtuality (this is not virtual photon emitted by lepton but that emitted by proton) @@ -1044,7 +1043,7 @@ NumA::MatrixComplex4D VGG1999Model::gamma_NN_vertex(int mu, return dirac + pauli; } -std::complex VGG1999Model::AmplitudeBH(int mu, double el_hel, +std::complex DVCSProcessVGG99::AmplitudeBH(int mu, double el_hel, double sp_in, double sp_out) { //return @@ -1116,7 +1115,7 @@ std::complex VGG1999Model::AmplitudeBH(int mu, double el_hel, } -std::complex VGG1999Model::v_compton_t_matrix_hel(double leptcharge, +std::complex DVCSProcessVGG99::v_compton_t_matrix_hel(double leptcharge, int mechanism, int mu, double el_hel, double sp_in, double sp_out) { switch (mechanism) { @@ -1138,7 +1137,7 @@ std::complex VGG1999Model::v_compton_t_matrix_hel(double leptcharge, } } -double VGG1999Model::v_compton_doublepol_sqrampl(double leptcharge, +double DVCSProcessVGG99::v_compton_doublepol_sqrampl(double leptcharge, int mechanism, double el_hel, double sp_in) { //return @@ -1270,7 +1269,7 @@ double VGG1999Model::v_compton_doublepol_sqrampl(double leptcharge, return tmat; } -double VGG1999Model::v_compton_doublepol_cross_inv(double leptcharge, +double DVCSProcessVGG99::v_compton_doublepol_cross_inv(double leptcharge, int mechanism, double el_hel, double sp_in) { //return @@ -1280,7 +1279,7 @@ double VGG1999Model::v_compton_doublepol_cross_inv(double leptcharge, } -std::complex VGG1999Model::J_DVCS(int mu, int nu, double sp_in, +std::complex DVCSProcessVGG99::J_DVCS(int mu, int nu, double sp_in, double sp_out) { //return @@ -1404,7 +1403,7 @@ std::complex VGG1999Model::J_DVCS(int mu, int nu, double sp_in, return result; } -std::complex VGG1999Model::AmplitudeDVCS(int mu, double el_hel, +std::complex DVCSProcessVGG99::AmplitudeDVCS(int mu, double el_hel, double sp_in, double sp_out) { //return diff --git a/src/partons/modules/process/DVCSModule.cpp b/src/partons/modules/process/DVCSModule.cpp index a07c79a3..193b362c 100644 --- a/src/partons/modules/process/DVCSModule.cpp +++ b/src/partons/modules/process/DVCSModule.cpp @@ -11,9 +11,9 @@ #include "../../../../include/partons/beans/Scale.h" #include "../../../../include/partons/BaseObjectRegistry.h" #include "../../../../include/partons/FundamentalPhysicalConstants.h" -#include "../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSConstantCFFModel.h" -#include "../../../../include/partons/modules/scale/Q2Multiplier.h" -#include "../../../../include/partons/modules/xb_to_xi/XBToXi.h" +#include "../../../../include/partons/modules/convol_coeff_function/DVCS/DVCSCFFConstant.h" +#include "../../../../include/partons/modules/scale/ScaleQ2Multiplier.h" +#include "../../../../include/partons/modules/xb_to_xi/XiConverterXBToXi.h" #include "../../../../include/partons/ModuleObjectFactory.h" #include "../../../../include/partons/Partons.h" #include "../../../../include/partons/services/ConvolCoeffFunctionService.h" @@ -44,11 +44,11 @@ DVCSModule::DVCSModule(const DVCSModule& other) : void DVCSModule::resolveObjectDependencies() { m_pScaleModule = Partons::getInstance()->getModuleObjectFactory()->newScaleModule( - Q2Multiplier::classId); + ScaleQ2Multiplier::classId); m_pXiConverterModule = Partons::getInstance()->getModuleObjectFactory()->newXiConverterModule( - XBToXi::classId); + XiConverterXBToXi::classId); } void DVCSModule::initModule() { @@ -128,7 +128,7 @@ void DVCSModule::computeConvolCoeffFunction(double xB, double t, double Q2, if (isPreviousKinematicsDifferent(xB, t, Q2) || (BaseObjectRegistry::getInstance()->getObjectClassIdByClassName( m_pConvolCoeffFunctionModule->getClassName()) - == DVCSConstantCFFModel::classId)) { + == DVCSCFFConstant::classId)) { // Compute scale from Q2 Scale scale = m_pScaleModule->compute(Q2); diff --git a/src/partons/modules/scale/Q2Multiplier.cpp b/src/partons/modules/scale/Q2Multiplier.cpp deleted file mode 100644 index bbd861e7..00000000 --- a/src/partons/modules/scale/Q2Multiplier.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "../../../../include/partons/modules/scale/Q2Multiplier.h" - -#include -#include - -#include "../../../../include/partons/beans/Scale.h" -#include "../../../../include/partons/BaseObjectRegistry.h" - -const std::string Q2Multiplier::PARAMETER_NAME_LAMBDA = "lambda"; - -// Initialise [class]::classId with a unique name. -const unsigned int Q2Multiplier::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new Q2Multiplier("Q2Multiplier")); - -Q2Multiplier::Q2Multiplier(const std::string &className) : - ScaleModule(className), m_lambda(1.) { -} - -Q2Multiplier::~Q2Multiplier() { -} - -Q2Multiplier* Q2Multiplier::clone() const { - return new Q2Multiplier(*this); -} - -Scale Q2Multiplier::compute(double Q2) { - initModule(); - isModuleWellConfigured(); - - double scale = 0.; - - scale = m_lambda * Q2; - - return Scale(scale, scale); -} - -Q2Multiplier::Q2Multiplier(const Q2Multiplier& other) : - ScaleModule(other) { - m_lambda = other.m_lambda; -} - -void Q2Multiplier::initModule() { - ScaleModule::initModule(); -} - -void Q2Multiplier::isModuleWellConfigured() { - ScaleModule::isModuleWellConfigured(); -} - -void Q2Multiplier::configure(const ElemUtils::Parameters ¶meters) { - if (parameters.isAvailable(Q2Multiplier::PARAMETER_NAME_LAMBDA)) { - m_lambda = parameters.getLastAvailable().toDouble(); - - info(__func__, - ElemUtils::Formatter() << Q2Multiplier::PARAMETER_NAME_LAMBDA - << " configured with value = " << m_lambda); - } - - ScaleModule::configure(parameters); -} diff --git a/src/partons/modules/scale/ScaleQ2Multiplier.cpp b/src/partons/modules/scale/ScaleQ2Multiplier.cpp new file mode 100644 index 00000000..f8ced8be --- /dev/null +++ b/src/partons/modules/scale/ScaleQ2Multiplier.cpp @@ -0,0 +1,60 @@ +#include +#include + +#include "../../../../include/partons/beans/Scale.h" +#include "../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../include/partons/modules/scale/ScaleQ2Multiplier.h" + +const std::string ScaleQ2Multiplier::PARAMETER_NAME_LAMBDA = "lambda"; + +// Initialise [class]::classId with a unique name. +const unsigned int ScaleQ2Multiplier::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new ScaleQ2Multiplier("ScaleQ2Multiplier")); + +ScaleQ2Multiplier::ScaleQ2Multiplier(const std::string &className) : + ScaleModule(className), m_lambda(1.) { +} + +ScaleQ2Multiplier::~ScaleQ2Multiplier() { +} + +ScaleQ2Multiplier* ScaleQ2Multiplier::clone() const { + return new ScaleQ2Multiplier(*this); +} + +Scale ScaleQ2Multiplier::compute(double Q2) { + initModule(); + isModuleWellConfigured(); + + double scale = 0.; + + scale = m_lambda * Q2; + + return Scale(scale, scale); +} + +ScaleQ2Multiplier::ScaleQ2Multiplier(const ScaleQ2Multiplier& other) : + ScaleModule(other) { + m_lambda = other.m_lambda; +} + +void ScaleQ2Multiplier::initModule() { + ScaleModule::initModule(); +} + +void ScaleQ2Multiplier::isModuleWellConfigured() { + ScaleModule::isModuleWellConfigured(); +} + +void ScaleQ2Multiplier::configure(const ElemUtils::Parameters ¶meters) { + if (parameters.isAvailable(ScaleQ2Multiplier::PARAMETER_NAME_LAMBDA)) { + m_lambda = parameters.getLastAvailable().toDouble(); + + info(__func__, + ElemUtils::Formatter() << ScaleQ2Multiplier::PARAMETER_NAME_LAMBDA + << " configured with value = " << m_lambda); + } + + ScaleModule::configure(parameters); +} diff --git a/src/partons/modules/xb_to_xi/XBToXi.cpp b/src/partons/modules/xb_to_xi/XBToXi.cpp deleted file mode 100644 index 96f0b30f..00000000 --- a/src/partons/modules/xb_to_xi/XBToXi.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "../../../../include/partons/modules/xb_to_xi/XBToXi.h" - -#include "../../../../include/partons/BaseObjectRegistry.h" - -// Initialise [class]::classId with a unique name. -const unsigned int XBToXi::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new XBToXi("XBToXi")); - -XBToXi::XBToXi(const std::string &className) : - XiConverterModule(className) { -} - -XBToXi::~XBToXi() { -} - -XBToXi* XBToXi::clone() const { - return new XBToXi(*this); -} - -double XBToXi::compute(double xB, double t, double Q2) { - initModule(); - isModuleWellConfigured(); - - return (xB / (2 - xB)); -} - -XBToXi::XBToXi(const XBToXi& other) : - XiConverterModule(other) { -} - -void XBToXi::initModule() { - XiConverterModule::initModule(); -} - -void XBToXi::isModuleWellConfigured() { - XiConverterModule::isModuleWellConfigured(); -} - diff --git a/src/partons/modules/xb_to_xi/XiConverterXBToXi.cpp b/src/partons/modules/xb_to_xi/XiConverterXBToXi.cpp new file mode 100644 index 00000000..3cef2aec --- /dev/null +++ b/src/partons/modules/xb_to_xi/XiConverterXBToXi.cpp @@ -0,0 +1,38 @@ +#include "../../../../include/partons/BaseObjectRegistry.h" +#include "../../../../include/partons/modules/xb_to_xi/XiConverterXBToXi.h" + +// Initialise [class]::classId with a unique name. +const unsigned int XiConverterXBToXi::classId = + BaseObjectRegistry::getInstance()->registerBaseObject( + new XiConverterXBToXi("XiConverterXBToXi")); + +XiConverterXBToXi::XiConverterXBToXi(const std::string &className) : + XiConverterModule(className) { +} + +XiConverterXBToXi::~XiConverterXBToXi() { +} + +XiConverterXBToXi* XiConverterXBToXi::clone() const { + return new XiConverterXBToXi(*this); +} + +double XiConverterXBToXi::compute(double xB, double t, double Q2) { + initModule(); + isModuleWellConfigured(); + + return (xB / (2 - xB)); +} + +XiConverterXBToXi::XiConverterXBToXi(const XiConverterXBToXi& other) : + XiConverterModule(other) { +} + +void XiConverterXBToXi::initModule() { + XiConverterModule::initModule(); +} + +void XiConverterXBToXi::isModuleWellConfigured() { + XiConverterModule::isModuleWellConfigured(); +} + -- GitLab From 37dfe54ac76d880cbcd4641caf19920b372b886d Mon Sep 17 00:00:00 2001 From: Pawel Sznajder Date: Fri, 21 Jul 2017 12:06:13 -0400 Subject: [PATCH 3/5] Remove obsolete modules #27 Include Herve's remarks concerning renaming #13 --- include/partons/modules/gpd/GK11Gluonless.h | 231 -- .../partons/modules/gpd/GK11ModelNoGluons.h | 51 - .../partons/modules/gpd/GK11ModelOnlyGluons.h | 231 -- include/partons/modules/gpd/GK16ModelTest.h | 232 -- .../partons/modules/gpd/GPDGK11Gluonless.h | 231 -- include/partons/modules/gpd/GPDGK11NoGluons.h | 51 - include/partons/modules/gpd/GPDGK11NoQuarks.h | 48 - .../partons/modules/gpd/GPDGK11OnlyGluons.h | 231 -- include/partons/modules/gpd/GPDGK16Test.h | 232 -- include/partons/modules/gpd/GPDMPSSW13.h | 2 +- .../partons/modules/gpd/GPDMPSSW13NoGluons.h | 48 - .../partons/modules/gpd/GPDMPSSW13WithDTerm.h | 293 --- include/partons/modules/gpd/MPSSW13Model.h | 300 --- .../modules/gpd/MPSSW13ModelNoGluons.h | 48 - .../modules/gpd/MPSSW13WithDTermModel.h | 293 --- .../GPDSubtractionConstantMMS13.h | 90 +- .../MMS13SubtractionConstantModel.h | 88 - ...SAutSinPhiMPhiS.h => DVCSAutSinPhiMPhis.h} | 14 +- ...SCos0Phi.h => DVCSAutSinPhiMPhisCos0Phi.h} | 18 +- .../DVCSCrossSectionDifferenceLUMinus.h | 0 .../modules/process/DVCS/DVCSProcessBMJ12BH.h | 199 -- .../process/DVCS/DVCSProcessBMJ12DVCS.h | 199 -- .../process/DVCS/DVCSProcessBMJ12INT.h | 199 -- src/partons/modules/gpd/GK11Gluonless.cpp | 1883 ---------------- src/partons/modules/gpd/GK11ModelNoGluons.cpp | 127 -- .../modules/gpd/GK11ModelOnlyGluons.cpp | 1902 ---------------- src/partons/modules/gpd/GK16ModelTest.cpp | 1927 ----------------- .../modules/gpd/GK16NumericalModel.cpp | 1538 ------------- src/partons/modules/gpd/GPDGK11Gluonless.cpp | 1882 ---------------- src/partons/modules/gpd/GPDGK11NoGluons.cpp | 126 -- src/partons/modules/gpd/GPDGK11NoQuarks.cpp | 95 - src/partons/modules/gpd/GPDGK11OnlyGluons.cpp | 1901 ---------------- src/partons/modules/gpd/GPDGK16Numerical.cpp | 7 +- src/partons/modules/gpd/GPDGK16Test.cpp | 1926 ---------------- src/partons/modules/gpd/GPDMMS13.cpp | 1 + src/partons/modules/gpd/GPDMPSSW13.cpp | 6 + .../modules/gpd/GPDMPSSW13NoGluons.cpp | 83 - .../modules/gpd/GPDMPSSW13WithDTerm.cpp | 1361 ------------ src/partons/modules/gpd/GPDVGG99.cpp | 2 + src/partons/modules/gpd/MMS13Model.cpp | 450 ---- src/partons/modules/gpd/MPSSW13Model.cpp | 1335 ------------ .../modules/gpd/MPSSW13ModelNoGluons.cpp | 84 - .../modules/gpd/MPSSW13WithDTermModel.cpp | 1368 ------------ src/partons/modules/gpd/VGGModel.cpp | 995 --------- .../GPDSubtractionConstantMMS13.cpp | 104 +- .../MMS13SubtractionConstantModel.cpp | 112 - ...SinPhiMPhiS.cpp => DVCSAutSinPhiMPhis.cpp} | 19 +- ...0Phi.cpp => DVCSAutSinPhiMPhisCos0Phi.cpp} | 33 +- .../DVCSCrossSectionDifferenceLUMinus.cpp | 2 +- .../process/DVCS/DVCSProcessBMJ12BH.cpp | 1407 ------------ .../process/DVCS/DVCSProcessBMJ12DVCS.cpp | 1394 ------------ .../process/DVCS/DVCSProcessBMJ12INT.cpp | 1394 ------------ 52 files changed, 168 insertions(+), 26625 deletions(-) delete mode 100644 include/partons/modules/gpd/GK11Gluonless.h delete mode 100644 include/partons/modules/gpd/GK11ModelNoGluons.h delete mode 100644 include/partons/modules/gpd/GK11ModelOnlyGluons.h delete mode 100644 include/partons/modules/gpd/GK16ModelTest.h delete mode 100644 include/partons/modules/gpd/GPDGK11Gluonless.h delete mode 100644 include/partons/modules/gpd/GPDGK11NoGluons.h delete mode 100644 include/partons/modules/gpd/GPDGK11NoQuarks.h delete mode 100644 include/partons/modules/gpd/GPDGK11OnlyGluons.h delete mode 100644 include/partons/modules/gpd/GPDGK16Test.h delete mode 100644 include/partons/modules/gpd/GPDMPSSW13NoGluons.h delete mode 100644 include/partons/modules/gpd/GPDMPSSW13WithDTerm.h delete mode 100644 include/partons/modules/gpd/MPSSW13Model.h delete mode 100644 include/partons/modules/gpd/MPSSW13ModelNoGluons.h delete mode 100644 include/partons/modules/gpd/MPSSW13WithDTermModel.h delete mode 100644 include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h rename include/partons/modules/observable/DVCS/asymmetry/{DVCSAutSinPhiMPhiS.h => DVCSAutSinPhiMPhis.h} (83%) rename include/partons/modules/observable/DVCS/asymmetry/{DVCSAutSinPhiMPhiSCos0Phi.h => DVCSAutSinPhiMPhisCos0Phi.h} (77%) rename include/partons/modules/observable/DVCS/{cross_section_difference => cross_section}/DVCSCrossSectionDifferenceLUMinus.h (100%) delete mode 100644 include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h delete mode 100644 include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h delete mode 100644 include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h delete mode 100644 src/partons/modules/gpd/GK11Gluonless.cpp delete mode 100644 src/partons/modules/gpd/GK11ModelNoGluons.cpp delete mode 100644 src/partons/modules/gpd/GK11ModelOnlyGluons.cpp delete mode 100644 src/partons/modules/gpd/GK16ModelTest.cpp delete mode 100644 src/partons/modules/gpd/GK16NumericalModel.cpp delete mode 100644 src/partons/modules/gpd/GPDGK11Gluonless.cpp delete mode 100644 src/partons/modules/gpd/GPDGK11NoGluons.cpp delete mode 100644 src/partons/modules/gpd/GPDGK11NoQuarks.cpp delete mode 100644 src/partons/modules/gpd/GPDGK11OnlyGluons.cpp delete mode 100644 src/partons/modules/gpd/GPDGK16Test.cpp delete mode 100644 src/partons/modules/gpd/GPDMPSSW13NoGluons.cpp delete mode 100644 src/partons/modules/gpd/GPDMPSSW13WithDTerm.cpp delete mode 100644 src/partons/modules/gpd/MMS13Model.cpp delete mode 100644 src/partons/modules/gpd/MPSSW13Model.cpp delete mode 100644 src/partons/modules/gpd/MPSSW13ModelNoGluons.cpp delete mode 100644 src/partons/modules/gpd/MPSSW13WithDTermModel.cpp delete mode 100644 src/partons/modules/gpd/VGGModel.cpp delete mode 100644 src/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.cpp rename src/partons/modules/observable/DVCS/asymmetry/{DVCSAutSinPhiMPhiS.cpp => DVCSAutSinPhiMPhis.cpp} (70%) rename src/partons/modules/observable/DVCS/asymmetry/{DVCSAutSinPhiMPhiSCos0Phi.cpp => DVCSAutSinPhiMPhisCos0Phi.cpp} (60%) rename src/partons/modules/observable/DVCS/{cross_section_difference => cross_section}/DVCSCrossSectionDifferenceLUMinus.cpp (96%) delete mode 100644 src/partons/modules/process/DVCS/DVCSProcessBMJ12BH.cpp delete mode 100644 src/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.cpp delete mode 100644 src/partons/modules/process/DVCS/DVCSProcessBMJ12INT.cpp diff --git a/include/partons/modules/gpd/GK11Gluonless.h b/include/partons/modules/gpd/GK11Gluonless.h deleted file mode 100644 index 8218044d..00000000 --- a/include/partons/modules/gpd/GK11Gluonless.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef GK11_GLUONLESS_H -#define GK11_GLUONLESS_H - -/** - * @file GK11Gluonless.h - * @author Bryan BERTHOU (CEA Saclay) - * @author Herve MOUTARDE (CEA Saclay) - * @date 2014 - * @version 2.0 - * - * @class GK11Gluonless - * - * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. - * - * !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) - * - * - * August 2015 : Tested and approved by Pawel Sznajder - */ - -#include -#include - -#include "../GPDModule.h" - -//TODO finir les messages de debug dans toutes les fonctions -//TODO supprimer au maximum les pointers qui ne sont pas obligatoires - -class GK11Gluonless: public GPDModule { -public: - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - /** - * Default constructor - */ - // GK11Gluonless(); - GK11Gluonless(const std::string &className); - - /** - * Default destructor - */ - virtual ~GK11Gluonless(); - - virtual GK11Gluonless* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString() const; - - // ##### GETTERS & SETTERS ##### - - double getB0() const; - double getC1() const; - double getC2() const; - double getC3() const; - double getC4() const; - double getC5() const; - double getC6() const; - double getC7() const; - double getC8() const; - const std::vector& getEdval1mtab() const; - const std::vector& getEdval1tab() const; - const std::vector& getEi1tab() const; - const std::vector& getEs1tab() const; - const std::vector& getEtdval1mtab() const; - const std::vector& getEtdval1tab() const; - const std::vector& getEtuval1mtab() const; - const std::vector& getEtuval1tab() const; - const std::vector& getEuval1mtab() const; - const std::vector& getEuval1tab() const; - double getEdValMx() const; - double getEtdValMx() const; - double getEtuValMx() const; - double getEuValMx() const; - double getHdValMx() const; - double getHtdValMx() const; - double getHtuValMx() const; - double getHuValMx() const; - double getL() const; - const std::vector& getHdval1mtab() const; - const std::vector& getHdval1tab() const; - const std::vector& getHi1tab() const; - const std::vector& getHs1tab() const; - const std::vector& getHtdval1mtab() const; - const std::vector& getHtdval1tab() const; - const std::vector& getHti1tab() const; - const std::vector& getHtuval1mtab() const; - const std::vector& getHtuval1tab() const; - const std::vector& getHuval1mtab() const; - const std::vector& getHuval1tab() const; - double getKappaS() const; - double getEdval() const; - double getEgluon() const; - double getEsea() const; - double getEtdval() const; - double getEtgluon() const; - double getEtsea() const; - double getEtuval() const; - double getEuval() const; - double getHdval() const; - double getHgluon() const; - double getHsea() const; - double getHtdval() const; - double getHtgluon() const; - double getHtsea() const; - double getHtuval() const; - double getHuval() const; - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - GK11Gluonless(const GK11Gluonless& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - //GPDResultData compute(GPDComputeType gpdComputeType); - - virtual PartonDistribution computeH(); ///< Compute GPD H at considered kinematics - virtual PartonDistribution computeE(); ///< Compute GPD E at considered kinematics - virtual PartonDistribution computeHt(); ///< Compute GPD Ht at considered kinematics - virtual PartonDistribution computeEt(); ///< Compute GPD Et at considered kinematics - -// double computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s); - - void calculateHCoefs(); - void calculateECoefs(); - void calculateHtCoefs(); - void calculateEtCoefs(); - - double c1, c2, c3, c4, c5, c6, c7, c8; // Coefficients of the expansion of CTEQ PDF in terms of half-integer powers of beta (eq. (26)) - double b0; // Exponential t-dependence (eq. (22)) - double fL; - - std::vector Hi1tab; ///< Hi1(i=0,0.5,1,1.5) for gluons - -private: - - double kappa_s; // Flavour symmetry breaking factor, eq. (36) - - double fHuValMx; ///< HuVal( - fx ) - double fHdValMx; ///< HdVal( - fx ) - double fEuValMx; ///< HuVal( - fx ) - double fEdValMx; ///< HdVal( - fx ) - double fHtuValMx; ///< HuVal( - fx ) - double fHtdValMx; ///< HdVal( - fx ) - double fEtuValMx; ///< HuVal( - fx ) - double fEtdValMx; ///< HdVal( - fx ) - - double kHgluon; ///< Exponent of correlated x-t dependence - double kHsea; ///< Exponent of correlated x-t dependence - double kHuval; ///< Exponent of correlated x-t dependence - double kHdval; ///< Exponent of correlated x-t dependence - - double kEgluon; ///< Exponent of correlated x-t dependence - double kEsea; ///< Exponent of correlated x-t dependence - double kEuval; ///< Exponent of correlated x-t dependence - double kEdval; ///< Exponent of correlated x-t dependence - - double kHtgluon; ///< Exponent of correlated x-t dependence - double kHtsea; ///< Exponent of correlated x-t dependence - double kHtuval; ///< Exponent of correlated x-t dependence - double kHtdval; ///< Exponent of correlated x-t dependence - - double kEtgluon; ///< Exponent of correlated x-t dependence - double kEtsea; ///< Exponent of correlated x-t dependence - double kEtuval; ///< Exponent of correlated x-t dependence - double kEtdval; ///< Exponent of correlated x-t dependence - - std::vector Huval1tab; ///< Hval1(i=0,0.5,1) for valence u - std::vector Hdval1tab; ///< Hval1(i=0,0.5,1) for valence d - std::vector Huval1mtab; ///< Hval1(i=0,0.5,1) for valence u for -xb - std::vector Hdval1mtab; ///< Hval1(i=0,0.5,1) for valence d for -xb - std::vector Hs1tab; ///< Hs1(i=0,0.5,1,1.5) for sea, same for u, d, s - - std::vector Euval1tab; ///< Eval1(i=0,1) for valence u - std::vector Edval1tab; ///< Eval1(i=0,..,7) for valence d - std::vector Euval1mtab; ///< Eval1(i=0,1) for valence u for -xb - std::vector Edval1mtab; ///< Eval1(i=0,..,7) for valence d for -xb - std::vector Es1tab; ///< Es1(i=0,1,2) for sea, same for u, d, s - std::vector Ei1tab; ///< Ei1(i=0,1) for gluons - - std::vector Htuval1tab; ///< Htval1(i=0,1,2) for valence u - std::vector Htdval1tab; ///< Htval1(i=0,1,2) for valence d - std::vector Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb - std::vector Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb - std::vector Hti1tab; ///< Hti1(i=0,0.5,1) for gluons - - std::vector Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u - std::vector Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d - std::vector Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb - std::vector Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb - - void calculateHKas(); - void calculateEKas(); - void calculateHtKas(); - void calculateEtKas(); - - double Et_pole(double x); ///< Pion pole contribution to Et - - double Hi1(double x, double i, double k); - double Hs1(double x, double i, double k); - double Hval1(double x, double i, double k); - double Ei1(double x, double i, double k); - double Es1(double x, double i, double k); - double Eval1(double x, double i, double k); - double Hti1(double x, double i, double k); - double Htval1(double x, double i, double k); - double Etval1(double x, double i, double k); - - double Hi1_alt(double x, double i, double k); - double Hs1_alt(double x, double i, double k); - double Hval1_alt(double x, double i, double k); - double Ei1_alt(double x, double i, double k); - double Es1_alt(double x, double i, double k); - double Eval1_alt(double x, double i, double k); - double Hti1_alt(double x, double i, double k); - double Htval1_alt(double x, double i, double k); - double Etval1_alt(double x, double i, double k); - -}; - -#endif /* GK11_GLUONLESS_H */ diff --git a/include/partons/modules/gpd/GK11ModelNoGluons.h b/include/partons/modules/gpd/GK11ModelNoGluons.h deleted file mode 100644 index 9fb10b65..00000000 --- a/include/partons/modules/gpd/GK11ModelNoGluons.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * GK11ModelNoGluons.h - * - * Created on: Oct 5, 2015 - * Author: Pawel Sznajder (NCBJ) - */ - -#ifndef GK11MODELNOGLUONS_H_ -#define GK11MODELNOGLUONS_H_ - -#include - -#include "../GPDModule.h" - -class GPDService; - -class GK11ModelNoGluons: public GPDModule { - -public: - - static const unsigned int classId; - - GK11ModelNoGluons(const std::string &className); - - virtual ~GK11ModelNoGluons(); - - virtual GK11ModelNoGluons* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString() const; - -protected: - - GK11ModelNoGluons(const GK11ModelNoGluons& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - virtual PartonDistribution computeH(); - virtual PartonDistribution computeE(); - virtual PartonDistribution computeHt(); - virtual PartonDistribution computeEt(); - -private: - - GPDService* pGPDService; - GPDModule* GKmodel; -}; - -#endif /* GK11MODELNOGLUONS_H_ */ diff --git a/include/partons/modules/gpd/GK11ModelOnlyGluons.h b/include/partons/modules/gpd/GK11ModelOnlyGluons.h deleted file mode 100644 index 5ea73ad5..00000000 --- a/include/partons/modules/gpd/GK11ModelOnlyGluons.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef GK11_OG_MODEL_H -#define GK11_OG_MODEL_H - -/** - * @file GKModelOnlyGluons.h - * @author Bryan BERTHOU (CEA Saclay) - * @author Herve MOUTARDE (CEA Saclay) - * @date 2014 - * @version 2.0 - * - * @class GK11ModelOnlyGluons - * - * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. - * - * !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) - * - * - * August 2015 : Tested and approved by Pawel Sznajder - */ - -#include -#include - -#include "../GPDModule.h" - -//TODO finir les messages de debug dans toutes les fonctions -//TODO supprimer au maximum les pointers qui ne sont pas obligatoires - -class GK11ModelOnlyGluons: public GPDModule { -public: - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - /** - * Default constructor - */ - // GK11Model(); - GK11ModelOnlyGluons(const std::string &className); - - /** - * Default destructor - */ - virtual ~GK11ModelOnlyGluons(); - - virtual GK11ModelOnlyGluons* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString() const; - - // ##### GETTERS & SETTERS ##### - - double getB0() const; - double getC1() const; - double getC2() const; - double getC3() const; - double getC4() const; - double getC5() const; - double getC6() const; - double getC7() const; - double getC8() const; - const std::vector& getEdval1mtab() const; - const std::vector& getEdval1tab() const; - const std::vector& getEi1tab() const; - const std::vector& getEs1tab() const; - const std::vector& getEtdval1mtab() const; - const std::vector& getEtdval1tab() const; - const std::vector& getEtuval1mtab() const; - const std::vector& getEtuval1tab() const; - const std::vector& getEuval1mtab() const; - const std::vector& getEuval1tab() const; - double getEdValMx() const; - double getEtdValMx() const; - double getEtuValMx() const; - double getEuValMx() const; - double getHdValMx() const; - double getHtdValMx() const; - double getHtuValMx() const; - double getHuValMx() const; - double getL() const; - const std::vector& getHdval1mtab() const; - const std::vector& getHdval1tab() const; - const std::vector& getHi1tab() const; - const std::vector& getHs1tab() const; - const std::vector& getHtdval1mtab() const; - const std::vector& getHtdval1tab() const; - const std::vector& getHti1tab() const; - const std::vector& getHtuval1mtab() const; - const std::vector& getHtuval1tab() const; - const std::vector& getHuval1mtab() const; - const std::vector& getHuval1tab() const; - double getKappaS() const; - double getEdval() const; - double getEgluon() const; - double getEsea() const; - double getEtdval() const; - double getEtgluon() const; - double getEtsea() const; - double getEtuval() const; - double getEuval() const; - double getHdval() const; - double getHgluon() const; - double getHsea() const; - double getHtdval() const; - double getHtgluon() const; - double getHtsea() const; - double getHtuval() const; - double getHuval() const; - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - GK11ModelOnlyGluons(const GK11ModelOnlyGluons& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - //GPDResultData compute(GPDComputeType gpdComputeType); - - virtual PartonDistribution computeH(); ///< Compute GPD H at considered kinematics - virtual PartonDistribution computeE(); ///< Compute GPD E at considered kinematics - virtual PartonDistribution computeHt(); ///< Compute GPD Ht at considered kinematics - virtual PartonDistribution computeEt(); ///< Compute GPD Et at considered kinematics - -// double computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s); - - void calculateHCoefs(); - void calculateECoefs(); - void calculateHtCoefs(); - void calculateEtCoefs(); - - double c1, c2, c3, c4, c5, c6, c7, c8; // Coefficients of the expansion of CTEQ PDF in terms of half-integer powers of beta (eq. (26)) - double b0; // Exponential t-dependence (eq. (22)) - double fL; - - std::vector Hi1tab; ///< Hi1(i=0,0.5,1,1.5) for gluons - -private: - - double kappa_s; // Flavour symmetry breaking factor, eq. (36) - - double fHuValMx; ///< HuVal( - fx ) - double fHdValMx; ///< HdVal( - fx ) - double fEuValMx; ///< HuVal( - fx ) - double fEdValMx; ///< HdVal( - fx ) - double fHtuValMx; ///< HuVal( - fx ) - double fHtdValMx; ///< HdVal( - fx ) - double fEtuValMx; ///< HuVal( - fx ) - double fEtdValMx; ///< HdVal( - fx ) - - double kHgluon; ///< Exponent of correlated x-t dependence - double kHsea; ///< Exponent of correlated x-t dependence - double kHuval; ///< Exponent of correlated x-t dependence - double kHdval; ///< Exponent of correlated x-t dependence - - double kEgluon; ///< Exponent of correlated x-t dependence - double kEsea; ///< Exponent of correlated x-t dependence - double kEuval; ///< Exponent of correlated x-t dependence - double kEdval; ///< Exponent of correlated x-t dependence - - double kHtgluon; ///< Exponent of correlated x-t dependence - double kHtsea; ///< Exponent of correlated x-t dependence - double kHtuval; ///< Exponent of correlated x-t dependence - double kHtdval; ///< Exponent of correlated x-t dependence - - double kEtgluon; ///< Exponent of correlated x-t dependence - double kEtsea; ///< Exponent of correlated x-t dependence - double kEtuval; ///< Exponent of correlated x-t dependence - double kEtdval; ///< Exponent of correlated x-t dependence - - std::vector Huval1tab; ///< Hval1(i=0,0.5,1) for valence u - std::vector Hdval1tab; ///< Hval1(i=0,0.5,1) for valence d - std::vector Huval1mtab; ///< Hval1(i=0,0.5,1) for valence u for -xb - std::vector Hdval1mtab; ///< Hval1(i=0,0.5,1) for valence d for -xb - std::vector Hs1tab; ///< Hs1(i=0,0.5,1,1.5) for sea, same for u, d, s - - std::vector Euval1tab; ///< Eval1(i=0,1) for valence u - std::vector Edval1tab; ///< Eval1(i=0,..,7) for valence d - std::vector Euval1mtab; ///< Eval1(i=0,1) for valence u for -xb - std::vector Edval1mtab; ///< Eval1(i=0,..,7) for valence d for -xb - std::vector Es1tab; ///< Es1(i=0,1,2) for sea, same for u, d, s - std::vector Ei1tab; ///< Ei1(i=0,1) for gluons - - std::vector Htuval1tab; ///< Htval1(i=0,1,2) for valence u - std::vector Htdval1tab; ///< Htval1(i=0,1,2) for valence d - std::vector Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb - std::vector Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb - std::vector Hti1tab; ///< Hti1(i=0,0.5,1) for gluons - - std::vector Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u - std::vector Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d - std::vector Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb - std::vector Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb - - void calculateHKas(); - void calculateEKas(); - void calculateHtKas(); - void calculateEtKas(); - - double Et_pole(double x); ///< Pion pole contribution to Et - - double Hi1(double x, double i, double k); - double Hs1(double x, double i, double k); - double Hval1(double x, double i, double k); - double Ei1(double x, double i, double k); - double Es1(double x, double i, double k); - double Eval1(double x, double i, double k); - double Hti1(double x, double i, double k); - double Htval1(double x, double i, double k); - double Etval1(double x, double i, double k); - - double Hi1_alt(double x, double i, double k); - double Hs1_alt(double x, double i, double k); - double Hval1_alt(double x, double i, double k); - double Ei1_alt(double x, double i, double k); - double Es1_alt(double x, double i, double k); - double Eval1_alt(double x, double i, double k); - double Hti1_alt(double x, double i, double k); - double Htval1_alt(double x, double i, double k); - double Etval1_alt(double x, double i, double k); - -}; - -#endif /* GK11_OG_MODEL_H */ diff --git a/include/partons/modules/gpd/GK16ModelTest.h b/include/partons/modules/gpd/GK16ModelTest.h deleted file mode 100644 index 4c566367..00000000 --- a/include/partons/modules/gpd/GK16ModelTest.h +++ /dev/null @@ -1,232 +0,0 @@ -#ifndef GK16_MODELTEST_H -#define GK16_MODELTEST_H - -/** - * @file GK16ModelTest.h - * @author Bryan BERTHOU (CEA Saclay) - * @author Herve MOUTARDE (CEA Saclay) - * @date 2014 - * @version 2.0 - * - * @class GK16ModelTest - * - * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. - * - * !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) - * - * - * August 2015 : Tested and approved by Pawel Sznajder - * November 2016 : Update from GK11 to GK16 to correct pion pole issue in Et by Luca COlaneri and Pawel Sznajder - */ - -#include -#include - -#include "../GPDModule.h" - -//TODO finir les messages de debug dans toutes les fonctions -//TODO supprimer au maximum les pointers qui ne sont pas obligatoires - -class GK16ModelTest: public GPDModule { -public: - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - /** - * Default constructor - */ - // GK16ModelTest(); - GK16ModelTest(const std::string &className); - - /** - * Default destructor - */ - virtual ~GK16ModelTest(); - - virtual GK16ModelTest* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString() const; - - // ##### GETTERS & SETTERS ##### - - double getB0() const; - double getC1() const; - double getC2() const; - double getC3() const; - double getC4() const; - double getC5() const; - double getC6() const; - double getC7() const; - double getC8() const; - const std::vector& getEdval1mtab() const; - const std::vector& getEdval1tab() const; - const std::vector& getEi1tab() const; - const std::vector& getEs1tab() const; - const std::vector& getEtdval1mtab() const; - const std::vector& getEtdval1tab() const; - const std::vector& getEtuval1mtab() const; - const std::vector& getEtuval1tab() const; - const std::vector& getEuval1mtab() const; - const std::vector& getEuval1tab() const; - double getEdValMx() const; - double getEtdValMx() const; - double getEtuValMx() const; - double getEuValMx() const; - double getHdValMx() const; - double getHtdValMx() const; - double getHtuValMx() const; - double getHuValMx() const; - double getL() const; - const std::vector& getHdval1mtab() const; - const std::vector& getHdval1tab() const; - const std::vector& getHi1tab() const; - const std::vector& getHs1tab() const; - const std::vector& getHtdval1mtab() const; - const std::vector& getHtdval1tab() const; - const std::vector& getHti1tab() const; - const std::vector& getHtuval1mtab() const; - const std::vector& getHtuval1tab() const; - const std::vector& getHuval1mtab() const; - const std::vector& getHuval1tab() const; - double getKappaS() const; - double getEdval() const; - double getEgluon() const; - double getEsea() const; - double getEtdval() const; - double getEtgluon() const; - double getEtsea() const; - double getEtuval() const; - double getEuval() const; - double getHdval() const; - double getHgluon() const; - double getHsea() const; - double getHtdval() const; - double getHtgluon() const; - double getHtsea() const; - double getHtuval() const; - double getHuval() const; - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - GK16ModelTest(const GK16ModelTest& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - //GPDResultData compute(GPDComputeType gpdComputeType); - - virtual PartonDistribution computeH(); ///< Compute GPD H at considered kinematics - virtual PartonDistribution computeE(); ///< Compute GPD E at considered kinematics - virtual PartonDistribution computeHt(); ///< Compute GPD Ht at considered kinematics - virtual PartonDistribution computeEt(); ///< Compute GPD Et at considered kinematics - -// double computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s); - - void calculateHCoefs(); - void calculateECoefs(); - void calculateHtCoefs(); - void calculateEtCoefs(); - - double c1, c2, c3, c4, c5, c6, c7, c8; // Coefficients of the expansion of CTEQ PDF in terms of half-integer powers of beta (eq. (26)) - double b0; // Exponential t-dependence (eq. (22)) - double fL; - - std::vector Hi1tab; ///< Hi1(i=0,0.5,1,1.5) for gluons - -private: - - double kappa_s; // Flavour symmetry breaking factor, eq. (36) - - double fHuValMx; ///< HuVal( - fx ) - double fHdValMx; ///< HdVal( - fx ) - double fEuValMx; ///< HuVal( - fx ) - double fEdValMx; ///< HdVal( - fx ) - double fHtuValMx; ///< HuVal( - fx ) - double fHtdValMx; ///< HdVal( - fx ) - double fEtuValMx; ///< HuVal( - fx ) - double fEtdValMx; ///< HdVal( - fx ) - - double kHgluon; ///< Exponent of correlated x-t dependence - double kHsea; ///< Exponent of correlated x-t dependence - double kHuval; ///< Exponent of correlated x-t dependence - double kHdval; ///< Exponent of correlated x-t dependence - - double kEgluon; ///< Exponent of correlated x-t dependence - double kEsea; ///< Exponent of correlated x-t dependence - double kEuval; ///< Exponent of correlated x-t dependence - double kEdval; ///< Exponent of correlated x-t dependence - - double kHtgluon; ///< Exponent of correlated x-t dependence - double kHtsea; ///< Exponent of correlated x-t dependence - double kHtuval; ///< Exponent of correlated x-t dependence - double kHtdval; ///< Exponent of correlated x-t dependence - - double kEtgluon; ///< Exponent of correlated x-t dependence - double kEtsea; ///< Exponent of correlated x-t dependence - double kEtuval; ///< Exponent of correlated x-t dependence - double kEtdval; ///< Exponent of correlated x-t dependence - - std::vector Huval1tab; ///< Hval1(i=0,0.5,1) for valence u - std::vector Hdval1tab; ///< Hval1(i=0,0.5,1) for valence d - std::vector Huval1mtab; ///< Hval1(i=0,0.5,1) for valence u for -xb - std::vector Hdval1mtab; ///< Hval1(i=0,0.5,1) for valence d for -xb - std::vector Hs1tab; ///< Hs1(i=0,0.5,1,1.5) for sea, same for u, d, s - - std::vector Euval1tab; ///< Eval1(i=0,1) for valence u - std::vector Edval1tab; ///< Eval1(i=0,..,7) for valence d - std::vector Euval1mtab; ///< Eval1(i=0,1) for valence u for -xb - std::vector Edval1mtab; ///< Eval1(i=0,..,7) for valence d for -xb - std::vector Es1tab; ///< Es1(i=0,1,2) for sea, same for u, d, s - std::vector Ei1tab; ///< Ei1(i=0,1) for gluons - - std::vector Htuval1tab; ///< Htval1(i=0,1,2) for valence u - std::vector Htdval1tab; ///< Htval1(i=0,1,2) for valence d - std::vector Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb - std::vector Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb - std::vector Hti1tab; ///< Hti1(i=0,0.5,1) for gluons - - std::vector Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u - std::vector Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d - std::vector Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb - std::vector Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb - - void calculateHKas(); - void calculateEKas(); - void calculateHtKas(); - void calculateEtKas(); - - double Et_pole(double x); ///< Pion pole contribution to Et - - double Hi1(double x, double i, double k); - double Hs1(double x, double i, double k); - double Hval1(double x, double i, double k); - double Ei1(double x, double i, double k); - double Es1(double x, double i, double k); - double Eval1(double x, double i, double k); - double Hti1(double x, double i, double k); - double Htval1(double x, double i, double k); - double Etval1(double x, double i, double k); - - double Hi1_alt(double x, double i, double k); - double Hs1_alt(double x, double i, double k); - double Hval1_alt(double x, double i, double k); - double Ei1_alt(double x, double i, double k); - double Es1_alt(double x, double i, double k); - double Eval1_alt(double x, double i, double k); - double Hti1_alt(double x, double i, double k); - double Htval1_alt(double x, double i, double k); - double Etval1_alt(double x, double i, double k); - -}; - -#endif /* GK16_MODELTEST_H */ diff --git a/include/partons/modules/gpd/GPDGK11Gluonless.h b/include/partons/modules/gpd/GPDGK11Gluonless.h deleted file mode 100644 index c4e78bae..00000000 --- a/include/partons/modules/gpd/GPDGK11Gluonless.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef GPDGK11GLUONLESS_H -#define GPDGK11GLUONLESS_H - -/** - * @file GPDGK11Gluonless.h - * @author Bryan BERTHOU (CEA Saclay) - * @author Herve MOUTARDE (CEA Saclay) - * @date 2014 - * @version 2.0 - * - * @class GPDGK11Gluonless - * - * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. - * - * !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) - * - * - * August 2015 : Tested and approved by Pawel Sznajder - */ - -#include -#include - -#include "../GPDModule.h" - -//TODO finir les messages de debug dans toutes les fonctions -//TODO supprimer au maximum les pointers qui ne sont pas obligatoires - -class GPDGK11Gluonless: public GPDModule { -public: - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - /** - * Default constructor - */ - // GK11Gluonless(); - GPDGK11Gluonless(const std::string &className); - - /** - * Default destructor - */ - virtual ~GPDGK11Gluonless(); - - virtual GPDGK11Gluonless* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString(); - - // ##### GETTERS & SETTERS ##### - - double getB0() const; - double getC1() const; - double getC2() const; - double getC3() const; - double getC4() const; - double getC5() const; - double getC6() const; - double getC7() const; - double getC8() const; - const std::vector& getEdval1mtab() const; - const std::vector& getEdval1tab() const; - const std::vector& getEi1tab() const; - const std::vector& getEs1tab() const; - const std::vector& getEtdval1mtab() const; - const std::vector& getEtdval1tab() const; - const std::vector& getEtuval1mtab() const; - const std::vector& getEtuval1tab() const; - const std::vector& getEuval1mtab() const; - const std::vector& getEuval1tab() const; - double getEdValMx() const; - double getEtdValMx() const; - double getEtuValMx() const; - double getEuValMx() const; - double getHdValMx() const; - double getHtdValMx() const; - double getHtuValMx() const; - double getHuValMx() const; - double getL() const; - const std::vector& getHdval1mtab() const; - const std::vector& getHdval1tab() const; - const std::vector& getHi1tab() const; - const std::vector& getHs1tab() const; - const std::vector& getHtdval1mtab() const; - const std::vector& getHtdval1tab() const; - const std::vector& getHti1tab() const; - const std::vector& getHtuval1mtab() const; - const std::vector& getHtuval1tab() const; - const std::vector& getHuval1mtab() const; - const std::vector& getHuval1tab() const; - double getKappaS() const; - double getEdval() const; - double getEgluon() const; - double getEsea() const; - double getEtdval() const; - double getEtgluon() const; - double getEtsea() const; - double getEtuval() const; - double getEuval() const; - double getHdval() const; - double getHgluon() const; - double getHsea() const; - double getHtdval() const; - double getHtgluon() const; - double getHtsea() const; - double getHtuval() const; - double getHuval() const; - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - GPDGK11Gluonless(const GPDGK11Gluonless& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - //GPDResultData compute(GPDComputeType gpdComputeType); - - virtual PartonDistribution computeH(); ///< Compute GPD H at considered kinematics - virtual PartonDistribution computeE(); ///< Compute GPD E at considered kinematics - virtual PartonDistribution computeHt(); ///< Compute GPD Ht at considered kinematics - virtual PartonDistribution computeEt(); ///< Compute GPD Et at considered kinematics - -// double computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s); - - void calculateHCoefs(); - void calculateECoefs(); - void calculateHtCoefs(); - void calculateEtCoefs(); - - double c1, c2, c3, c4, c5, c6, c7, c8; // Coefficients of the expansion of CTEQ PDF in terms of half-integer powers of beta (eq. (26)) - double b0; // Exponential t-dependence (eq. (22)) - double fL; - - std::vector Hi1tab; ///< Hi1(i=0,0.5,1,1.5) for gluons - -private: - - double kappa_s; // Flavour symmetry breaking factor, eq. (36) - - double fHuValMx; ///< HuVal( - fx ) - double fHdValMx; ///< HdVal( - fx ) - double fEuValMx; ///< HuVal( - fx ) - double fEdValMx; ///< HdVal( - fx ) - double fHtuValMx; ///< HuVal( - fx ) - double fHtdValMx; ///< HdVal( - fx ) - double fEtuValMx; ///< HuVal( - fx ) - double fEtdValMx; ///< HdVal( - fx ) - - double kHgluon; ///< Exponent of correlated x-t dependence - double kHsea; ///< Exponent of correlated x-t dependence - double kHuval; ///< Exponent of correlated x-t dependence - double kHdval; ///< Exponent of correlated x-t dependence - - double kEgluon; ///< Exponent of correlated x-t dependence - double kEsea; ///< Exponent of correlated x-t dependence - double kEuval; ///< Exponent of correlated x-t dependence - double kEdval; ///< Exponent of correlated x-t dependence - - double kHtgluon; ///< Exponent of correlated x-t dependence - double kHtsea; ///< Exponent of correlated x-t dependence - double kHtuval; ///< Exponent of correlated x-t dependence - double kHtdval; ///< Exponent of correlated x-t dependence - - double kEtgluon; ///< Exponent of correlated x-t dependence - double kEtsea; ///< Exponent of correlated x-t dependence - double kEtuval; ///< Exponent of correlated x-t dependence - double kEtdval; ///< Exponent of correlated x-t dependence - - std::vector Huval1tab; ///< Hval1(i=0,0.5,1) for valence u - std::vector Hdval1tab; ///< Hval1(i=0,0.5,1) for valence d - std::vector Huval1mtab; ///< Hval1(i=0,0.5,1) for valence u for -xb - std::vector Hdval1mtab; ///< Hval1(i=0,0.5,1) for valence d for -xb - std::vector Hs1tab; ///< Hs1(i=0,0.5,1,1.5) for sea, same for u, d, s - - std::vector Euval1tab; ///< Eval1(i=0,1) for valence u - std::vector Edval1tab; ///< Eval1(i=0,..,7) for valence d - std::vector Euval1mtab; ///< Eval1(i=0,1) for valence u for -xb - std::vector Edval1mtab; ///< Eval1(i=0,..,7) for valence d for -xb - std::vector Es1tab; ///< Es1(i=0,1,2) for sea, same for u, d, s - std::vector Ei1tab; ///< Ei1(i=0,1) for gluons - - std::vector Htuval1tab; ///< Htval1(i=0,1,2) for valence u - std::vector Htdval1tab; ///< Htval1(i=0,1,2) for valence d - std::vector Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb - std::vector Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb - std::vector Hti1tab; ///< Hti1(i=0,0.5,1) for gluons - - std::vector Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u - std::vector Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d - std::vector Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb - std::vector Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb - - void calculateHKas(); - void calculateEKas(); - void calculateHtKas(); - void calculateEtKas(); - - double Et_pole(double x); ///< Pion pole contribution to Et - - double Hi1(double x, double i, double k); - double Hs1(double x, double i, double k); - double Hval1(double x, double i, double k); - double Ei1(double x, double i, double k); - double Es1(double x, double i, double k); - double Eval1(double x, double i, double k); - double Hti1(double x, double i, double k); - double Htval1(double x, double i, double k); - double Etval1(double x, double i, double k); - - double Hi1_alt(double x, double i, double k); - double Hs1_alt(double x, double i, double k); - double Hval1_alt(double x, double i, double k); - double Ei1_alt(double x, double i, double k); - double Es1_alt(double x, double i, double k); - double Eval1_alt(double x, double i, double k); - double Hti1_alt(double x, double i, double k); - double Htval1_alt(double x, double i, double k); - double Etval1_alt(double x, double i, double k); - -}; - -#endif /* GPDGK11GLUONLESS_H */ diff --git a/include/partons/modules/gpd/GPDGK11NoGluons.h b/include/partons/modules/gpd/GPDGK11NoGluons.h deleted file mode 100644 index db5e31fc..00000000 --- a/include/partons/modules/gpd/GPDGK11NoGluons.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * GPDGK11NoGluons.h - * - * Created on: Oct 5, 2015 - * Author: Pawel Sznajder (NCBJ) - */ - -#ifndef GPDGK11NOGLUONS_H -#define GPDGK11NOGLUONS_H - -#include - -#include "../GPDModule.h" - -class GPDService; - -class GPDGK11NoGluons: public GPDModule { - -public: - - static const unsigned int classId; - - GPDGK11NoGluons(const std::string &className); - - virtual ~GPDGK11NoGluons(); - - virtual GPDGK11NoGluons* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString(); - -protected: - - GPDGK11NoGluons(const GPDGK11NoGluons& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - virtual PartonDistribution computeH(); - virtual PartonDistribution computeE(); - virtual PartonDistribution computeHt(); - virtual PartonDistribution computeEt(); - -private: - - GPDService* pGPDService; - GPDModule* GKmodel; -}; - -#endif /* GPDGK11NOGLUONS_H */ diff --git a/include/partons/modules/gpd/GPDGK11NoQuarks.h b/include/partons/modules/gpd/GPDGK11NoQuarks.h deleted file mode 100644 index 0d088a8d..00000000 --- a/include/partons/modules/gpd/GPDGK11NoQuarks.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef GPDGK11NOQUARKS_H -#define GPDGK11NOQUARKS_H - -/** - * @file GPDGK11NoQuarks.h - * @author Jakub - * @date 13 February 2015 - * @version 1.0 - * - * @class GK11NoQuarksModel - * - * @brief - */ - -#include - -#include "GPDGK11.h" - -class GPDGK11NoQuarks: public GPDGK11 { -public: - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - GPDGK11NoQuarks(const std::string &className); - - virtual ~GPDGK11NoQuarks(); - - virtual GPDGK11NoQuarks* clone() const; - -protected: - GPDGK11NoQuarks(const GPDGK11NoQuarks& other); - -// virtual void isModuleWellConfigured(); -// virtual void initModule(); - - //GPDResultData compute(GPDComputeType gpdComputeType); - - virtual PartonDistribution computeH(); ///< Compute GPD H at considered kinematics - virtual PartonDistribution computeE(); ///< Compute GPD E at considered kinematics - virtual PartonDistribution computeHt(); ///< Compute GPD Ht at considered kinematics - virtual PartonDistribution computeEt(); ///< Compute GPD Et at considered kinematics - -// double computeSinglet(const GPDQuarkFlavorData &quark_u, -// const GPDQuarkFlavorData &quark_d, -// const GPDQuarkFlavorData &quark_s); -}; - -#endif /* GPDGK11NOQUARKS_H */ diff --git a/include/partons/modules/gpd/GPDGK11OnlyGluons.h b/include/partons/modules/gpd/GPDGK11OnlyGluons.h deleted file mode 100644 index a63584f1..00000000 --- a/include/partons/modules/gpd/GPDGK11OnlyGluons.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef GPDGK11ONLYGLUONS_H -#define GPDGK11ONLYGLUONS_H - -/** - * @file GPDGK11OnlyGluons.h - * @author Bryan BERTHOU (CEA Saclay) - * @author Herve MOUTARDE (CEA Saclay) - * @date 2014 - * @version 2.0 - * - * @class GPDGK11OnlyGluons - * - * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. - * - * !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) - * - * - * August 2015 : Tested and approved by Pawel Sznajder - */ - -#include -#include - -#include "../GPDModule.h" - -//TODO finir les messages de debug dans toutes les fonctions -//TODO supprimer au maximum les pointers qui ne sont pas obligatoires - -class GPDGK11OnlyGluons: public GPDModule { -public: - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - /** - * Default constructor - */ - // GK11Model(); - GPDGK11OnlyGluons(const std::string &className); - - /** - * Default destructor - */ - virtual ~GPDGK11OnlyGluons(); - - virtual GPDGK11OnlyGluons* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString(); - - // ##### GETTERS & SETTERS ##### - - double getB0() const; - double getC1() const; - double getC2() const; - double getC3() const; - double getC4() const; - double getC5() const; - double getC6() const; - double getC7() const; - double getC8() const; - const std::vector& getEdval1mtab() const; - const std::vector& getEdval1tab() const; - const std::vector& getEi1tab() const; - const std::vector& getEs1tab() const; - const std::vector& getEtdval1mtab() const; - const std::vector& getEtdval1tab() const; - const std::vector& getEtuval1mtab() const; - const std::vector& getEtuval1tab() const; - const std::vector& getEuval1mtab() const; - const std::vector& getEuval1tab() const; - double getEdValMx() const; - double getEtdValMx() const; - double getEtuValMx() const; - double getEuValMx() const; - double getHdValMx() const; - double getHtdValMx() const; - double getHtuValMx() const; - double getHuValMx() const; - double getL() const; - const std::vector& getHdval1mtab() const; - const std::vector& getHdval1tab() const; - const std::vector& getHi1tab() const; - const std::vector& getHs1tab() const; - const std::vector& getHtdval1mtab() const; - const std::vector& getHtdval1tab() const; - const std::vector& getHti1tab() const; - const std::vector& getHtuval1mtab() const; - const std::vector& getHtuval1tab() const; - const std::vector& getHuval1mtab() const; - const std::vector& getHuval1tab() const; - double getKappaS() const; - double getEdval() const; - double getEgluon() const; - double getEsea() const; - double getEtdval() const; - double getEtgluon() const; - double getEtsea() const; - double getEtuval() const; - double getEuval() const; - double getHdval() const; - double getHgluon() const; - double getHsea() const; - double getHtdval() const; - double getHtgluon() const; - double getHtsea() const; - double getHtuval() const; - double getHuval() const; - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - GPDGK11OnlyGluons(const GPDGK11OnlyGluons& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - //GPDResultData compute(GPDComputeType gpdComputeType); - - virtual PartonDistribution computeH(); ///< Compute GPD H at considered kinematics - virtual PartonDistribution computeE(); ///< Compute GPD E at considered kinematics - virtual PartonDistribution computeHt(); ///< Compute GPD Ht at considered kinematics - virtual PartonDistribution computeEt(); ///< Compute GPD Et at considered kinematics - -// double computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s); - - void calculateHCoefs(); - void calculateECoefs(); - void calculateHtCoefs(); - void calculateEtCoefs(); - - double c1, c2, c3, c4, c5, c6, c7, c8; // Coefficients of the expansion of CTEQ PDF in terms of half-integer powers of beta (eq. (26)) - double b0; // Exponential t-dependence (eq. (22)) - double fL; - - std::vector Hi1tab; ///< Hi1(i=0,0.5,1,1.5) for gluons - -private: - - double kappa_s; // Flavour symmetry breaking factor, eq. (36) - - double fHuValMx; ///< HuVal( - fx ) - double fHdValMx; ///< HdVal( - fx ) - double fEuValMx; ///< HuVal( - fx ) - double fEdValMx; ///< HdVal( - fx ) - double fHtuValMx; ///< HuVal( - fx ) - double fHtdValMx; ///< HdVal( - fx ) - double fEtuValMx; ///< HuVal( - fx ) - double fEtdValMx; ///< HdVal( - fx ) - - double kHgluon; ///< Exponent of correlated x-t dependence - double kHsea; ///< Exponent of correlated x-t dependence - double kHuval; ///< Exponent of correlated x-t dependence - double kHdval; ///< Exponent of correlated x-t dependence - - double kEgluon; ///< Exponent of correlated x-t dependence - double kEsea; ///< Exponent of correlated x-t dependence - double kEuval; ///< Exponent of correlated x-t dependence - double kEdval; ///< Exponent of correlated x-t dependence - - double kHtgluon; ///< Exponent of correlated x-t dependence - double kHtsea; ///< Exponent of correlated x-t dependence - double kHtuval; ///< Exponent of correlated x-t dependence - double kHtdval; ///< Exponent of correlated x-t dependence - - double kEtgluon; ///< Exponent of correlated x-t dependence - double kEtsea; ///< Exponent of correlated x-t dependence - double kEtuval; ///< Exponent of correlated x-t dependence - double kEtdval; ///< Exponent of correlated x-t dependence - - std::vector Huval1tab; ///< Hval1(i=0,0.5,1) for valence u - std::vector Hdval1tab; ///< Hval1(i=0,0.5,1) for valence d - std::vector Huval1mtab; ///< Hval1(i=0,0.5,1) for valence u for -xb - std::vector Hdval1mtab; ///< Hval1(i=0,0.5,1) for valence d for -xb - std::vector Hs1tab; ///< Hs1(i=0,0.5,1,1.5) for sea, same for u, d, s - - std::vector Euval1tab; ///< Eval1(i=0,1) for valence u - std::vector Edval1tab; ///< Eval1(i=0,..,7) for valence d - std::vector Euval1mtab; ///< Eval1(i=0,1) for valence u for -xb - std::vector Edval1mtab; ///< Eval1(i=0,..,7) for valence d for -xb - std::vector Es1tab; ///< Es1(i=0,1,2) for sea, same for u, d, s - std::vector Ei1tab; ///< Ei1(i=0,1) for gluons - - std::vector Htuval1tab; ///< Htval1(i=0,1,2) for valence u - std::vector Htdval1tab; ///< Htval1(i=0,1,2) for valence d - std::vector Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb - std::vector Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb - std::vector Hti1tab; ///< Hti1(i=0,0.5,1) for gluons - - std::vector Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u - std::vector Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d - std::vector Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb - std::vector Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb - - void calculateHKas(); - void calculateEKas(); - void calculateHtKas(); - void calculateEtKas(); - - double Et_pole(double x); ///< Pion pole contribution to Et - - double Hi1(double x, double i, double k); - double Hs1(double x, double i, double k); - double Hval1(double x, double i, double k); - double Ei1(double x, double i, double k); - double Es1(double x, double i, double k); - double Eval1(double x, double i, double k); - double Hti1(double x, double i, double k); - double Htval1(double x, double i, double k); - double Etval1(double x, double i, double k); - - double Hi1_alt(double x, double i, double k); - double Hs1_alt(double x, double i, double k); - double Hval1_alt(double x, double i, double k); - double Ei1_alt(double x, double i, double k); - double Es1_alt(double x, double i, double k); - double Eval1_alt(double x, double i, double k); - double Hti1_alt(double x, double i, double k); - double Htval1_alt(double x, double i, double k); - double Etval1_alt(double x, double i, double k); - -}; - -#endif /* GPDGK11ONLYGLUONS_H */ diff --git a/include/partons/modules/gpd/GPDGK16Test.h b/include/partons/modules/gpd/GPDGK16Test.h deleted file mode 100644 index 51a5e018..00000000 --- a/include/partons/modules/gpd/GPDGK16Test.h +++ /dev/null @@ -1,232 +0,0 @@ -#ifndef GPDGK16TEST_H -#define GPDGK16TEST_H - -/** - * @file GPDGK16Test.h - * @author Bryan BERTHOU (CEA Saclay) - * @author Herve MOUTARDE (CEA Saclay) - * @date 2014 - * @version 2.0 - * - * @class GPDGK16Test - * - * @brief A module that implements GPD as defined by Kroll-Goloskokov model in 2011. - * - * !!!! Use tgamma() instead of gamma() (see: http://stackoverflow.com/questions/18116376/what-is-the-definition-for-gammadouble-x-and-why-is-it-different-on-two-gcc-ve) - * - * - * August 2015 : Tested and approved by Pawel Sznajder - * November 2016 : Update from GK11 to GK16 to correct pion pole issue in Et by Luca COlaneri and Pawel Sznajder - */ - -#include -#include - -#include "../GPDModule.h" - -//TODO finir les messages de debug dans toutes les fonctions -//TODO supprimer au maximum les pointers qui ne sont pas obligatoires - -class GPDGK16Test: public GPDModule { -public: - - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - /** - * Default constructor - */ - // GK16ModelTest(); - GPDGK16Test(const std::string &className); - - /** - * Default destructor - */ - virtual ~GPDGK16Test(); - - virtual GPDGK16Test* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString(); - - // ##### GETTERS & SETTERS ##### - - double getB0() const; - double getC1() const; - double getC2() const; - double getC3() const; - double getC4() const; - double getC5() const; - double getC6() const; - double getC7() const; - double getC8() const; - const std::vector& getEdval1mtab() const; - const std::vector& getEdval1tab() const; - const std::vector& getEi1tab() const; - const std::vector& getEs1tab() const; - const std::vector& getEtdval1mtab() const; - const std::vector& getEtdval1tab() const; - const std::vector& getEtuval1mtab() const; - const std::vector& getEtuval1tab() const; - const std::vector& getEuval1mtab() const; - const std::vector& getEuval1tab() const; - double getEdValMx() const; - double getEtdValMx() const; - double getEtuValMx() const; - double getEuValMx() const; - double getHdValMx() const; - double getHtdValMx() const; - double getHtuValMx() const; - double getHuValMx() const; - double getL() const; - const std::vector& getHdval1mtab() const; - const std::vector& getHdval1tab() const; - const std::vector& getHi1tab() const; - const std::vector& getHs1tab() const; - const std::vector& getHtdval1mtab() const; - const std::vector& getHtdval1tab() const; - const std::vector& getHti1tab() const; - const std::vector& getHtuval1mtab() const; - const std::vector& getHtuval1tab() const; - const std::vector& getHuval1mtab() const; - const std::vector& getHuval1tab() const; - double getKappaS() const; - double getEdval() const; - double getEgluon() const; - double getEsea() const; - double getEtdval() const; - double getEtgluon() const; - double getEtsea() const; - double getEtuval() const; - double getEuval() const; - double getHdval() const; - double getHgluon() const; - double getHsea() const; - double getHtdval() const; - double getHtgluon() const; - double getHtsea() const; - double getHtuval() const; - double getHuval() const; - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - GPDGK16Test(const GPDGK16Test& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - //GPDResultData compute(GPDComputeType gpdComputeType); - - virtual PartonDistribution computeH(); ///< Compute GPD H at considered kinematics - virtual PartonDistribution computeE(); ///< Compute GPD E at considered kinematics - virtual PartonDistribution computeHt(); ///< Compute GPD Ht at considered kinematics - virtual PartonDistribution computeEt(); ///< Compute GPD Et at considered kinematics - -// double computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s); - - void calculateHCoefs(); - void calculateECoefs(); - void calculateHtCoefs(); - void calculateEtCoefs(); - - double c1, c2, c3, c4, c5, c6, c7, c8; // Coefficients of the expansion of CTEQ PDF in terms of half-integer powers of beta (eq. (26)) - double b0; // Exponential t-dependence (eq. (22)) - double fL; - - std::vector Hi1tab; ///< Hi1(i=0,0.5,1,1.5) for gluons - -private: - - double kappa_s; // Flavour symmetry breaking factor, eq. (36) - - double fHuValMx; ///< HuVal( - fx ) - double fHdValMx; ///< HdVal( - fx ) - double fEuValMx; ///< HuVal( - fx ) - double fEdValMx; ///< HdVal( - fx ) - double fHtuValMx; ///< HuVal( - fx ) - double fHtdValMx; ///< HdVal( - fx ) - double fEtuValMx; ///< HuVal( - fx ) - double fEtdValMx; ///< HdVal( - fx ) - - double kHgluon; ///< Exponent of correlated x-t dependence - double kHsea; ///< Exponent of correlated x-t dependence - double kHuval; ///< Exponent of correlated x-t dependence - double kHdval; ///< Exponent of correlated x-t dependence - - double kEgluon; ///< Exponent of correlated x-t dependence - double kEsea; ///< Exponent of correlated x-t dependence - double kEuval; ///< Exponent of correlated x-t dependence - double kEdval; ///< Exponent of correlated x-t dependence - - double kHtgluon; ///< Exponent of correlated x-t dependence - double kHtsea; ///< Exponent of correlated x-t dependence - double kHtuval; ///< Exponent of correlated x-t dependence - double kHtdval; ///< Exponent of correlated x-t dependence - - double kEtgluon; ///< Exponent of correlated x-t dependence - double kEtsea; ///< Exponent of correlated x-t dependence - double kEtuval; ///< Exponent of correlated x-t dependence - double kEtdval; ///< Exponent of correlated x-t dependence - - std::vector Huval1tab; ///< Hval1(i=0,0.5,1) for valence u - std::vector Hdval1tab; ///< Hval1(i=0,0.5,1) for valence d - std::vector Huval1mtab; ///< Hval1(i=0,0.5,1) for valence u for -xb - std::vector Hdval1mtab; ///< Hval1(i=0,0.5,1) for valence d for -xb - std::vector Hs1tab; ///< Hs1(i=0,0.5,1,1.5) for sea, same for u, d, s - - std::vector Euval1tab; ///< Eval1(i=0,1) for valence u - std::vector Edval1tab; ///< Eval1(i=0,..,7) for valence d - std::vector Euval1mtab; ///< Eval1(i=0,1) for valence u for -xb - std::vector Edval1mtab; ///< Eval1(i=0,..,7) for valence d for -xb - std::vector Es1tab; ///< Es1(i=0,1,2) for sea, same for u, d, s - std::vector Ei1tab; ///< Ei1(i=0,1) for gluons - - std::vector Htuval1tab; ///< Htval1(i=0,1,2) for valence u - std::vector Htdval1tab; ///< Htval1(i=0,1,2) for valence d - std::vector Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb - std::vector Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb - std::vector Hti1tab; ///< Hti1(i=0,0.5,1) for gluons - - std::vector Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u - std::vector Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d - std::vector Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb - std::vector Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb - - void calculateHKas(); - void calculateEKas(); - void calculateHtKas(); - void calculateEtKas(); - - double Et_pole(double x); ///< Pion pole contribution to Et - - double Hi1(double x, double i, double k); - double Hs1(double x, double i, double k); - double Hval1(double x, double i, double k); - double Ei1(double x, double i, double k); - double Es1(double x, double i, double k); - double Eval1(double x, double i, double k); - double Hti1(double x, double i, double k); - double Htval1(double x, double i, double k); - double Etval1(double x, double i, double k); - - double Hi1_alt(double x, double i, double k); - double Hs1_alt(double x, double i, double k); - double Hval1_alt(double x, double i, double k); - double Ei1_alt(double x, double i, double k); - double Es1_alt(double x, double i, double k); - double Eval1_alt(double x, double i, double k); - double Hti1_alt(double x, double i, double k); - double Htval1_alt(double x, double i, double k); - double Etval1_alt(double x, double i, double k); - -}; - -#endif /* GPDGK16TEST_H */ diff --git a/include/partons/modules/gpd/GPDMPSSW13.h b/include/partons/modules/gpd/GPDMPSSW13.h index 8a158c7c..73b83aca 100644 --- a/include/partons/modules/gpd/GPDMPSSW13.h +++ b/include/partons/modules/gpd/GPDMPSSW13.h @@ -48,7 +48,7 @@ public: virtual ~GPDMPSSW13(); virtual GPDMPSSW13* clone() const; virtual void resolveObjectDependencies(); - //TODO no configure + virtual void configure(const ElemUtils::Parameters ¶meters); //TODO no toString void setParameters(std::vector Parameters); diff --git a/include/partons/modules/gpd/GPDMPSSW13NoGluons.h b/include/partons/modules/gpd/GPDMPSSW13NoGluons.h deleted file mode 100644 index 2215bf3b..00000000 --- a/include/partons/modules/gpd/GPDMPSSW13NoGluons.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * GPDMPSSW13NoGluons.h - * - * Created on: Oct 5, 2015 - * Author: Pawel Sznajder (NCBJ) - */ - -#ifndef GPDMPSSW13NOGLUONS_H -#define GPDMPSSW13NOGLUONS_H - -#include - -#include "../GPDModule.h" - -class GPDService; - -class GPDMPSSW13NoGluons: public GPDModule { - -public: - - static const unsigned int classId; - - GPDMPSSW13NoGluons(const std::string &className); - - virtual ~GPDMPSSW13NoGluons(); - - virtual GPDMPSSW13NoGluons* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString(); - -protected: - - GPDMPSSW13NoGluons(const GPDMPSSW13NoGluons& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - virtual PartonDistribution computeH(); - -private: - - GPDService* pGPDService; - GPDModule* MPSSW13model; -}; - -#endif /* GPDMPSSW13NOGLUONS_H */ diff --git a/include/partons/modules/gpd/GPDMPSSW13WithDTerm.h b/include/partons/modules/gpd/GPDMPSSW13WithDTerm.h deleted file mode 100644 index 0c156305..00000000 --- a/include/partons/modules/gpd/GPDMPSSW13WithDTerm.h +++ /dev/null @@ -1,293 +0,0 @@ -#ifndef GPDMPSSW13WITHDTERM_H -#define GPDMPSSW13WITHDTERM_H - -/** - * @file GPDMPSSW13WithDTerm.h - * @author Herve Moutarde (CEA/Irfu, Saclay) - * @date November 11, 2014 - * @version 1.0 - */ - -#include -#include - -#include "../GPDModule.h" -#include "../MathIntegratorModule.h" - -class MSTWPDF; -namespace NumA { -class FunctionType1D; -} /* namespace NumA */ - -/** - * @class GPDMPSSW13WithDTerm - * - * For the reference see hep-ph/1301.3819 - * - * Module based on the original code (TBDP class) received from H. Mutarde as a private communication - */ -class GPDMPSSW13WithDTerm: public GPDModule, public MathIntegratorModule { - -public: - - static const unsigned int classId; ///< ID assigned by BaseObjectRegistry - - /** Constructor - @param className Name of this class - */ - GPDMPSSW13WithDTerm(const std::string &className); - - virtual ~GPDMPSSW13WithDTerm(); - virtual GPDMPSSW13WithDTerm* clone() const; - virtual void resolveObjectDependencies(); - //TODO no configure - //TODO no toString - void setParameters(std::vector Parameters); - - unsigned int getNbOfQuarkFlavor() const; ///< Get #m_NbOfQuarkFlavor - unsigned int getNbOfColor() const; ///< Get #m_NbOfColor - double getMx() const; ///< Get #m_Mx - double getCA() const; ///< Get #m_CA - double getCF() const; ///< Get #m_CF - double getTF() const; ///< Get #m_TF - double getF1d() const; ///< Get #m_F1u - double getF1u() const; ///< Get #m_F1d - double getFD() const; ///< Get #m_FD - double getProfileShapeVal() const; ///< Get #m_ProfileShapeVal - double getProfileShapeSea() const; ///< Get #m_ProfileShapeSea - double getProfileShapeGlue() const; ///< Get #m_ProfileShapeGlue - double getQuarkDTerm() const; ///< Get #m_QuarkDTerm - double getGluonDTerm() const; ///< Get #m_GluonDTerm - void setGluonDTerm(double gluonDTerm); //TODO why? - -protected: - - /** Copy constructor - @param other Object to be copied - */ - GPDMPSSW13WithDTerm(const GPDMPSSW13WithDTerm& other); - - //TODO private isModuleWellConfigured? - //TODO private initModule? - //TODO private computeH? - -private: - - virtual void isModuleWellConfigured(); - virtual void initModule(); - virtual PartonDistribution computeH(); - - unsigned int m_NbOfQuarkFlavor; ///< TO BE REMOVED? (is it defined here?) - unsigned int m_NbOfColor; ///< Number of colors - - double m_Mx; ///< Negative value of x - - double m_CA; ///< Number of active quark flavors - double m_CF; ///< Color factor - double m_TF; ///< SU(3) color factor - - double m_F1u; ///< Contribution of quarks u to Pauli n and p form factors - double m_F1d; ///< Contribution of quarks d to Pauli n and p form factors - double m_FD; ///< Dipole form factor - - double m_ProfileShapeVal; ///< %Double distribution profile parameter for valence quarks - double m_ProfileShapeSea; ///< %Double distribution profile parameter for sea quarks - double m_ProfileShapeGlue; ///< %Double distribution profile parameter for gluons - - double m_QuarkDTerm; ///< Value of D term for quarks - double m_GluonDTerm; ///< Value of D term for gluons - - MSTWPDF* m_Forward; ///< Pointer to MSTW PDFs - - /** Compute D terms - @param x Value of x - */ - void ComputeDTerms(double x); - - /** Compute form factors - */ - void ComputeFormFactors(); - - /** %Double distribution profile function - @param N Profile parameter - @param alpha, beta %Double distribution variables - */ - double Profile(double N, double alpha, double beta); - - /** %Double distribution ansatz for quarks uVal and x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHuVal(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uVal and -x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHuValMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHuSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1HuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2HuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dVal and x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHdVal(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dVal and -x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHdValMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHdSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1HdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2HdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHsSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1HsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2HsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHg(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHgMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1Hg(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2Hg(double x, std::vector Par); - - /** Evaluation of anomalous dimension matrix for qq - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaQQ(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for qg - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaQG(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for gq - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaGQ(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for gg - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaGG(const unsigned int nflavour, const unsigned int n); - - /** Throw exception if beta < 0 or beta > 1 - @param funcName Name of function where the error appeared - @param betaValue Value of beta - */ - void throwBetaException(const std::string &funcName, double betaValue); - - NumA::FunctionType1D* m_pIntegralHuVal; ///< Functor related to IntegralHuVal() - NumA::FunctionType1D* m_pIntegralHdVal; ///< Functor related to IntegralHdVal() - NumA::FunctionType1D* m_pIntegralHuValMx; ///< Functor related to IntegralHuValMx() - NumA::FunctionType1D* m_pIntegralHdValMx; ///< Functor related to IntegralHdValMx() - NumA::FunctionType1D* m_pIntegralxLargeHuSea; ///< Functor related to IntegralxLargeHuSea() - NumA::FunctionType1D* m_pIntegralxLargeHdSea; ///< Functor related to IntegralxLargeHdSea() - NumA::FunctionType1D* m_pIntegralxSmall1HuSea; ///< Functor related to IntegralxSmall1HuSea() - NumA::FunctionType1D* m_pIntegralxSmall2HuSea; ///< Functor related to IntegralxSmall2HuSea() - NumA::FunctionType1D* m_pIntegralxSmall1HdSea; ///< Functor related to IntegralxSmall1HdSea() - NumA::FunctionType1D* m_pIntegralxSmall2HdSea; ///< Functor related to IntegralxSmall2HdSea() - NumA::FunctionType1D* m_pIntegralxLargeHuSeaMx; ///< Functor related to IntegralxLargeHuSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHdSeaMx; ///< Functor related to IntegralxLargeHdSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHsSea; ///< Functor related to IntegralxLargeHsSea() - NumA::FunctionType1D* m_pIntegralxSmall1HsSea; ///< Functor related to IntegralxSmall1HsSea() - NumA::FunctionType1D* m_pIntegralxSmall2HsSea; ///< Functor related to IntegralxSmall2HsSea() - NumA::FunctionType1D* m_pIntegralxLargeHsSeaMx; ///< Functor related to IntegralxLargeHsSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHg; ///< Functor related to IntegralxLargeHg() - NumA::FunctionType1D* m_pIntegralxSmall1Hg; ///< Functor related to IntegralxSmall1Hg() - NumA::FunctionType1D* m_pIntegralxSmall2Hg; ///< Functor related to IntegralxSmall2Hg() - NumA::FunctionType1D* m_pIntegralxLargeHgMx; ///< Functor related to IntegralxLargeHgMx() - - /** Initialize functors - */ - void initFunctorsForIntegrations(); -}; - -#endif /* GPDMPSSW13WITHDTERM_H */ diff --git a/include/partons/modules/gpd/MPSSW13Model.h b/include/partons/modules/gpd/MPSSW13Model.h deleted file mode 100644 index 166c6631..00000000 --- a/include/partons/modules/gpd/MPSSW13Model.h +++ /dev/null @@ -1,300 +0,0 @@ -#ifndef MPSSW13_MODEL_H -#define MPSSW13_MODEL_H - -/** - * @file MPSSW13Model.h - * @author Herve Moutarde (CEA/Irfu, Saclay) - * @date November 11, 2014 - * @version 1.0 - */ - -#include -#include - -#include "../GPDModule.h" -#include "../MathIntegratorModule.h" - -class MSTWPDF; -namespace NumA { -class FunctionType1D; -} /* namespace NumA */ - -/** - * @class MPSSW13Model - * - * Module based on the original code (TBDP class) received from H.\ Moutarde as a private communication. - * - * For the reference, see arxiv:1301.3819 @cite Moutarde:2013qs. - * - * Available GPD types: H. - */ -class MPSSW13Model: public GPDModule, public MathIntegratorModule { - -public: - - static const unsigned int classId; ///< ID assigned by BaseObjectRegistry. - - /** - * Constructor. - * See BaseObject::BaseObject and ModuleObject::ModuleObject for more details. - * - * @param className name of child class. - */ - MPSSW13Model(const std::string &className); - - /** - * Default constructor. - */ - virtual ~MPSSW13Model(); - virtual MPSSW13Model* clone() const; - virtual void resolveObjectDependencies(); - virtual void configure(const ElemUtils::Parameters ¶meters); - //TODO no toString - void setParameters(std::vector Parameters); - - unsigned int getNbOfQuarkFlavor() const; ///< Get #m_NbOfQuarkFlavor. - unsigned int getNbOfColor() const; ///< Get #m_NbOfColor. - double getMx() const; ///< Get #m_Mx. - double getCA() const; ///< Get #m_CA. - double getCF() const; ///< Get #m_CF. - double getTF() const; ///< Get #m_TF. - double getF1d() const; ///< Get #m_F1u. - double getF1u() const; ///< Get #m_F1d. - double getFD() const; ///< Get #m_FD. - double getProfileShapeVal() const; ///< Get #m_ProfileShapeVal. - double getProfileShapeSea() const; ///< Get #m_ProfileShapeSea. - double getProfileShapeGlue() const; ///< Get #m_ProfileShapeGlue. - double getQuarkDTerm() const; ///< Get #m_QuarkDTerm. - double getGluonDTerm() const; ///< Get #m_GluonDTerm. - void setGluonDTerm(double gluonDTerm); //TODO why? - -protected: - - /** Copy constructor - @param other Object to be copied - */ - MPSSW13Model(const MPSSW13Model& other); - - //TODO private isModuleWellConfigured? - //TODO private initModule? - //TODO private computeH? - -private: - - virtual void isModuleWellConfigured(); - virtual void initModule(); - virtual PartonDistribution computeH(); - - unsigned int m_NbOfQuarkFlavor; ///< TO BE REMOVED? (is it defined here?) - unsigned int m_NbOfColor; ///< Number of colors. - - double m_Mx; ///< Negative value of x. - - double m_CA; ///< Number of active quark flavors. - double m_CF; ///< Color factor. - double m_TF; ///< SU(3) color factor. - - double m_F1u; ///< Contribution of quarks u to Pauli n and p form factors. - double m_F1d; ///< Contribution of quarks d to Pauli n and p form factors. - double m_FD; ///< Dipole form factor. - - double m_ProfileShapeVal; ///< %Double distribution profile parameter for valence quarks. - double m_ProfileShapeSea; ///< %Double distribution profile parameter for sea quarks. - double m_ProfileShapeGlue; ///< %Double distribution profile parameter for gluons. - - double m_QuarkDTerm; ///< Value of D term for quarks. - double m_GluonDTerm; ///< Value of D term for gluons. - - MSTWPDF* m_Forward; ///< Pointer to MSTW PDFs. - - /** Compute D terms. - */ - void ComputeDTerms(); - - /** Compute form factors. - */ - void ComputeFormFactors(); - - /** %Double distribution profile function. - @param N Profile parameter. - @param alpha, beta %Double distribution variables. - */ - double Profile(double N, double alpha, double beta); - - /** %Double distribution ansatz for quarks uVal and x. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralHuVal(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uVal and -x. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralHuValMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and -x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHuSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| < xi (part 1). - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxSmall1HuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| < xi (part 2). - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxSmall2HuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dVal and x. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralHdVal(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dVal and -x. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralHdValMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and -x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHdSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1HdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| < xi (part 2). - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxSmall2HdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and -x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHsSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| < xi (part 1). - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxSmall1HsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| < xi (part 2). - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxSmall2HsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHg(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and -x and |x| > xi. - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxLargeHgMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| < xi (part 1). - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxSmall1Hg(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| < xi (part 2). - @param x %Double distribution variable. - @param Par Additional parameters (not used). - */ - double IntegralxSmall2Hg(double x, std::vector Par); - - /** Evaluation of anomalous dimension matrix for qq. - @param nflavour Number of active flavors. - @param n Gegenbauer order. - */ - double GammaQQ(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for qg. - @param nflavour Number of active flavors. - @param n Gegenbauer order. - */ - double GammaQG(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for gq. - @param nflavour Number of active flavors. - @param n Gegenbauer order. - */ - double GammaGQ(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for gg. - @param nflavour Number of active flavors. - @param n Gegenbauer order. - */ - double GammaGG(const unsigned int nflavour, const unsigned int n); - - /** Throw exception if beta < 0 or beta > 1. - @param funcName Name of function where the error appeared. - @param betaValue Value of beta. - */ - void throwBetaException(const std::string &funcName, double betaValue); - - NumA::FunctionType1D* m_pIntegralHuVal; ///< Functor related to IntegralHuVal() - NumA::FunctionType1D* m_pIntegralHdVal; ///< Functor related to IntegralHdVal() - NumA::FunctionType1D* m_pIntegralHuValMx; ///< Functor related to IntegralHuValMx() - NumA::FunctionType1D* m_pIntegralHdValMx; ///< Functor related to IntegralHdValMx() - NumA::FunctionType1D* m_pIntegralxLargeHuSea; ///< Functor related to IntegralxLargeHuSea() - NumA::FunctionType1D* m_pIntegralxLargeHdSea; ///< Functor related to IntegralxLargeHdSea() - NumA::FunctionType1D* m_pIntegralxSmall1HuSea; ///< Functor related to IntegralxSmall1HuSea() - NumA::FunctionType1D* m_pIntegralxSmall2HuSea; ///< Functor related to IntegralxSmall2HuSea() - NumA::FunctionType1D* m_pIntegralxSmall1HdSea; ///< Functor related to IntegralxSmall1HdSea() - NumA::FunctionType1D* m_pIntegralxSmall2HdSea; ///< Functor related to IntegralxSmall2HdSea() - NumA::FunctionType1D* m_pIntegralxLargeHuSeaMx; ///< Functor related to IntegralxLargeHuSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHdSeaMx; ///< Functor related to IntegralxLargeHdSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHsSea; ///< Functor related to IntegralxLargeHsSea() - NumA::FunctionType1D* m_pIntegralxSmall1HsSea; ///< Functor related to IntegralxSmall1HsSea() - NumA::FunctionType1D* m_pIntegralxSmall2HsSea; ///< Functor related to IntegralxSmall2HsSea() - NumA::FunctionType1D* m_pIntegralxLargeHsSeaMx; ///< Functor related to IntegralxLargeHsSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHg; ///< Functor related to IntegralxLargeHg() - NumA::FunctionType1D* m_pIntegralxSmall1Hg; ///< Functor related to IntegralxSmall1Hg() - NumA::FunctionType1D* m_pIntegralxSmall2Hg; ///< Functor related to IntegralxSmall2Hg() - NumA::FunctionType1D* m_pIntegralxLargeHgMx; ///< Functor related to IntegralxLargeHgMx() - - /** Initialize functors. - */ - void initFunctorsForIntegrations(); -}; - -#endif /* MPSSW13_H_ */ diff --git a/include/partons/modules/gpd/MPSSW13ModelNoGluons.h b/include/partons/modules/gpd/MPSSW13ModelNoGluons.h deleted file mode 100644 index 0eba333a..00000000 --- a/include/partons/modules/gpd/MPSSW13ModelNoGluons.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * MPSSW13ModelNoGluons.h - * - * Created on: Oct 5, 2015 - * Author: Pawel Sznajder (NCBJ) - */ - -#ifndef MPSSW13MODELNOGLUONS_H_ -#define MPSSW13MODELNOGLUONS_H_ - -#include - -#include "../GPDModule.h" - -class GPDService; - -class MPSSW13ModelNoGluons: public GPDModule { - -public: - - static const unsigned int classId; - - MPSSW13ModelNoGluons(const std::string &className); - - virtual ~MPSSW13ModelNoGluons(); - - virtual MPSSW13ModelNoGluons* clone() const; - - virtual void configure(const ElemUtils::Parameters ¶meters); - - virtual std::string toString() const; - -protected: - - MPSSW13ModelNoGluons(const MPSSW13ModelNoGluons& other); - - virtual void isModuleWellConfigured(); - virtual void initModule(); - - virtual PartonDistribution computeH(); - -private: - - GPDService* pGPDService; - GPDModule* MPSSW13model; -}; - -#endif /* MPSSW13MODELNOGLUONS_H_ */ diff --git a/include/partons/modules/gpd/MPSSW13WithDTermModel.h b/include/partons/modules/gpd/MPSSW13WithDTermModel.h deleted file mode 100644 index f26a5955..00000000 --- a/include/partons/modules/gpd/MPSSW13WithDTermModel.h +++ /dev/null @@ -1,293 +0,0 @@ -#ifndef MPSSW13WITHDTERM_MODEL_H -#define MPSSW13WITHDTERM_MODEL_H - -/** - * @file VGGModel.h - * @author Herve Moutarde (CEA/Irfu, Saclay) - * @date November 11, 2014 - * @version 1.0 - */ - -#include -#include - -#include "../GPDModule.h" -#include "../MathIntegratorModule.h" - -class MSTWPDF; -namespace NumA { -class FunctionType1D; -} /* namespace NumA */ - -/** - * @class MPSSW13WithDTermModel - * - * For the reference see hep-ph/1301.3819 - * - * Module based on the original code (TBDP class) received from H. Mutarde as a private communication - */ -class MPSSW13WithDTermModel: public GPDModule, public MathIntegratorModule { - -public: - - static const unsigned int classId; ///< ID assigned by BaseObjectRegistry - - /** Constructor - @param className Name of this class - */ - MPSSW13WithDTermModel(const std::string &className); - - virtual ~MPSSW13WithDTermModel(); - virtual MPSSW13WithDTermModel* clone() const; - virtual void resolveObjectDependencies(); - virtual void configure(const ElemUtils::Parameters ¶meters); - //TODO no toString - void setParameters(std::vector Parameters); - - unsigned int getNbOfQuarkFlavor() const; ///< Get #m_NbOfQuarkFlavor - unsigned int getNbOfColor() const; ///< Get #m_NbOfColor - double getMx() const; ///< Get #m_Mx - double getCA() const; ///< Get #m_CA - double getCF() const; ///< Get #m_CF - double getTF() const; ///< Get #m_TF - double getF1d() const; ///< Get #m_F1u - double getF1u() const; ///< Get #m_F1d - double getFD() const; ///< Get #m_FD - double getProfileShapeVal() const; ///< Get #m_ProfileShapeVal - double getProfileShapeSea() const; ///< Get #m_ProfileShapeSea - double getProfileShapeGlue() const; ///< Get #m_ProfileShapeGlue - double getQuarkDTerm() const; ///< Get #m_QuarkDTerm - double getGluonDTerm() const; ///< Get #m_GluonDTerm - void setGluonDTerm(double gluonDTerm); //TODO why? - -protected: - - /** Copy constructor - @param other Object to be copied - */ - MPSSW13WithDTermModel(const MPSSW13WithDTermModel& other); - - //TODO private isModuleWellConfigured? - //TODO private initModule? - //TODO private computeH? - -private: - - virtual void isModuleWellConfigured(); - virtual void initModule(); - virtual PartonDistribution computeH(); - - unsigned int m_NbOfQuarkFlavor; ///< TO BE REMOVED? (is it defined here?) - unsigned int m_NbOfColor; ///< Number of colors - - double m_Mx; ///< Negative value of x - - double m_CA; ///< Number of active quark flavors - double m_CF; ///< Color factor - double m_TF; ///< SU(3) color factor - - double m_F1u; ///< Contribution of quarks u to Pauli n and p form factors - double m_F1d; ///< Contribution of quarks d to Pauli n and p form factors - double m_FD; ///< Dipole form factor - - double m_ProfileShapeVal; ///< %Double distribution profile parameter for valence quarks - double m_ProfileShapeSea; ///< %Double distribution profile parameter for sea quarks - double m_ProfileShapeGlue; ///< %Double distribution profile parameter for gluons - - double m_QuarkDTerm; ///< Value of D term for quarks - double m_GluonDTerm; ///< Value of D term for gluons - - MSTWPDF* m_Forward; ///< Pointer to MSTW PDFs - - /** Compute D terms - @param x Value of x - */ - void ComputeDTerms(double x); - - /** Compute form factors - */ - void ComputeFormFactors(); - - /** %Double distribution profile function - @param N Profile parameter - @param alpha, beta %Double distribution variables - */ - double Profile(double N, double alpha, double beta); - - /** %Double distribution ansatz for quarks uVal and x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHuVal(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uVal and -x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHuValMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHuSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1HuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks uSea and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2HuSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dVal and x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHdVal(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dVal and -x - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralHdValMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHdSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1HdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks dSea and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2HdSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHsSeaMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1HsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks s and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2HsSea(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHg(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and -x and |x| > xi - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxLargeHgMx(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| < xi (part 1) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall1Hg(double x, std::vector Par); - - /** %Double distribution ansatz for quarks g and x and |x| < xi (part 2) - @param x %Double distribution variable - @param Par Additional parameters (not used) - */ - double IntegralxSmall2Hg(double x, std::vector Par); - - /** Evaluation of anomalous dimension matrix for qq - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaQQ(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for qg - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaQG(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for gq - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaGQ(const unsigned int nflavour, const unsigned int n); - - /** Evaluation of anomalous dimension matrix for gg - @param nflavour Number of active flavors - @param n Gegenbauer order - */ - double GammaGG(const unsigned int nflavour, const unsigned int n); - - /** Throw exception if beta < 0 or beta > 1 - @param funcName Name of function where the error appeared - @param betaValue Value of beta - */ - void throwBetaException(const std::string &funcName, double betaValue); - - NumA::FunctionType1D* m_pIntegralHuVal; ///< Functor related to IntegralHuVal() - NumA::FunctionType1D* m_pIntegralHdVal; ///< Functor related to IntegralHdVal() - NumA::FunctionType1D* m_pIntegralHuValMx; ///< Functor related to IntegralHuValMx() - NumA::FunctionType1D* m_pIntegralHdValMx; ///< Functor related to IntegralHdValMx() - NumA::FunctionType1D* m_pIntegralxLargeHuSea; ///< Functor related to IntegralxLargeHuSea() - NumA::FunctionType1D* m_pIntegralxLargeHdSea; ///< Functor related to IntegralxLargeHdSea() - NumA::FunctionType1D* m_pIntegralxSmall1HuSea; ///< Functor related to IntegralxSmall1HuSea() - NumA::FunctionType1D* m_pIntegralxSmall2HuSea; ///< Functor related to IntegralxSmall2HuSea() - NumA::FunctionType1D* m_pIntegralxSmall1HdSea; ///< Functor related to IntegralxSmall1HdSea() - NumA::FunctionType1D* m_pIntegralxSmall2HdSea; ///< Functor related to IntegralxSmall2HdSea() - NumA::FunctionType1D* m_pIntegralxLargeHuSeaMx; ///< Functor related to IntegralxLargeHuSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHdSeaMx; ///< Functor related to IntegralxLargeHdSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHsSea; ///< Functor related to IntegralxLargeHsSea() - NumA::FunctionType1D* m_pIntegralxSmall1HsSea; ///< Functor related to IntegralxSmall1HsSea() - NumA::FunctionType1D* m_pIntegralxSmall2HsSea; ///< Functor related to IntegralxSmall2HsSea() - NumA::FunctionType1D* m_pIntegralxLargeHsSeaMx; ///< Functor related to IntegralxLargeHsSeaMx() - NumA::FunctionType1D* m_pIntegralxLargeHg; ///< Functor related to IntegralxLargeHg() - NumA::FunctionType1D* m_pIntegralxSmall1Hg; ///< Functor related to IntegralxSmall1Hg() - NumA::FunctionType1D* m_pIntegralxSmall2Hg; ///< Functor related to IntegralxSmall2Hg() - NumA::FunctionType1D* m_pIntegralxLargeHgMx; ///< Functor related to IntegralxLargeHgMx() - - /** Initialize functors - */ - void initFunctorsForIntegrations(); -}; - -#endif /* MPSSW13WITHDTERM_MODEL_H */ diff --git a/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h b/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h index a568f3c7..b938905e 100644 --- a/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h +++ b/include/partons/modules/gpd_subtraction_constant/GPDSubtractionConstantMMS13.h @@ -5,9 +5,10 @@ * Author: Pawel Sznajder (IPNO) */ -#ifndef GPDSUBTRACTIONCONSTANTMMS13_H -#define GPDSUBTRACTIONCONSTANTMMS13_H +#ifndef GPDSUBTRACTIONCONSTANTMMS13MODEL_H_ +#define GPDSUBTRACTIONCONSTANTMMS13MODEL_H_ +#include #include #include #include @@ -22,57 +23,66 @@ class GPDMMS13; * Subtraction constant model based on MM13Model D-term */ class GPDSubtractionConstantMMS13: public GPDSubtractionConstantModule, - public MathIntegratorModule { + public MathIntegratorModule { public: - static const unsigned int classId; ///< ID assigned by BaseObjectRegistry + static const unsigned int classId; ///< ID assigned by BaseObjectRegistry - /** - * Default constructor - * @param className Class name - */ - GPDSubtractionConstantMMS13(const std::string &className); + /** + * Default constructor. + * @param className Class name. + */ + GPDSubtractionConstantMMS13(const std::string &className); - /** - * Destructor - */ - virtual ~GPDSubtractionConstantMMS13(); + /** + * Destructor. + */ + virtual ~GPDSubtractionConstantMMS13(); - virtual GPDSubtractionConstantMMS13* clone() const; + virtual GPDSubtractionConstantMMS13* clone() const; + virtual void configure(const ElemUtils::Parameters ¶meters); + virtual std::string toString() const; + virtual void resolveObjectDependencies(); + virtual void prepareSubModules( + const std::map& subModulesData); - virtual void resolveObjectDependencies(); - - virtual void prepareSubModules( - const std::map& subModulesData); + virtual double computeH(); + virtual double computeE(); protected: - /** Copy constructor - @param other Object to be copied - */ - GPDSubtractionConstantMMS13(const GPDSubtractionConstantMMS13& other); + /** Copy constructor. + @param other Object to be copied. + */ + GPDSubtractionConstantMMS13(const GPDSubtractionConstantMMS13& other); - virtual double computeH(); - virtual double computeE(); + virtual void initModule(); + virtual void isModuleWellConfigured(); private: - /** - * Integral of D-term - * @param zeta GPD x/xi variable - * @param par Additional parameters (not used here) - */ - double dTermIntegral(double zeta, std::vector par); - - /** - * Initialize functors - */ - void initFunctorsForIntegrations(); - - NumA::FunctionType1D* m_p_int_dTermIntegral; ///< functor related to dTermIntegral() function - - GPDMMS13* m_pMMS13Model; ///< Pointer to MMS13Model model + /** + * Integral of D-term. + * @param zeta GPD x/xi variable. + * @param par Additional parameters (not used here). + */ + double dTermIntegral(double zeta, std::vector par); + + /** + * Initialize functors. + */ + void initFunctorsForIntegrations(); + + /** + * Functor related to dTermIntegral() function. + */ + NumA::FunctionType1D* m_p_int_dTermIntegral; + + /** + * Pointer to GPDMMS13 model. + */ + GPDMMS13* m_pMMS13Model; }; -#endif /* GPDSUBTRACTIONCONSTANTMMS13_H */ +#endif /* GPDSUBTRACTIONCONSTANTMMS13MODEL_H_ */ diff --git a/include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h b/include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h deleted file mode 100644 index 51714238..00000000 --- a/include/partons/modules/gpd_subtraction_constant/MMS13SubtractionConstantModel.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * MMS13SubtractionConstantModel.h - * - * Created on: Oct 18, 2016 - * Author: Pawel Sznajder (IPNO) - */ - -#ifndef MMS13SUBTRACTIONCONSTANTMODEL_H_ -#define MMS13SUBTRACTIONCONSTANTMODEL_H_ - -#include -#include -#include -#include - -#include "../../beans/automation/BaseObjectData.h" -#include "../GPDSubtractionConstantModule.h" -#include "../MathIntegratorModule.h" - -class MMS13Model; - -/** - * Subtraction constant model based on MM13Model D-term - */ -class MMS13SubtractionConstantModel: public GPDSubtractionConstantModule, - public MathIntegratorModule { - -public: - - static const unsigned int classId; ///< ID assigned by BaseObjectRegistry - - /** - * Default constructor. - * @param className Class name. - */ - MMS13SubtractionConstantModel(const std::string &className); - - /** - * Destructor. - */ - virtual ~MMS13SubtractionConstantModel(); - - virtual MMS13SubtractionConstantModel* clone() const; - virtual void configure(const ElemUtils::Parameters ¶meters); - virtual std::string toString() const; - virtual void resolveObjectDependencies(); - virtual void prepareSubModules( - const std::map& subModulesData); - - virtual double computeH(); - virtual double computeE(); - -protected: - - /** Copy constructor. - @param other Object to be copied. - */ - MMS13SubtractionConstantModel(const MMS13SubtractionConstantModel& other); - - virtual void initModule(); - virtual void isModuleWellConfigured(); - -private: - - /** - * Integral of D-term. - * @param zeta GPD x/xi variable. - * @param par Additional parameters (not used here). - */ - double dTermIntegral(double zeta, std::vector par); - - /** - * Initialize functors. - */ - void initFunctorsForIntegrations(); - - /** - * Functor related to dTermIntegral() function. - */ - NumA::FunctionType1D* m_p_int_dTermIntegral; - - /** - * Pointer to MMS13Model model. - */ - MMS13Model* m_pMMS13Model; -}; - -#endif /* MMS13SUBTRACTIONCONSTANTMODEL_H_ */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhis.h similarity index 83% rename from include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h rename to include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhis.h index c1781816..ff7c2f70 100644 --- a/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiS.h +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhis.h @@ -2,7 +2,7 @@ #define DVCSAUTSINPHIMPHIS_H /** - * @file DVCSAutSinPhiMPhiS.h + * @file DVCSAutSinPhiMPhis.h * @author Bryan BERTHOU (SPhN / CEA Saclay) * @date November 28, 2014 * @version 1.0 @@ -13,7 +13,7 @@ #include "../../Observable.h" /** - * @class DVCSAutSinPhiMPhiS + * @class DVCSAutSinPhiMPhis * @brief Transverse target beam asymmetry for negative beam charge. * * Definition:
@@ -30,7 +30,7 @@ * where: * \f$\sigma_{t_{h}}^{b_{h} b_{c}}\f$ is single photon production cross-section (DVCS, BH and Int) for target helicity denoted by \f$t_{h}\f$, beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$. */ -class DVCSAutSinPhiMPhiS: public Observable { +class DVCSAutSinPhiMPhis: public Observable { public: @@ -43,14 +43,14 @@ public: * Constructor. * @param className Name of class. */ - DVCSAutSinPhiMPhiS(const std::string &className); + DVCSAutSinPhiMPhis(const std::string &className); /** * Destructor. */ - virtual ~DVCSAutSinPhiMPhiS(); + virtual ~DVCSAutSinPhiMPhis(); - virtual DVCSAutSinPhiMPhiS* clone() const; + virtual DVCSAutSinPhiMPhis* clone() const; virtual double computePhiObservable(double phi); protected: @@ -59,7 +59,7 @@ protected: * Copy constructor. * @param other Object to be copied. */ - DVCSAutSinPhiMPhiS(const DVCSAutSinPhiMPhiS &other); + DVCSAutSinPhiMPhis(const DVCSAutSinPhiMPhis &other); }; #endif /* DVCSAUTSINPHIMPHIS_H */ diff --git a/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhisCos0Phi.h similarity index 77% rename from include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h rename to include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhisCos0Phi.h index e0667808..3cb9f4a0 100644 --- a/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhiSCos0Phi.h +++ b/include/partons/modules/observable/DVCS/asymmetry/DVCSAutSinPhiMPhisCos0Phi.h @@ -2,7 +2,7 @@ #define DVCSAUTSINPHIMPHISCOS0PHI_H /** - * @file DVCSAutSinPhiMPhiSCos0Phi.h + * @file DVCSAutSinPhiMPhisCos0Phi.h * @author Luca COLANERI (IPNO) * @date July 18, 2016 * @version 1.0 @@ -12,10 +12,10 @@ #include #include "../../../MathIntegratorModule.h" -#include "DVCSAutSinPhiMPhiS.h" +#include "DVCSAutSinPhiMPhis.h" /** - * @class DVCSAutSinPhiMPhiSCos0Phi + * @class DVCSAutSinPhiMPhisCos0Phi * * @brief 0th Fourier moment of transverse target beam asymmetry for negative beam charge. * @@ -27,9 +27,9 @@ * \int_{0}^{2\pi} d\phi A_{UT}^{\sin(\phi-\phi_{S})}(x_{B}, t, Q^2, \phi) \cos(0\phi) * \f$ * - * where \f$A_{UT}^{\sin(\phi-\phi_{S})}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAutSinPhiMPhiS. + * where \f$A_{UT}^{\sin(\phi-\phi_{S})}(x_{B}, t, Q^2, \phi)\f$ is defined in DVCSAutSinPhiMPhis. */ -class DVCSAutSinPhiMPhiSCos0Phi: public DVCSAutSinPhiMPhiS, +class DVCSAutSinPhiMPhisCos0Phi: public DVCSAutSinPhiMPhis, public MathIntegratorModule { public: @@ -43,14 +43,14 @@ public: * Constructor. * @param className Name of class. */ - DVCSAutSinPhiMPhiSCos0Phi(const std::string &className); + DVCSAutSinPhiMPhisCos0Phi(const std::string &className); /** * Destructor. */ - virtual ~DVCSAutSinPhiMPhiSCos0Phi(); + virtual ~DVCSAutSinPhiMPhisCos0Phi(); - virtual DVCSAutSinPhiMPhiSCos0Phi* clone() const; + virtual DVCSAutSinPhiMPhisCos0Phi* clone() const; virtual double computeFourierObservable(); protected: @@ -59,7 +59,7 @@ protected: * Copy constructor. * @param other Object to be copied. */ - DVCSAutSinPhiMPhiSCos0Phi(const DVCSAutSinPhiMPhiSCos0Phi &other); + DVCSAutSinPhiMPhisCos0Phi(const DVCSAutSinPhiMPhisCos0Phi &other); /** * Functor to perform the integration. diff --git a/include/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.h b/include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionDifferenceLUMinus.h similarity index 100% rename from include/partons/modules/observable/DVCS/cross_section_difference/DVCSCrossSectionDifferenceLUMinus.h rename to include/partons/modules/observable/DVCS/cross_section/DVCSCrossSectionDifferenceLUMinus.h diff --git a/include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h b/include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h deleted file mode 100644 index 72e0face..00000000 --- a/include/partons/modules/process/DVCS/DVCSProcessBMJ12BH.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef DVCSPROCESSBMJ12BH_H -#define DVCSPROCESSBMJ12BH_H - -#include -#include -#include - -#include "../../../beans/gpd/GPDType.h" -#include "../DVCSModule.h" - -/** - * @file DVCSProcessBMJ12BH.h - * @author Nabil CHOUIKA (SPhN / CEA Saclay) - * @date 07 October 2015 - * @version 1.0 - * - * @class DVCSProcessBMJ12BH - */ - -class DVCSProcessBMJ12BH: public DVCSModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - DVCSProcessBMJ12BH(const std::string &className); - virtual ~DVCSProcessBMJ12BH(); - - virtual DVCSProcessBMJ12BH* clone() const; - - // Cross sections - virtual double CrossSectionBH(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Bethe Heitler cross section - - virtual double CrossSectionVCS(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Virtual Compton Scattering cross section - - virtual double CrossSectionInterf(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Interference cross section - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - DVCSProcessBMJ12BH(const DVCSProcessBMJ12BH& other); - - virtual void initModule(); - virtual void initModule(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); - virtual void isModuleWellConfigured(); - -private: - - // The vectors here are actually static arrays, DO NOT PUSH BACK OR POP BACK. - // Use them as arrays! Size fixed in the constructor. - - double m_phi1BMK; ///< Angle small phi of BMK (between electron and outgoing proton) - double m_phi2BMK; ///< Angle small phi of BMK (between target polarization and outgoing proton) - double m_PhiBMK; ///< Angle capital Phi of BMK (between electron and target polarization) - double m_theta; ///< Polarization angle of target - double m_Lambda; ///< Longitudinal polarization of target - double m_lambda; ///< Lepton helicity - - double m_xB2; ///< square of xB - std::vector m_Q; ///< square root of virtuality Q2 - ///< m_Q[0] = Q, m_Q[1] = Q^2, etc... - std::vector m_xBtQ2; - std::vector m_M; ///< Proton mass - ///< m_M[0] = M, m_M[1] = M^2, etc... - std::vector m_yBMJ; ///< Lepton energy fraction - ///< m_y[0] = y, m_y[1] = y^2, etc... - std::vector m_epsilonBMJ; ///< - ///< m_epsilon[0] = epsilon, m_epsilon[1] = epsilon^2, etc... - std::vector m_epsroot; ///< sqrt(1+epsilon^2) - std::vector m_K, m_Kt; ///< Kinematical factors K and K tilde - ///< m_K[0] = K, m_K[1] = K^2, etc... - std::vector m_Delta2; ///< Mandelstam variable t - ///< m_Delta2[0] = t, m_Delta2[1] = Delta^4 = t^2, etc... - - double m_P1, m_P2; ///< Lepton propagators - - void defineAngles(const NumA::Vector3D &targetPolarization); ///< Define the BMK angles - - double m_F1, m_F2; ///< Dirac and Pauli form factors - void computeFormFactors(); ///< Compute F1 and F2 form factors - - /* Bethe Heitler coeffs (BMK2002) */ - /** Fourier coeffs of the BH squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2 - */ - std::vector > m_cBH; - - double m_s1BHTP; ///< BH Fourier coeff s1 TP - - void computeFourierCoeffsBH(); ///< Computes c_BH and s_BH - - /* VCS coeffs (BMJ2012) */ - /** Fourier coeffs (cosinus) of the VCS squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2 - */ - std::vector > m_cVCS; - /** Fourier coeffs (sinus) of the VCS squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=0., [1]=s1, [2]=s2 - */ - std::vector > m_sVCS; - - void computeFourierCoeffsVCS(); ///< Computes c_VCS and s_VCS - - /* Interference coeffs (BMJ2012) */ - /** Fourier coeffs (cosinus) of the Interference term - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2, [3]=c3 - */ - std::vector > m_cI; - /** Fourier coeffs (sinus) of the Interference term - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=0., [1]=s1, [2]=s2, [3]=s3 - */ - std::vector > m_sI; - /** Angular coeffs C_ab(n), dC_ab(n), S_ab(n), dS_ab(n) - * 1st index: [0]=C++, [1]=C-+, [2]=C0+ - * 2nd index: [0]=not, [1]=V, [2]=A - * 3rd index: n - */ - std::vector > > m_C, m_S, m_dC, m_dS; - - void computeAngularCoeffsInterf(); ///< Computes C_ab(n), S_ab(n), etc. - void computeFourierCoeffsInterf(); ///< Computes c_I and s_I - - /** Coefficients used for computing F+b and F0+ - * 1st index: [0] = F++, [1] = F+-, [2] = F0+ - * 2nd index: [0]: F coeff, [1]: FT coeff, [2]: FLT coeff - */ - std::vector > m_cF; - - /** Array that stores the CFFs F+b and F0+ - * 1st index: [0] = H, [1] = E, [2] = Ht, [3] = Et - * 2nd index: [0] = F++, [1] = F+-, [2] = F0+ - */ - std::vector > > m_CFF; - - /** Method that gives F+b and F0+ already calculated - */ - std::complex CFF(GPDType::Type F, int a, int b); - - void computeCFFs(); ///< Computes CFFS F+b and F0+ - - /** Method that gives the VCS coefficient bilinear in the CFFs - * - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - */ - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2); - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2, - int a3, int b3); - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2, - int a3, int b3, int a4, int b4); - - /** Method that gives the Interference coefficient linear in the CFFs - * - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param VA can be "V" or "A" or "" - */ - std::complex C_I(unsigned int S, int a, int b, - const std::string& VA); - /** Method that gives the "effective" linear combinations of CFFS - * Corresponds to Eqs. (68-69) but multiplied by the coefficient C_{ab}(n) - * to avoid divisions by zero. - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param n - * @param a - * @param b - * @return {\cal C}_{ab,S}(n|Fab) * C_{ab}(n) - */ - std::complex C_I(unsigned int S, unsigned int n, int a, int b); - /** Method that gives the "effective" linear combinations of CFFS - * Corresponds to Eqs. (68-69) but multiplied by the coefficient S_{ab}(n) - * to avoid divisions by zero. - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param n - * @param a - * @param b - * @return {\cal S}_{ab,S}(n|Fab) * S_{ab}(n) - */ - std::complex S_I(unsigned int S, unsigned int n, int a, int b); - - double SqrAmplBH(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the squared amplitude of Bethe Heitler process - double SqrAmplVCS(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the squared amplitude of VCS process - double SqrAmplInterf(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the interference term of the squared amplitude -}; - -#endif /* DVCSPROCESSBMJ12BH_H */ diff --git a/include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h b/include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h deleted file mode 100644 index d46a15f5..00000000 --- a/include/partons/modules/process/DVCS/DVCSProcessBMJ12DVCS.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef DVCSPROCESSBMJ12DVCS_H -#define DVCSPROCESSBMJ12DVCS_H - -#include -#include -#include - -#include "../../../beans/gpd/GPDType.h" -#include "../DVCSModule.h" - -/** - * @file DVCSProcessBMJ12DVCS.h - * @author Nabil CHOUIKA (SPhN / CEA Saclay) - * @date 07 October 2015 - * @version 1.0 - * - * @class DVCSProcessBMJ12DVCS - */ - -class DVCSProcessBMJ12DVCS: public DVCSModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - DVCSProcessBMJ12DVCS(const std::string &className); - virtual ~DVCSProcessBMJ12DVCS(); - - virtual DVCSProcessBMJ12DVCS* clone() const; - - // Cross sections - virtual double CrossSectionBH(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Bethe Heitler cross section - - virtual double CrossSectionVCS(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Virtual Compton Scattering cross section - - virtual double CrossSectionInterf(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Interference cross section - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - DVCSProcessBMJ12DVCS(const DVCSProcessBMJ12DVCS& other); - - virtual void initModule(); - virtual void initModule(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); - virtual void isModuleWellConfigured(); - -private: - - // The vectors here are actually static arrays, DO NOT PUSH BACK OR POP BACK. - // Use them as arrays! Size fixed in the constructor. - - double m_phi1BMK; ///< Angle small phi of BMK (between electron and outgoing proton) - double m_phi2BMK; ///< Angle small phi of BMK (between target polarization and outgoing proton) - double m_PhiBMK; ///< Angle capital Phi of BMK (between electron and target polarization) - double m_theta; ///< Polarization angle of target - double m_Lambda; ///< Longitudinal polarization of target - double m_lambda; ///< Lepton helicity - - double m_xB2; ///< square of xB - std::vector m_Q; ///< square root of virtuality Q2 - ///< m_Q[0] = Q, m_Q[1] = Q^2, etc... - std::vector m_xBtQ2; - std::vector m_M; ///< Proton mass - ///< m_M[0] = M, m_M[1] = M^2, etc... - std::vector m_yBMJ; ///< Lepton energy fraction - ///< m_y[0] = y, m_y[1] = y^2, etc... - std::vector m_epsilonBMJ; ///< - ///< m_epsilon[0] = epsilon, m_epsilon[1] = epsilon^2, etc... - std::vector m_epsroot; ///< sqrt(1+epsilon^2) - std::vector m_K, m_Kt; ///< Kinematical factors K and K tilde - ///< m_K[0] = K, m_K[1] = K^2, etc... - std::vector m_Delta2; ///< Mandelstam variable t - ///< m_Delta2[0] = t, m_Delta2[1] = Delta^4 = t^2, etc... - - double m_P1, m_P2; ///< Lepton propagators - - void defineAngles(const NumA::Vector3D &targetPolarization); ///< Define the BMK angles - - double m_F1, m_F2; ///< Dirac and Pauli form factors - void computeFormFactors(); ///< Compute F1 and F2 form factors - - /* Bethe Heitler coeffs (BMK2002) */ - /** Fourier coeffs of the BH squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2 - */ - std::vector > m_cBH; - - double m_s1BHTP; ///< BH Fourier coeff s1 TP - - void computeFourierCoeffsBH(); ///< Computes c_BH and s_BH - - /* VCS coeffs (BMJ2012) */ - /** Fourier coeffs (cosinus) of the VCS squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2 - */ - std::vector > m_cVCS; - /** Fourier coeffs (sinus) of the VCS squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=0., [1]=s1, [2]=s2 - */ - std::vector > m_sVCS; - - void computeFourierCoeffsVCS(); ///< Computes c_VCS and s_VCS - - /* Interference coeffs (BMJ2012) */ - /** Fourier coeffs (cosinus) of the Interference term - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2, [3]=c3 - */ - std::vector > m_cI; - /** Fourier coeffs (sinus) of the Interference term - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=0., [1]=s1, [2]=s2, [3]=s3 - */ - std::vector > m_sI; - /** Angular coeffs C_ab(n), dC_ab(n), S_ab(n), dS_ab(n) - * 1st index: [0]=C++, [1]=C-+, [2]=C0+ - * 2nd index: [0]=not, [1]=V, [2]=A - * 3rd index: n - */ - std::vector > > m_C, m_S, m_dC, m_dS; - - void computeAngularCoeffsInterf(); ///< Computes C_ab(n), S_ab(n), etc. - void computeFourierCoeffsInterf(); ///< Computes c_I and s_I - - /** Coefficients used for computing F+b and F0+ - * 1st index: [0] = F++, [1] = F+-, [2] = F0+ - * 2nd index: [0]: F coeff, [1]: FT coeff, [2]: FLT coeff - */ - std::vector > m_cF; - - /** Array that stores the CFFs F+b and F0+ - * 1st index: [0] = H, [1] = E, [2] = Ht, [3] = Et - * 2nd index: [0] = F++, [1] = F+-, [2] = F0+ - */ - std::vector > > m_CFF; - - /** Method that gives F+b and F0+ already calculated - */ - std::complex CFF(GPDType::Type F, int a, int b); - - void computeCFFs(); ///< Computes CFFS F+b and F0+ - - /** Method that gives the VCS coefficient bilinear in the CFFs - * - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - */ - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2); - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2, - int a3, int b3); - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2, - int a3, int b3, int a4, int b4); - - /** Method that gives the Interference coefficient linear in the CFFs - * - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param VA can be "V" or "A" or "" - */ - std::complex C_I(unsigned int S, int a, int b, - const std::string& VA); - /** Method that gives the "effective" linear combinations of CFFS - * Corresponds to Eqs. (68-69) but multiplied by the coefficient C_{ab}(n) - * to avoid divisions by zero. - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param n - * @param a - * @param b - * @return {\cal C}_{ab,S}(n|Fab) * C_{ab}(n) - */ - std::complex C_I(unsigned int S, unsigned int n, int a, int b); - /** Method that gives the "effective" linear combinations of CFFS - * Corresponds to Eqs. (68-69) but multiplied by the coefficient S_{ab}(n) - * to avoid divisions by zero. - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param n - * @param a - * @param b - * @return {\cal S}_{ab,S}(n|Fab) * S_{ab}(n) - */ - std::complex S_I(unsigned int S, unsigned int n, int a, int b); - - double SqrAmplBH(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the squared amplitude of Bethe Heitler process - double SqrAmplVCS(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the squared amplitude of VCS process - double SqrAmplInterf(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the interference term of the squared amplitude -}; - -#endif /* DVCSPROCESSBMJ12DVCS_H */ diff --git a/include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h b/include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h deleted file mode 100644 index 48375bb8..00000000 --- a/include/partons/modules/process/DVCS/DVCSProcessBMJ12INT.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef DVCSPROCESSBMJ12INT_H -#define DVCSPROCESSBMJ12INT_H - -#include -#include -#include - -#include "../../../beans/gpd/GPDType.h" -#include "../DVCSModule.h" - -/** - * @file DVCSProcessBMJ12INT.h - * @author Nabil CHOUIKA (SPhN / CEA Saclay) - * @date 07 October 2015 - * @version 1.0 - * - * @class DVCSProcessBMJ12INT - */ - -class DVCSProcessBMJ12INT: public DVCSModule { -public: - static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. - - DVCSProcessBMJ12INT(const std::string &className); - virtual ~DVCSProcessBMJ12INT(); - - virtual DVCSProcessBMJ12INT* clone() const; - - // Cross sections - virtual double CrossSectionBH(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Bethe Heitler cross section - - virtual double CrossSectionVCS(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Virtual Compton Scattering cross section - - virtual double CrossSectionInterf(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Interference cross section - -protected: - /** - * Copy constructor - * - * Use by the factory - * - * @param other - */ - DVCSProcessBMJ12INT(const DVCSProcessBMJ12INT& other); - - virtual void initModule(); - virtual void initModule(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); - virtual void isModuleWellConfigured(); - -private: - - // The vectors here are actually static arrays, DO NOT PUSH BACK OR POP BACK. - // Use them as arrays! Size fixed in the constructor. - - double m_phi1BMK; ///< Angle small phi of BMK (between electron and outgoing proton) - double m_phi2BMK; ///< Angle small phi of BMK (between target polarization and outgoing proton) - double m_PhiBMK; ///< Angle capital Phi of BMK (between electron and target polarization) - double m_theta; ///< Polarization angle of target - double m_Lambda; ///< Longitudinal polarization of target - double m_lambda; ///< Lepton helicity - - double m_xB2; ///< square of xB - std::vector m_Q; ///< square root of virtuality Q2 - ///< m_Q[0] = Q, m_Q[1] = Q^2, etc... - std::vector m_xBtQ2; - std::vector m_M; ///< Proton mass - ///< m_M[0] = M, m_M[1] = M^2, etc... - std::vector m_yBMJ; ///< Lepton energy fraction - ///< m_y[0] = y, m_y[1] = y^2, etc... - std::vector m_epsilonBMJ; ///< - ///< m_epsilon[0] = epsilon, m_epsilon[1] = epsilon^2, etc... - std::vector m_epsroot; ///< sqrt(1+epsilon^2) - std::vector m_K, m_Kt; ///< Kinematical factors K and K tilde - ///< m_K[0] = K, m_K[1] = K^2, etc... - std::vector m_Delta2; ///< Mandelstam variable t - ///< m_Delta2[0] = t, m_Delta2[1] = Delta^4 = t^2, etc... - - double m_P1, m_P2; ///< Lepton propagators - - void defineAngles(const NumA::Vector3D &targetPolarization); ///< Define the BMK angles - - double m_F1, m_F2; ///< Dirac and Pauli form factors - void computeFormFactors(); ///< Compute F1 and F2 form factors - - /* Bethe Heitler coeffs (BMK2002) */ - /** Fourier coeffs of the BH squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2 - */ - std::vector > m_cBH; - - double m_s1BHTP; ///< BH Fourier coeff s1 TP - - void computeFourierCoeffsBH(); ///< Computes c_BH and s_BH - - /* VCS coeffs (BMJ2012) */ - /** Fourier coeffs (cosinus) of the VCS squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2 - */ - std::vector > m_cVCS; - /** Fourier coeffs (sinus) of the VCS squared amplitude - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=0., [1]=s1, [2]=s2 - */ - std::vector > m_sVCS; - - void computeFourierCoeffsVCS(); ///< Computes c_VCS and s_VCS - - /* Interference coeffs (BMJ2012) */ - /** Fourier coeffs (cosinus) of the Interference term - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=c0, [1]=c1, [2]=c2, [3]=c3 - */ - std::vector > m_cI; - /** Fourier coeffs (sinus) of the Interference term - * 1st index: [0]=unp, [1]=LP, [2]=TP - * 2nd index: [0]=0., [1]=s1, [2]=s2, [3]=s3 - */ - std::vector > m_sI; - /** Angular coeffs C_ab(n), dC_ab(n), S_ab(n), dS_ab(n) - * 1st index: [0]=C++, [1]=C-+, [2]=C0+ - * 2nd index: [0]=not, [1]=V, [2]=A - * 3rd index: n - */ - std::vector > > m_C, m_S, m_dC, m_dS; - - void computeAngularCoeffsInterf(); ///< Computes C_ab(n), S_ab(n), etc. - void computeFourierCoeffsInterf(); ///< Computes c_I and s_I - - /** Coefficients used for computing F+b and F0+ - * 1st index: [0] = F++, [1] = F+-, [2] = F0+ - * 2nd index: [0]: F coeff, [1]: FT coeff, [2]: FLT coeff - */ - std::vector > m_cF; - - /** Array that stores the CFFs F+b and F0+ - * 1st index: [0] = H, [1] = E, [2] = Ht, [3] = Et - * 2nd index: [0] = F++, [1] = F+-, [2] = F0+ - */ - std::vector > > m_CFF; - - /** Method that gives F+b and F0+ already calculated - */ - std::complex CFF(GPDType::Type F, int a, int b); - - void computeCFFs(); ///< Computes CFFS F+b and F0+ - - /** Method that gives the VCS coefficient bilinear in the CFFs - * - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - */ - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2); - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2, - int a3, int b3); - std::complex C_VCS(unsigned int S, int a1, int b1, int a2, int b2, - int a3, int b3, int a4, int b4); - - /** Method that gives the Interference coefficient linear in the CFFs - * - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param VA can be "V" or "A" or "" - */ - std::complex C_I(unsigned int S, int a, int b, - const std::string& VA); - /** Method that gives the "effective" linear combinations of CFFS - * Corresponds to Eqs. (68-69) but multiplied by the coefficient C_{ab}(n) - * to avoid divisions by zero. - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param n - * @param a - * @param b - * @return {\cal C}_{ab,S}(n|Fab) * C_{ab}(n) - */ - std::complex C_I(unsigned int S, unsigned int n, int a, int b); - /** Method that gives the "effective" linear combinations of CFFS - * Corresponds to Eqs. (68-69) but multiplied by the coefficient S_{ab}(n) - * to avoid divisions by zero. - * @param S 0=unp, 1=LP, 2=TP+, 3=TP- - * @param n - * @param a - * @param b - * @return {\cal S}_{ab,S}(n|Fab) * S_{ab}(n) - */ - std::complex S_I(unsigned int S, unsigned int n, int a, int b); - - double SqrAmplBH(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the squared amplitude of Bethe Heitler process - double SqrAmplVCS(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the squared amplitude of VCS process - double SqrAmplInterf(double beamHelicity, double beamCharge, - NumA::Vector3D targetPolarization); ///< Returns the interference term of the squared amplitude -}; - -#endif /* DVCSPROCESSBMJ12INT_H */ diff --git a/src/partons/modules/gpd/GK11Gluonless.cpp b/src/partons/modules/gpd/GK11Gluonless.cpp deleted file mode 100644 index 8a070357..00000000 --- a/src/partons/modules/gpd/GK11Gluonless.cpp +++ /dev/null @@ -1,1883 +0,0 @@ -#include "../../../../include/partons/modules/gpd/GK11Gluonless.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "../../../../include/partons/beans/gpd/GPDType.h" -#include "../../../../include/partons/beans/parton_distribution/GluonDistribution.h" -#include "../../../../include/partons/beans/parton_distribution/PartonDistribution.h" -#include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" -#include "../../../../include/partons/beans/QuarkFlavor.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int GK11Gluonless::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11Gluonless("GK11Gluonless")); - -//TODO initialise missing members -GK11Gluonless::GK11Gluonless(const std::string &className) : - GPDModule(className) { - m_nf = 3; - fL = 0.; - m_MuF2_ref = 4.; - Huval1tab = std::vector(3, 0.); - Hdval1tab = std::vector(3, 0.); - Huval1mtab = std::vector(3, 0.); - Hdval1mtab = std::vector(3, 0.); - Hs1tab = std::vector(4, 0.); - Hi1tab = std::vector(4, 0.); - Euval1tab = std::vector(2, 0.); - Edval1tab = std::vector(8, 0.); - Euval1mtab = std::vector(2, 0.); - Edval1mtab = std::vector(8, 0.); - Es1tab = std::vector(3, 0.); - Ei1tab = std::vector(2, 0.); - Htuval1tab = std::vector(3, 0.); - Htdval1tab = std::vector(3, 0.); - Htuval1mtab = std::vector(3, 0.); - Htdval1mtab = std::vector(3, 0.); - Hti1tab = std::vector(3, 0.); - Etuval1tab = std::vector(4, 0.); - Etdval1tab = std::vector(4, 0.); - Etuval1mtab = std::vector(4, 0.); - Etdval1mtab = std::vector(4, 0.); - - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::H, &GPDModule::computeH)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::E, &GPDModule::computeE)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Ht, &GPDModule::computeHt)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Et, &GPDModule::computeEt)); -} - -GK11Gluonless::GK11Gluonless(const GK11Gluonless& other) : - GPDModule(other) { - c1 = other.getC1(); - c2 = other.getC2(); - c3 = other.getC3(); - c4 = other.getC4(); - c5 = other.getC5(); - c6 = other.getC6(); - c7 = other.getC7(); - c8 = other.getC8(); - b0 = other.getB0(); - kappa_s = other.getKappaS(); - fL = other.getL(); - fHuValMx = other.getHuValMx(); - fHdValMx = other.getHdValMx(); - fEuValMx = other.getEuValMx(); - fEdValMx = other.getEdValMx(); - fHtuValMx = other.getHtuValMx(); - fHtdValMx = other.getHtdValMx(); - fEtuValMx = other.getEtuValMx(); - fEtdValMx = other.getEtdValMx(); - kHgluon = other.getHgluon(); - kHsea = other.getHsea(); - kHuval = other.getHuval(); - kHdval = other.getHdval(); - kEgluon = other.getEgluon(); - kEsea = other.getEsea(); - kEuval = other.getEuval(); - kEdval = other.getEdval(); - kHtgluon = other.getHtgluon(); - kHtsea = other.getHtsea(); - kHtuval = other.getHtuval(); - kHtdval = other.getHtdval(); - kEtgluon = other.getEtgluon(); - kEtsea = other.getEtsea(); - kEtuval = other.getEtuval(); - kEtdval = other.getEtdval(); - Huval1tab = other.getHuval1tab(); - Hdval1tab = other.getHdval1tab(); - Huval1mtab = other.getHuval1mtab(); - Hdval1mtab = other.getHdval1mtab(); - Hs1tab = other.getHs1tab(); - Hi1tab = other.getHi1tab(); - Euval1tab = other.getEuval1tab(); - Edval1tab = other.getEdval1tab(); - Euval1mtab = other.getEuval1mtab(); - Edval1mtab = other.getEdval1mtab(); - Es1tab = other.getEs1tab(); - Ei1tab = other.getEi1tab(); - Htuval1tab = other.getHtuval1tab(); - Htdval1tab = other.getHtdval1tab(); - Htuval1mtab = other.getHtuval1mtab(); - Htdval1mtab = other.getHtdval1mtab(); - Hti1tab = other.getHti1tab(); - Etuval1tab = other.getEtuval1tab(); - Etdval1tab = other.getEtdval1tab(); - Etuval1mtab = other.getEtuval1mtab(); - Etdval1mtab = other.getEtdval1mtab(); -} - -GK11Gluonless* GK11Gluonless::clone() const { - return new GK11Gluonless(*this); -} - -GK11Gluonless::~GK11Gluonless() { -} - -void GK11Gluonless::configure(const ElemUtils::Parameters ¶meters) { - GPDModule::configure(parameters); -} - -//TODO implement -void GK11Gluonless::isModuleWellConfigured() { - GPDModule::isModuleWellConfigured(); - -} - -void GK11Gluonless::initModule() { - GPDModule::initModule(); - - fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale - - /* debug(__func__, - ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ -} - -PartonDistribution GK11Gluonless::computeH() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - -// Scales - - calculateHCoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 2.23 + 0.362 * fL; // See table 1 p. 12 - c2 = 5.43 - 7.0 * fL; // See table 1 p. 12 - c3 = -34.0 + 22.5 * fL; // See table 1 p. 12 - c4 = 40.6 - 21.6 * fL; // See table 1 p. 12 - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); // See eq. (39) p. 14 - - GluonDistribution gluonDistribution(0); - -// s quark - - c1 = 0.123 + 0.0003 * fL; // See table 1 p. 12 - c2 = -0.327 - 0.004 * fL; // See table 1 p. 12 - c3 = 0.692 - 0.068 * fL; // See table 1 p. 12 - c4 = -0.486 + 0.038 * fL; // See table 1 p. 12 - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); // See eq. (39) p. 14 - - quarkDistribution_s.setQuarkDistribution( - exp(b0 * m_t) - * (c1 * Hs1tab.at(0) + c2 * Hs1tab.at(1) + c3 * Hs1tab.at(2) - + c4 * Hs1tab.at(3))); // See eq. (27) - -// u quark, valence part - - c1 = 1.52 + 0.248 * fL; // See eq. (27) - c2 = 2.88 - 0.94 * fL; // See eq. (27) - c3 = -0.095 * fL; // See eq. (27) - - b0 = 0; // See p. 15 - - double uVal = exp(b0 * m_t) - * (c1 * Huval1tab.at(0) + c2 * Huval1tab.at(1) - + c3 * Huval1tab.at(2)); // See eq. (27) - - fHuValMx = exp(b0 * m_t) - * (c1 * Huval1mtab.at(0) + c2 * Huval1mtab.at(1) - + c3 * Huval1mtab.at(2)); // See eq. (27); - -// d quark, valence part - - c1 = 0.76 + 0.248 * fL; // See table 1 p. 12 - c2 = 3.11 - 1.36 * fL; // See table 1 p. 12 - c3 = -3.99 + 1.15 * fL; // See table 1 p. 12 - - b0 = 0; // See p. 15 - - double dVal = exp(b0 * m_t) - * (c1 * Hdval1tab.at(0) + c2 * Hdval1tab.at(1) - + c3 * Hdval1tab.at(2)); // See eq. (27) - - // C'est HqVal (-x) - fHdValMx = exp(b0 * m_t) - * (c1 * Hdval1mtab.at(0) + c2 * Hdval1mtab.at(1) - + c3 * Hdval1mtab.at(2)); // See eq. (27) - -// u and d quarks, sea part - - kappa_s = 1. + 0.68 / (1. + 0.52 * log(m_MuF2 / m_MuF2_ref)); // See eq. (36) - - double uSea = kappa_s * quarkDistribution_s.getQuarkDistribution(); // See eq. (35) - double dSea = uSea; - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - -// H, charge singlet - -// pGPD_H->setSquareChargeAveraged( -// Constant::U2_ELEC_CHARGE -// * (pGPDQuarkFlavorData_u->getSea() -// + pGPDQuarkFlavorData_u->getValence()) -// + Constant::D2_ELEC_CHARGE -// * (pGPDQuarkFlavorData_d->getSea() -// + pGPDQuarkFlavorData_d->getValence()) -// + Constant::S2_ELEC_CHARGE * pGPDQuarkFlavorData_s->getHq()); - - // Set Hq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal - fHuValMx + 2 * uSea); - quarkDistribution_d.setQuarkDistributionPlus(dVal - fHdValMx + 2 * dSea); - quarkDistribution_s.setQuarkDistributionPlus( - 2 * quarkDistribution_s.getQuarkDistribution()); - - // Set Hq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal + fHuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal + fHdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK11Gluonless::computeHt() { - - debug(__func__, "Entered function ..."); - - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - double delta, etau, etad, Nu, Nd; - - calculateHtCoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 3.39 - 0.864 * fL; - c2 = 1.73 + 0.24 * fL - 0.17 * fL * fL; - c3 = 0.42 - 0.115 * fL - 0.069 * fL * fL; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - GluonDistribution gluonDistribution(0); - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0); - -// s quark, Ht_sea = 0 for GK - quarkDistribution_s.setQuarkDistribution(0.); - -// u quark, valence part - - c1 = 0.170 + 0.03 * fL; //parameters from GK3 table 4 and note 11 december 2008 - c2 = 1.340 - 0.02 * fL; - c3 = 0.120 - 0.40 * fL; - - etau = 0.926; - delta = 0.48; - b0 = 0.; - - Nu = tgamma(1. - delta) * tgamma(4.) / tgamma(5. - delta) - * (c1 + c2 * (1. - delta) / (5. - delta) - + c3 * (2. - delta) * (1. - delta) / (6 - delta) - / (5. - delta)); -// + c4 * (3.-delta) * (2.-delta) * (1-delta)/(7.-delta)/(6.-delta)/(5.-delta) ) ; - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0 << ", etau = " << etau - << ", delta = " << delta << ", Nu = " << Nu); - - double uVal = etau / Nu * exp(b0 * m_t) - * (c1 * Htuval1tab.at(0) + c2 * Htuval1tab.at(1) - + c3 * Htuval1tab.at(2)); - fHtuValMx = etau / Nu * exp(b0 * m_t) - * (c1 * Htuval1mtab.at(0) + c2 * Htuval1mtab.at(1) - + c3 * Htuval1mtab.at(2)); // -pGPDData->getX() - -// d quark, valence part - - c1 = -0.320 - 0.040 * fL; // parameters from GK3 table 4 - c2 = -1.427 - 0.176 * fL; - c3 = 0.692 - 0.068 * fL; - - etad = -0.341; - - Nd = tgamma(1. - delta) * tgamma(4.) / tgamma(5. - delta) - * (c1 + c2 * (1. - delta) / (5. - delta) - + c3 * (2. - delta) * (1. - delta) / (6. - delta) - / (5. - delta)); - - b0 = 0; - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0 << ", etad = " << etad - << ", Nd = " << Nd); - - double dVal = etad / Nd * exp(b0 * m_t) - * (c1 * Htdval1tab.at(0) + c2 * Htdval1tab.at(1) - + c3 * Htdval1tab.at(2)); - fHtdValMx = etad / Nd * exp(b0 * m_t) - * (c1 * Htdval1mtab.at(0) + c2 * Htdval1mtab.at(1) - + c3 * Htdval1mtab.at(2)); // -pGPDData->getX() - -// u and d quark, sea part - double uSea = 0.; - double dSea = 0.; - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - - // Set Htq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal + fHtuValMx); - quarkDistribution_d.setQuarkDistributionPlus(dVal + fHtdValMx); - quarkDistribution_s.setQuarkDistributionPlus(0.); - - // Set Htq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal - fHtuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal - fHtdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK11Gluonless::computeE() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - calculateECoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 0.779; - c2 = -c1; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - GluonDistribution gluonDistribution(0); - -// s quark (sea) - - c1 = -0.155; - c2 = -2 * c1; - c3 = c1; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - quarkDistribution_s.setQuarkDistribution( - exp(b0 * m_t) - * (c1 * Es1tab.at(0) + c2 * Es1tab.at(1) + c3 * Es1tab.at(2))); - -// u quark, valence part - - c1 = 2.2053; - c2 = -c1; - - b0 = 0; - - double uVal = exp(b0 * m_t) * (c1 * Euval1tab.at(0) + c2 * Euval1tab.at(1)); - fEuValMx = exp(b0 * m_t) * (c1 * Euval1mtab.at(0) + c2 * Euval1mtab.at(1)); // -pGPDData->getX() - -// d quark, valence part - - c1 = -3.114; // DFJK4 version betad = 5.6 - c2 = 8.096; - c3 = -6.477; - c4 = 1.295; - c5 = 0.1296; - c6 = 0.0362; - c7 = 0.014516; - c8 = 0.0070504; - - b0 = 0; - - double dVal = exp(b0 * m_t) - * (c1 * Edval1tab.at(0) + c2 * Edval1tab.at(1) - + c3 * Edval1tab.at(2) + c4 * Edval1tab.at(3) - + c5 * Edval1tab.at(4) + c6 * Edval1tab.at(5) - + c7 * Edval1tab.at(6) + c8 * Edval1tab.at(7)); - fEdValMx = exp(b0 * m_t) - * (c1 * Edval1mtab.at(0) + c2 * Edval1mtab.at(1) - + c3 * Edval1mtab.at(2) + c4 * Edval1mtab.at(3) - + c5 * Edval1mtab.at(4) + c6 * Edval1mtab.at(5) - + c7 * Edval1mtab.at(6) + c8 * Edval1mtab.at(7)); // -pGPDData->getX() - -// u and d quarks, sea part - -//EuSea = Es - double uSea = quarkDistribution_s.getQuarkDistribution(); -//EdSea = Es - double dSea = quarkDistribution_s.getQuarkDistribution(); - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - - // Set Eq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal - fEuValMx + 2 * uSea); - quarkDistribution_d.setQuarkDistributionPlus(dVal - fEdValMx + 2 * dSea); - quarkDistribution_s.setQuarkDistributionPlus( - 2 * quarkDistribution_s.getQuarkDistribution()); - - // Set Eq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal + fEuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal + fEdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK11Gluonless::computeEt() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - double Nu, Nd; - double PionPolePx, PionPoleMx; - - calculateEtCoefs(); // Calculate the K's and the coefficients - - PionPolePx = Et_pole(m_x); - PionPoleMx = Et_pole(-m_x); - -// Gluons, Et_gluons = 0 for GK - GluonDistribution gluonDistribution(0.); - -// s quark, Et_sea = 0 for GK - quarkDistribution_s.setQuarkDistributionPlus(0.); - -// u quark, valence part - - Nu = 14.0; - c1 = Nu; // parameters P.Kroll Maple file - c2 = -2. * Nu; - c3 = Nu; - c4 = 0.0; - b0 = 0.9; // from P.Kroll's email, 14/3/2011 - - double fEtuVal = exp(b0 * m_t) - * (c1 * Etuval1tab.at(0) + c2 * Etuval1tab.at(1) - + c3 * Etuval1tab.at(2) + c4 * Etuval1tab.at(3)); - fEtuVal += PionPolePx; - double uVal = fEtuVal; - fEtuValMx = exp(b0 * m_t) - * (c1 * Etuval1mtab.at(0) + c2 * Etuval1mtab.at(1) - + c3 * Etuval1mtab.at(2) + c4 * Etuval1mtab.at(3)); // -pGPDData->getX() - fEtuValMx += PionPoleMx; - -// d quark, valence part - - Nd = 4.0; - c1 = Nd; // parameters P.Kroll Maple file - c2 = -2. * Nd; - c3 = Nd; - c4 = 0.0; - b0 = 0.9; - - double fEtdVal = exp(b0 * m_t) - * (c1 * Etdval1tab.at(0) + c2 * Etdval1tab.at(1) - + c3 * Etdval1tab.at(2) + c4 * Etdval1tab.at(3)); - fEtdVal -= PionPolePx; - double dVal = fEtdVal; - fEtdValMx = exp(b0 * m_t) - * (c1 * Etdval1mtab.at(0) + c2 * Etdval1mtab.at(1) - + c3 * Etdval1mtab.at(2) + c4 * Etdval1mtab.at(3)); // -pGPDData->getX() - fEtdValMx -= PionPoleMx; - -// u and d quark, sea part - double uSea = 0.; - double dSea = 0.; - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - - // Set Etq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal + fEtuValMx); - quarkDistribution_d.setQuarkDistributionPlus(dVal + fEtdValMx); - quarkDistribution_s.setQuarkDistributionPlus(0.); - - // Set Eq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal - fEtuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal - fEtdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -//double GK11Gluonless::computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s) { -// -// if (m_nbOfQuarkFlavor == 0) { -// throwException(__func__, "divided by ZERO !"); -// } -// -// double result = quarkDistribution_u.getQuarkDistributionPlus() -// + quarkDistribution_d.getQuarkDistributionPlus() -// + quarkDistribution_s.getQuarkDistributionPlus(); -// result *= (1 / (2 * m_nbOfQuarkFlavor)); -// -// return result; -//} - -void GK11Gluonless::calculateHCoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow (full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateHKas(); // comes up with kHgluon, kHsea, kHuval, kHdval - - if (!slow_sea) { - if (m_x >= 0) { - Hs1tab.at(0) = Hs1(m_x, 0., kHsea); - Hs1tab.at(1) = Hs1(m_x, 0.5, kHsea); - Hs1tab.at(2) = Hs1(m_x, 1., kHsea); - Hs1tab.at(3) = Hs1(m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1(m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1(m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1(m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1(m_x, 1.5, kHgluon); ///< TODO: CHECK IT - ADDED BY JAKUB - } else { - Hs1tab.at(0) = -Hs1(-m_x, 0., kHsea); - Hs1tab.at(1) = -Hs1(-m_x, 0.5, kHsea); - Hs1tab.at(2) = -Hs1(-m_x, 1., kHsea); - Hs1tab.at(3) = -Hs1(-m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1(-m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1(-m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1(-m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1(-m_x, 1.5, kHgluon); - } - } else { - if (m_x >= 0) { - Hs1tab.at(0) = Hs1_alt(m_x, 0., kHsea); - Hs1tab.at(1) = Hs1_alt(m_x, 0.5, kHsea); - Hs1tab.at(2) = Hs1_alt(m_x, 1., kHsea); - Hs1tab.at(3) = Hs1_alt(m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1_alt(m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1_alt(m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1_alt(m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1_alt(m_x, 1.5, kHgluon); - } else { - Hs1tab.at(0) = -Hs1_alt(-m_x, 0., kHsea); - Hs1tab.at(1) = -Hs1_alt(-m_x, 0.5, kHsea); - Hs1tab.at(2) = -Hs1_alt(-m_x, 1., kHsea); - Hs1tab.at(3) = -Hs1_alt(-m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1_alt(-m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1_alt(-m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1_alt(-m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1_alt(-m_x, 1.5, kHgluon); - } - } - - if (!slow_val) { - Huval1tab.at(0) = Hval1(m_x, 0., kHuval); - Huval1tab.at(1) = Hval1(m_x, 0.5, kHuval); - Huval1tab.at(2) = Hval1(m_x, 1., kHuval); - - Hdval1tab.at(0) = Hval1(m_x, 0., kHdval); - Hdval1tab.at(1) = Hval1(m_x, 0.5, kHdval); - Hdval1tab.at(2) = Hval1(m_x, 1., kHdval); - - Huval1mtab.at(0) = Hval1(-m_x, 0., kHuval); - Huval1mtab.at(1) = Hval1(-m_x, 0.5, kHuval); - Huval1mtab.at(2) = Hval1(-m_x, 1., kHuval); - - Hdval1mtab.at(0) = Hval1(-m_x, 0., kHdval); - Hdval1mtab.at(1) = Hval1(-m_x, 0.5, kHdval); - Hdval1mtab.at(2) = Hval1(-m_x, 1., kHdval); - - } else { - Huval1tab.at(0) = Hval1_alt(m_x, 0., kHuval); - Huval1tab.at(1) = Hval1_alt(m_x, 0.5, kHuval); - Huval1tab.at(2) = Hval1_alt(m_x, 1., kHuval); - - Hdval1tab.at(0) = Hval1_alt(m_x, 0., kHdval); - Hdval1tab.at(1) = Hval1_alt(m_x, 0.5, kHdval); - Hdval1tab.at(2) = Hval1_alt(m_x, 1., kHdval); - - Huval1mtab.at(0) = Hval1_alt(-m_x, 0., kHuval); - Huval1mtab.at(1) = Hval1_alt(-m_x, 0.5, kHuval); - Huval1mtab.at(2) = Hval1_alt(-m_x, 1., kHuval); - - Hdval1mtab.at(0) = Hval1_alt(-m_x, 0., kHdval); - Hdval1mtab.at(1) = Hval1_alt(-m_x, 0.5, kHdval); - Hdval1mtab.at(2) = Hval1_alt(-m_x, 1., kHdval); - } -} - -void GK11Gluonless::calculateHKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = 0.10 + 0.06 * fL; - kHgluon = delta + alpha * m_t; - -// sea - - alpha = 0.15; // same as slope of gluon trajectory - delta = 1.1 + 0.06 * fL - 0.0027 * fL * fL; - kHsea = delta + alpha * m_t; - -// u valence - - alpha = 0.9; - delta = 0.48; - kHuval = delta + alpha * m_t; - -// d valence - - alpha = 0.9 - 0.05 * fL; - delta = 0.48 + 0.006 * fL; - kHdval = delta + alpha * m_t; -} - -double GK11Gluonless::Hs1(double x, double i, double k) { - - double dummy; - - if ((x - m_xi) < 0) { - dummy = 15. / 4. / pow(m_xi, 5.) - * pow((x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) / (5. + i - k) - - 15. / 4. / pow(m_xi, 5.) - * pow((-x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi + x, 2.) - + 6. * (3. + i - k) * m_xi * (1. + x) - * (m_xi * m_xi + x) - - 2. * (2. + i - k) * (4. + i - k) - * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) - / (5. + i - k); - } else { - dummy = 15. / 4. / pow(m_xi, 5.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) / (4. + i - k) / (5. + i - k) - * (((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - - pow((x - m_xi) / (1. - m_xi), 3. + i - k)) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - + pow((x - m_xi) / (1. - m_xi), - 3. + i - k))); - } - - /* debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" << i - << ", k=" << k << ") dummy = " << dummy);*/ - - return dummy; -} - -double GK11Gluonless::Hi1(double x, double i, double k) { - - double dummy; - - if ((x - m_xi) < 0) { - dummy = 15. / 4. / pow(m_xi, 5.) - * pow((x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) / (5. + i - k) - + 15. / 4. / pow(m_xi, 5.) - * pow((-x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi + x, 2.) - + 6. * (3. + i - k) * m_xi * (1. + x) - * (m_xi * m_xi + x) - - 2. * (2. + i - k) * (4. + i - k) - * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) - / (5. + i - k); - } else { - dummy = 15. / 4. / pow(m_xi, 5.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) / (4. + i - k) / (5. + i - k) - * (((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - - pow((x - m_xi) / (1. - m_xi), 3. + i - k)) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - + pow((x - m_xi) / (1. - m_xi), - 3. + i - k))); - } - - return dummy; -} - -double GK11Gluonless::Hs1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += -dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - dummy = double_approx(dummya); - - return dummy; -} - -double GK11Gluonless::Hi1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - - dummy = double_approx(dummya); - - return dummy; -} - -double GK11Gluonless::Hval1(double x, double i, double k) { - - double dummy; - - if ((x + m_xi) < 0) { - dummy = 0.; // no anti-quarks in valence ! - } else if ((x - m_xi) < 0) { - dummy = 3. / 2. / pow(m_xi, 3.) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - * (m_xi * m_xi - x + (2. + i - k) * m_xi * (1. - x))) - / (1. + i - k) / (2. + i - k) / (3. + i - k); - } else { - dummy = 3. / 2. / pow(m_xi, 3.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) - * ((m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - - pow((x - m_xi) / (1. - m_xi), (2. + i - k))) - + m_xi * (1. - x) * (2. + i - k) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - + pow((x - m_xi) / (1. - m_xi), - (2. + i - k)))); - } - - /* debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" << i - << ", k=" << k << ") dummy = " << dummy);*/ - - return dummy; -} - -double GK11Gluonless::Hval1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi3 = expt(xia, 3); - - if (fabs(x + m_xi) > 1e-6) { - dummy2 = exp((2 + ia - ka) * ln((xba + xia) / (1 + xia))); - } else { - dummy2 = 0; - } - - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((2 + ia - ka) * ln((xba - xia) / (1 - xia))); - } else { - dummy1 = 0; - } - - double dummy; - - if ((x + m_xi) < 0) { - dummy = 0.; // no anti-quarks in valence ! - } else if ((x - m_xi) < 0) { - dummya = dummy2 * (xia * xia - xba + (2 + ia - ka) * xia * (1 - xba)); - - dummya *= cl_float(3, prec) / 2 / xi3 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka); - - } else { - dummya = (xia * xia - xba) * (dummy2 - dummy1); - - dummya += (2 + ia - ka) * xia * (1 - xba) * (dummy2 + dummy1); - - dummya *= cl_float(3, prec) / 2 / xi3 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka); - } - - dummy = double_approx(dummya); - - debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" - << i << ", k=" << k << ") dummy = " << dummy); - - return dummy; -} - -/** ! - * \fn void STGK11Gluonless::calculateHtCoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Hti1 ( i = 0, 0.5, 1 ) - * - Htval1( i = 0, 1, 2 ) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share the same limits as strange/sea as far as slow/fast goes. - * ( gluons only for now, Htilde_sea = 0 for Kroll ) - * - */ -void GK11Gluonless::calculateHtCoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateHtKas(); // comes up with kHtgluon, kHstea, kHtuval, kHtdval - -// No sea Ht for GK. - - debug(__func__, - ElemUtils::Formatter() << "slow_sea = " << slow_sea - << " slow_val = " << slow_val); - -//TODO permuter les conditions - - if (!slow_sea) { - if (m_x >= 0) { - Hti1tab.at(0) = Hti1(m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1(m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1(m_x, 1.0, kHtgluon); - } else { - Hti1tab.at(0) = Hti1(-m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1(-m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1(-m_x, 1.0, kHtgluon); - } - } else { - if (m_x >= 0) { - Hti1tab.at(0) = Hti1_alt(m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1_alt(m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1_alt(m_x, 1.0, kHtgluon); - } else { - Hti1tab.at(0) = Hti1_alt(-m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1_alt(-m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1_alt(-m_x, 1.0, kHtgluon); - } - } - - if (!slow_val) { - Htuval1tab.at(0) = Htval1(m_x, 0., kHtuval); - Htuval1tab.at(1) = Htval1(m_x, 1., kHtuval); - Htuval1tab.at(2) = Htval1(m_x, 2., kHtuval); - - Htdval1tab.at(0) = Htuval1tab.at(0); // kHtdval & kHtuval are equal - Htdval1tab.at(1) = Htuval1tab.at(1); // for u and d for Ht - Htdval1tab.at(2) = Htuval1tab.at(2); // don't need to recalculate - - Htuval1mtab.at(0) = Htval1(-m_x, 0., kHtuval); - Htuval1mtab.at(1) = Htval1(-m_x, 1., kHtuval); - Htuval1mtab.at(2) = Htval1(-m_x, 2., kHtuval); - - Htdval1mtab.at(0) = Htuval1mtab.at(0); - Htdval1mtab.at(1) = Htuval1mtab.at(1); - Htdval1mtab.at(2) = Htuval1mtab.at(2); - - } else { - Htuval1tab.at(0) = Htval1_alt(m_x, 0., kHtuval); - Htuval1tab.at(1) = Htval1_alt(m_x, 1., kHtuval); - Htuval1tab.at(2) = Htval1_alt(m_x, 2., kHtuval); - - Htdval1tab.at(0) = Htuval1tab.at(0); - Htdval1tab.at(1) = Htuval1tab.at(1); - Htdval1tab.at(2) = Htuval1tab.at(2); - - Htuval1mtab.at(0) = Htval1_alt(-m_x, 0., kHtuval); - Htuval1mtab.at(1) = Htval1_alt(-m_x, 1., kHtuval); - Htuval1mtab.at(2) = Htval1_alt(-m_x, 2., kHtuval); - - Htdval1mtab.at(0) = Htuval1mtab.at(0); - Htdval1mtab.at(1) = Htuval1mtab.at(1); - Htdval1mtab.at(2) = Htuval1mtab.at(2); - } -} - -/*! - * \fn void STGK11Gluonless::calculateHtKas() - * - * Compute t-dependence of GPD Ht correlated to x. - * - */ -void GK11Gluonless::calculateHtKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = -0.78 + 0.17 * fL; - kHtgluon = delta + alpha * m_t; - -// sea, not modelled by GK. - - kHtsea = 0.; - -// u valence - - alpha = 0.45; - delta = 0.48; - kHtuval = delta + alpha * m_t; - -// d valence - - kHtdval = kHtuval; - - debug(__func__, - ElemUtils::Formatter() << "(t=" << m_t << ") kHtgluon=" << kHtgluon - << " kHtsea=" << kHtsea << " kHtuval=" << kHtuval - << " kHtdval=" << kHtdval); -} - -/*! - * \fn void STGK11Gluonless::CalculateEtKas() - * - * Exactly the same as Hval1_alt and Eval1_alt. - * - */ -double GK11Gluonless::Htval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -/*! - * \fn double STGK11Gluonless::Hti1( double x, double i, double k ) - * - * Exactly the same as Hs1. - * - */ -double GK11Gluonless::Hti1(double x, double i, double k) { - - return Hs1(x, i, k); -} - -/*! - * \fn void STGK11Gluonless::CalculateEtKas() - * - * Exactly the same as Hs1_alt. - * - */ -double GK11Gluonless::Hti1_alt(double x, double i, double k) { - -//return Hs1_alt(_xi, x, i, k); - - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += -dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - dummy = double_approx(dummya); - - debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" - << i << ", k=" << k << ") dummy = " << dummy); - - return dummy; -} - -/*! - * \fn void STGK11Gluonless::CalculateEtKas() - * - * Exactly the same as Hval1 and Eval1. - * - */ -double GK11Gluonless::Htval1(double x, double i, double k) { - - return Hval1(x, i, k); -} - -/** ! - * \fn void STGK11Gluonless::calculateECoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Es1 (i=0, 1, 2) - * - Ei1 (i=0, 1) - * - Eval1(i=0, 1, 2) (u) - * - Eval1(i=0, .. ,7) (d) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. - * - */ -void GK11Gluonless::calculateECoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateEKas(); // comes up with kEgluon, kEsea, kEuval, kEdval - - if (!slow_sea) { - if (m_x >= 0) { - Es1tab.at(0) = Es1(m_x, 0., kEsea); - Es1tab.at(1) = Es1(m_x, 1., kEsea); - Es1tab.at(2) = Es1(m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1(m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1(m_x, 1., kEgluon); - } else { - Es1tab.at(0) = -Es1(-m_x, 0., kEsea); - Es1tab.at(1) = -Es1(-m_x, 1., kEsea); - Es1tab.at(2) = -Es1(-m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1(-m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1(-m_x, 1., kEgluon); - } - } else { - if (m_x >= 0) { - Es1tab.at(0) = Es1_alt(m_x, 0., kEsea); - Es1tab.at(1) = Es1_alt(m_x, 1., kEsea); - Es1tab.at(2) = Es1_alt(m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1_alt(m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1_alt(m_x, 1., kEgluon); - } else { - Es1tab.at(0) = -Es1_alt(-m_x, 0., kEsea); - Es1tab.at(1) = -Es1_alt(-m_x, 1., kEsea); - Es1tab.at(2) = -Es1_alt(-m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1_alt(-m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1_alt(-m_x, 1., kEgluon); - } - } - - if (!slow_val) { - Euval1tab.at(0) = Eval1(m_x, 0., kEuval); - Euval1tab.at(1) = Eval1(m_x, 1., kEuval); - - Edval1tab.at(0) = Eval1(m_x, 0., kEdval); - Edval1tab.at(1) = Eval1(m_x, 1., kEdval); - Edval1tab.at(2) = Eval1(m_x, 2., kEdval); - Edval1tab.at(3) = Eval1(m_x, 3., kEdval); - Edval1tab.at(4) = Eval1(m_x, 4., kEdval); - Edval1tab.at(5) = Eval1(m_x, 5., kEdval); - Edval1tab.at(6) = Eval1(m_x, 6., kEdval); - Edval1tab.at(7) = Eval1(m_x, 7., kEdval); - - Euval1mtab.at(0) = Eval1(-m_x, 0., kEuval); - Euval1mtab.at(1) = Eval1(-m_x, 1., kEuval); - - Edval1mtab.at(0) = Eval1(-m_x, 0., kEdval); - Edval1mtab.at(1) = Eval1(-m_x, 1., kEdval); - Edval1mtab.at(2) = Eval1(-m_x, 2., kEdval); - Edval1mtab.at(3) = Eval1(-m_x, 3., kEdval); - Edval1mtab.at(4) = Eval1(-m_x, 4., kEdval); - Edval1mtab.at(5) = Eval1(-m_x, 5., kEdval); - Edval1mtab.at(6) = Eval1(-m_x, 6., kEdval); - Edval1mtab.at(7) = Eval1(-m_x, 7., kEdval); - - } else { - Euval1tab.at(0) = Eval1_alt(m_x, 0., kEuval); - Euval1tab.at(1) = Eval1_alt(m_x, 1., kEuval); - - Edval1tab.at(0) = Eval1_alt(m_x, 0., kEdval); - Edval1tab.at(1) = Eval1_alt(m_x, 1., kEdval); - Edval1tab.at(2) = Eval1_alt(m_x, 2., kEdval); - Edval1tab.at(3) = Eval1_alt(m_x, 3., kEdval); - Edval1tab.at(4) = Eval1_alt(m_x, 4., kEdval); - Edval1tab.at(5) = Eval1_alt(m_x, 5., kEdval); - Edval1tab.at(6) = Eval1_alt(m_x, 6., kEdval); - Edval1tab.at(7) = Eval1_alt(m_x, 7., kEdval); - - Euval1mtab.at(0) = Eval1_alt(-m_x, 0., kEuval); - Euval1mtab.at(1) = Eval1_alt(-m_x, 1., kEuval); - - Edval1mtab.at(0) = Eval1_alt(-m_x, 0., kEdval); - Edval1mtab.at(1) = Eval1_alt(-m_x, 1., kEdval); - Edval1mtab.at(2) = Eval1_alt(-m_x, 2., kEdval); - Edval1mtab.at(3) = Eval1_alt(-m_x, 3., kEdval); - Edval1mtab.at(4) = Eval1_alt(-m_x, 4., kEdval); - Edval1mtab.at(5) = Eval1_alt(-m_x, 5., kEdval); - Edval1mtab.at(6) = Eval1_alt(-m_x, 6., kEdval); - Edval1mtab.at(7) = Eval1_alt(-m_x, 7., kEdval); - } - -} - -/*! - * \fn void STGK11Gluonless::calculateEKas() - * - * Compute t-dependence of GPD H correlated to x. - * - */ -void GK11Gluonless::calculateEKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = 0.10 + 0.06 * fL - 0.0027 * fL * fL; - kEgluon = delta + alpha * m_t; - -// sea - - alpha = 0.15; // same as slope of gluon trajectory - delta = 1.1 + 0.06 * fL - 0.0027 * fL * fL; - kEsea = delta + alpha * m_t; - -// u valence - - alpha = 0.9; - delta = 0.48; - kEuval = delta + alpha * m_t; - -// d valence - - alpha = 0.9; - delta = 0.48; - kEdval = delta + alpha * m_t; - -} - -/*! - * \fn double STGK11Gluonless::Es1( double x, double i, double k ) - * - * Exactly the same as Hs1. - * - */ -double GK11Gluonless::Es1(double x, double i, double k) { - return Hs1(x, i, k); -} - -/*! - * \fn double STGK11Gluonless::Ei1( double x, double i, double k ) - * - * Exactly the same as Hi1. - * - */ -double GK11Gluonless::Ei1(double x, double i, double k) { - return Hi1(x, i, k); -} - -/*! - * \fn double STGK11Gluonless::Es1_alt( double x, double i, double k ) - * - * Exactly the same as Hs1_alt. - * - */ -double GK11Gluonless::Es1_alt(double x, double i, double k) { - return Hs1_alt(x, i, k); -} - -/*! - * \fn double STGK11Gluonless::Ei1_alt( double x, double i, double k ) - * - * Exactly the same as Hi1_alt. - * - */ -double GK11Gluonless::Ei1_alt(double x, double i, double k) { - return Hi1_alt(x, i, k); -} - -/*! - * \fn double STGK11Gluonless::Eval1( double x, double i, double k ) - * - * Exactly the same as Hval1. - * - */ -double GK11Gluonless::Eval1(double x, double i, double k) { - return Hval1(x, i, k); -} - -/*! - * \fn void STGK11Gluonless::CalculateEtKas() - * - * Exactly the same as Hval1_alt. - * - */ -double GK11Gluonless::Eval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -/** ! - * \fn void STGK11Gluonless::calculateEtCoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Etval1 ( i = 0, 1, 2, 3 ) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share the same limits as strange/sea as far as slow/fast goes. - * For the sea ( and gluons later ) - * - */ -void GK11Gluonless::calculateEtCoefs() { - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - -// For valence - - if ((m_xi < 0.04) - && (log10(m_xi) < ((-4. / log10(0.55)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateEtKas(); // comes up with kHgluon, kHsea, kHuval, kHdval - -// WARNING : No sea or gluon Et for GK. - - if (!slow_val) { - Etuval1tab.at(0) = Etval1(m_x, 0., kEtuval); - Etuval1tab.at(1) = Etval1(m_x, 1., kEtuval); - Etuval1tab.at(2) = Etval1(m_x, 2., kEtuval); - Etuval1tab.at(3) = Etval1(m_x, 3., kEtuval); - - Etdval1tab.at(0) = Etuval1tab.at(0); // kEtdval & kEtuval are equal - Etdval1tab.at(1) = Etuval1tab.at(1); // for u and d for Et, - Etdval1tab.at(2) = Etuval1tab.at(2); // don't need to recalculate - Etdval1tab.at(3) = Etuval1tab.at(3); - - Etuval1mtab.at(0) = Etval1(-m_x, 0., kEtuval); - Etuval1mtab.at(1) = Etval1(-m_x, 1., kEtuval); - Etuval1mtab.at(2) = Etval1(-m_x, 2., kEtuval); - Etuval1mtab.at(3) = Etval1(-m_x, 3., kEtuval); - - Etdval1mtab.at(0) = Etuval1mtab.at(0); - Etdval1mtab.at(1) = Etuval1mtab.at(1); - Etdval1mtab.at(2) = Etuval1mtab.at(2); - Etdval1mtab.at(3) = Etuval1mtab.at(3); - - } else { - Etuval1tab.at(0) = Etval1_alt(m_x, 0., kEtuval); - Etuval1tab.at(1) = Etval1_alt(m_x, 1., kEtuval); - Etuval1tab.at(2) = Etval1_alt(m_x, 2., kEtuval); - Etuval1tab.at(3) = Etval1_alt(m_x, 3., kEtuval); - - Etdval1tab.at(0) = Etuval1tab.at(0); - Etdval1tab.at(1) = Etuval1tab.at(1); - Etdval1tab.at(2) = Etuval1tab.at(2); - Etdval1tab.at(3) = Etuval1tab.at(3); - - Etuval1mtab.at(0) = Etval1_alt(-m_x, 0., kEtuval); - Etuval1mtab.at(1) = Etval1_alt(-m_x, 1., kEtuval); - Etuval1mtab.at(2) = Etval1_alt(-m_x, 2., kEtuval); - Etuval1mtab.at(3) = Etval1_alt(-m_x, 3., kEtuval); - - Etdval1mtab.at(0) = Etuval1mtab.at(0); - Etdval1mtab.at(1) = Etuval1mtab.at(1); - Etdval1mtab.at(2) = Etuval1mtab.at(2); - Etdval1mtab.at(3) = Etuval1mtab.at(3); - } -} - -/*! - * \fn void STGK11Gluonless::calculateEtKas() - * - * Compute t-dependence of GPD Et correlated to x. - * - */ -void GK11Gluonless::calculateEtKas() { - double alpha, delta; - -// gluons, not modelled by GK. - - kEtgluon = 0.; - -// sea, not modelled by GK. - - kEtsea = 0.; - -// u valence - - alpha = 0.45; - delta = 0.48; - kEtuval = delta + alpha * m_t; - -// d valence - - kEtdval = kEtuval; -} - -/* ! - * \fn double STGK11Gluonless::Et_pole( double x ) - * - * Pion pole contribution to Et. - * - */ -double GK11Gluonless::Et_pole(double x) { - -//TODO extraire les constantes si existantes - - double dum = 0.; // Initialize to 0 - double eps; - double eps2; - double tmin; - double xbj; - double Q2 = m_MuF2; - double tOverQ2 = m_t / Q2; - double y = (x + m_xi) / 2. / m_xi; - double MPi2 = Constant::PI_ZERO_MASS * Constant::PI_ZERO_MASS; - double gpiNN = 13.4; - double f_pi = 0.131; // f_pi=0.131 GeV from paper. Actually 130.4 from PDG (Jul2010) - double Lambda_N2 = 0.51 * 0.51; - double Fp; - double FpiNN; - - xbj = 2. * m_xi / (m_xi - tOverQ2 * m_xi + 1. + tOverQ2 * 0.5); - eps = 2. * xbj * Constant::PROTON_MASS / sqrt(Q2); - eps2 = eps * eps; - - if (eps < 1 && (4. * xbj * (1. - xbj) + eps2) != 0) { - - tmin = -Q2 * (2. * (1. - xbj) * (1 - sqrt(1. + eps2)) + eps2) - / (4. * xbj * (1. - xbj) + eps2); - FpiNN = (Lambda_N2 - MPi2) / (Lambda_N2 - (m_t - tmin)); - Fp = -Constant::PROTON_MASS * f_pi * (2. * sqrt(2.) * gpiNN * FpiNN) - / (m_t - MPi2); - - if (x < m_xi && x > -m_xi && m_t < tmin) { -// dum = ( Fp( pKinematicVariables->getT(), Q2, tmin ) / 4. / pGPDData->getXi() ) * Phi_pi( ( x + pGPDData->getXi() ) / 2. / pGPDData->getXi() ) ; - dum = (Fp / 4. / m_xi) * 6. * y * (1. - y); - } - - } - - return dum; -} - -/*! - * \fn double STGK11Gluonless::Etval1( double x, double i, double k ) - * - * xdiff:=evalf(xb-xi); xsum:=evalf(xb+xi); - * if xsum<0 then # xb<-xi - * Hi:=0 else - * if xdiff <0 then # xb 3/2/xi^3*(((xb+xi)/(1+xi))^(2+i-k)*(xi^2-xb+(2+i-k)*xi*(1-xb))) - * /(1+i-k)/(2+i-k)/(3+i-k) - * else - * Hi:= i -> 3/2/xi^3/(1+i-k)/(2+i-k)/(3+i-k)*((xi^2-xb)*( ((xb+xi)/(1+xi))^(2+i-k) - * -((xb-xi)/(1-xi))^(2+i-k)) - * + xi*(1-xb)*(2+i-k)*(((xb+xi)/(1+xi))^(2+i-k)+ ((xb-xi)/(1-xi))^(2+i-k) ) ) - * end if: end if: - * - */ -double GK11Gluonless::Etval1(double x, double i, double k) { - double dum; - - if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() - dum = 0.0; - } else { // Two cases for x >= -pGPDData->getXi() - if ((x - m_xi) < 0) { - dum = - 3. / 2. / pow(m_xi, 3.) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - * (m_xi * m_xi - x - + (2. + i - k) * m_xi * (1. - x))) - / (1. + i - k) / (2. + i - k) / (3. + i - k); - } else { - dum = 3. / 2. / pow(m_xi, 3.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) - * ((m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - - pow((x - m_xi) / (1. - m_xi), - (2. + i - k))) - + m_xi * (1. - x) * (2. + i - k) - * (pow((x + m_xi) / (1. + m_xi), - (2. + i - k)) - + pow((x - m_xi) / (1. - m_xi), - (2. + i - k)))); - } - } - return dum; -} - -/*! - * \fn double STGK11Gluonless::Etval1_alt( double x, double i, double k ) - * - * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. - * - */ -double GK11Gluonless::Etval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -double GK11Gluonless::getB0() const { - return b0; -} - -double GK11Gluonless::getC1() const { - return c1; -} - -double GK11Gluonless::getC2() const { - return c2; -} - -double GK11Gluonless::getC3() const { - return c3; -} - -double GK11Gluonless::getC4() const { - return c4; -} - -double GK11Gluonless::getC5() const { - return c5; -} - -double GK11Gluonless::getC6() const { - return c6; -} - -double GK11Gluonless::getC7() const { - return c7; -} - -double GK11Gluonless::getC8() const { - return c8; -} - -const std::vector& GK11Gluonless::getEdval1mtab() const { - return Edval1mtab; -} - -const std::vector& GK11Gluonless::getEdval1tab() const { - return Edval1tab; -} - -const std::vector& GK11Gluonless::getEi1tab() const { - return Ei1tab; -} - -const std::vector& GK11Gluonless::getEs1tab() const { - return Es1tab; -} - -const std::vector& GK11Gluonless::getEtdval1mtab() const { - return Etdval1mtab; -} - -const std::vector& GK11Gluonless::getEtdval1tab() const { - return Etdval1tab; -} - -const std::vector& GK11Gluonless::getEtuval1mtab() const { - return Etuval1mtab; -} - -const std::vector& GK11Gluonless::getEtuval1tab() const { - return Etuval1tab; -} - -const std::vector& GK11Gluonless::getEuval1mtab() const { - return Euval1mtab; -} - -const std::vector& GK11Gluonless::getEuval1tab() const { - return Euval1tab; -} - -double GK11Gluonless::getEdValMx() const { - return fEdValMx; -} - -double GK11Gluonless::getEtdValMx() const { - return fEtdValMx; -} - -double GK11Gluonless::getEtuValMx() const { - return fEtuValMx; -} - -double GK11Gluonless::getEuValMx() const { - return fEuValMx; -} - -double GK11Gluonless::getHdValMx() const { - return fHdValMx; -} - -double GK11Gluonless::getHtdValMx() const { - return fHtdValMx; -} - -double GK11Gluonless::getHtuValMx() const { - return fHtuValMx; -} - -double GK11Gluonless::getHuValMx() const { - return fHuValMx; -} - -double GK11Gluonless::getL() const { - return fL; -} - -const std::vector& GK11Gluonless::getHdval1mtab() const { - return Hdval1mtab; -} - -const std::vector& GK11Gluonless::getHdval1tab() const { - return Hdval1tab; -} - -const std::vector& GK11Gluonless::getHi1tab() const { - return Hi1tab; -} - -const std::vector& GK11Gluonless::getHs1tab() const { - return Hs1tab; -} - -const std::vector& GK11Gluonless::getHtdval1mtab() const { - return Htdval1mtab; -} - -const std::vector& GK11Gluonless::getHtdval1tab() const { - return Htdval1tab; -} - -const std::vector& GK11Gluonless::getHti1tab() const { - return Hti1tab; -} - -const std::vector& GK11Gluonless::getHtuval1mtab() const { - return Htuval1mtab; -} - -const std::vector& GK11Gluonless::getHtuval1tab() const { - return Htuval1tab; -} - -const std::vector& GK11Gluonless::getHuval1mtab() const { - return Huval1mtab; -} - -const std::vector& GK11Gluonless::getHuval1tab() const { - return Huval1tab; -} - -double GK11Gluonless::getKappaS() const { - return kappa_s; -} - -double GK11Gluonless::getEdval() const { - return kEdval; -} - -double GK11Gluonless::getEgluon() const { - return kEgluon; -} - -double GK11Gluonless::getEsea() const { - return kEsea; -} - -double GK11Gluonless::getEtdval() const { - return kEtdval; -} - -double GK11Gluonless::getEtgluon() const { - return kEtgluon; -} - -double GK11Gluonless::getEtsea() const { - return kEtsea; -} - -double GK11Gluonless::getEtuval() const { - return kEtuval; -} - -double GK11Gluonless::getEuval() const { - return kEuval; -} - -double GK11Gluonless::getHdval() const { - return kHdval; -} - -double GK11Gluonless::getHgluon() const { - return kHgluon; -} - -double GK11Gluonless::getHsea() const { - return kHsea; -} - -double GK11Gluonless::getHtdval() const { - return kHtdval; -} - -double GK11Gluonless::getHtgluon() const { - return kHtgluon; -} - -double GK11Gluonless::getHtsea() const { - return kHtsea; -} - -double GK11Gluonless::getHtuval() const { - return kHtuval; -} - -double GK11Gluonless::getHuval() const { - return kHuval; -} - -std::string GK11Gluonless::toString() const { - return GPDModule::toString(); -} diff --git a/src/partons/modules/gpd/GK11ModelNoGluons.cpp b/src/partons/modules/gpd/GK11ModelNoGluons.cpp deleted file mode 100644 index e145b54f..00000000 --- a/src/partons/modules/gpd/GK11ModelNoGluons.cpp +++ /dev/null @@ -1,127 +0,0 @@ -#include "../../../../include/partons/modules/gpd/GK11ModelNoGluons.h" - -#include -#include - -#include "../../../../include/partons/beans/gpd/GPDKinematic.h" -#include "../../../../include/partons/beans/gpd/GPDType.h" -#include "../../../../include/partons/beans/parton_distribution/GluonDistribution.h" -#include "../../../../include/partons/beans/parton_distribution/PartonDistribution.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/modules/gpd/GK11Model.h" -#include "../../../../include/partons/ModuleObjectFactory.h" -#include "../../../../include/partons/Partons.h" -#include "../../../../include/partons/ServiceObjectRegistry.h" - -const unsigned int GK11ModelNoGluons::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11ModelNoGluons("GK11ModelNoGluons")); - -GK11ModelNoGluons::GK11ModelNoGluons(const std::string &className) : - GPDModule(className) { - pGPDService = NULL; - GKmodel = NULL; - - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::H, &GPDModule::computeH)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Ht, &GPDModule::computeHt)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::E, &GPDModule::computeE)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Et, &GPDModule::computeEt)); -} - -GK11ModelNoGluons::~GK11ModelNoGluons() { -} - -GK11ModelNoGluons* GK11ModelNoGluons::clone() const { - return new GK11ModelNoGluons(*this); -} - -void GK11ModelNoGluons::configure(const ElemUtils::Parameters ¶meters) { - GPDModule::configure(parameters); -} - -std::string GK11ModelNoGluons::toString() const { - return GPDModule::toString(); -} - -GK11ModelNoGluons::GK11ModelNoGluons(const GK11ModelNoGluons& other) : - GPDModule(other) { - - pGPDService = other.pGPDService; - GKmodel = other.GKmodel; -} - -void GK11ModelNoGluons::isModuleWellConfigured() { - GPDModule::isModuleWellConfigured(); -} - -void GK11ModelNoGluons::initModule() { - - pGPDService = - Partons::getInstance()->getServiceObjectRegistry()->getGPDService(); - - //TODO Why ? It's alreeady a GPDModule ! - GKmodel = Partons::getInstance()->getModuleObjectFactory()->newGPDModule( - GK11Model::classId); - - GPDModule::initModule(); -} - -PartonDistribution GK11ModelNoGluons::computeH() { - - //compute kinematics - GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); - - //calculate GK11 - PartonDistribution partonDistribution = GKmodel->compute(gpdKinematic, - GPDType(GPDType::H), false); - //set gluon distribution to 0. - partonDistribution.setGluonDistribution(GluonDistribution(0.)); - - return partonDistribution; -} - -PartonDistribution GK11ModelNoGluons::computeHt() { - - //compute kinematics - GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); - - //calculate GK11 - PartonDistribution partonDistribution = GKmodel->compute(gpdKinematic, - GPDType(GPDType::Ht), false); - //set gluon distribution to 0. - partonDistribution.setGluonDistribution(GluonDistribution(0.)); - - return partonDistribution; -} - -PartonDistribution GK11ModelNoGluons::computeE() { - - //compute kinematics - GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); - - //calculate GK11 - PartonDistribution partonDistribution = GKmodel->compute(gpdKinematic, - GPDType(GPDType::E), false); - //set gluon distribution to 0. - partonDistribution.setGluonDistribution(GluonDistribution(0.)); - - return partonDistribution; -} - -PartonDistribution GK11ModelNoGluons::computeEt() { - - //compute kinematics - GPDKinematic gpdKinematic(m_x, m_xi, m_t, m_MuF2, m_MuR2); - - //calculate GK11 - PartonDistribution partonDistribution = GKmodel->compute(gpdKinematic, - GPDType(GPDType::Et), false); - //set gluon distribution to 0. - partonDistribution.setGluonDistribution(GluonDistribution(0.)); - - return partonDistribution; -} diff --git a/src/partons/modules/gpd/GK11ModelOnlyGluons.cpp b/src/partons/modules/gpd/GK11ModelOnlyGluons.cpp deleted file mode 100644 index 47984336..00000000 --- a/src/partons/modules/gpd/GK11ModelOnlyGluons.cpp +++ /dev/null @@ -1,1902 +0,0 @@ -#include "../../../../include/partons/modules/gpd/GK11ModelOnlyGluons.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "../../../../include/partons/beans/gpd/GPDType.h" -#include "../../../../include/partons/beans/parton_distribution/GluonDistribution.h" -#include "../../../../include/partons/beans/parton_distribution/PartonDistribution.h" -#include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" -#include "../../../../include/partons/beans/QuarkFlavor.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int GK11ModelOnlyGluons::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new GK11ModelOnlyGluons("GK11ModelOnlyGluonsOnlyGluons")); - -//TODO initialise missing members -GK11ModelOnlyGluons::GK11ModelOnlyGluons(const std::string &className) : - GPDModule(className) { - m_nf = 3; - fL = 0.; - m_MuF2_ref = 4.; - Huval1tab = std::vector(3, 0.); - Hdval1tab = std::vector(3, 0.); - Huval1mtab = std::vector(3, 0.); - Hdval1mtab = std::vector(3, 0.); - Hs1tab = std::vector(4, 0.); - Hi1tab = std::vector(4, 0.); - Euval1tab = std::vector(2, 0.); - Edval1tab = std::vector(8, 0.); - Euval1mtab = std::vector(2, 0.); - Edval1mtab = std::vector(8, 0.); - Es1tab = std::vector(3, 0.); - Ei1tab = std::vector(2, 0.); - Htuval1tab = std::vector(3, 0.); - Htdval1tab = std::vector(3, 0.); - Htuval1mtab = std::vector(3, 0.); - Htdval1mtab = std::vector(3, 0.); - Hti1tab = std::vector(3, 0.); - Etuval1tab = std::vector(4, 0.); - Etdval1tab = std::vector(4, 0.); - Etuval1mtab = std::vector(4, 0.); - Etdval1mtab = std::vector(4, 0.); - - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::H, &GPDModule::computeH)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::E, &GPDModule::computeE)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Ht, &GPDModule::computeHt)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Et, &GPDModule::computeEt)); -} - -GK11ModelOnlyGluons::GK11ModelOnlyGluons(const GK11ModelOnlyGluons& other) : - GPDModule(other) { - c1 = other.getC1(); - c2 = other.getC2(); - c3 = other.getC3(); - c4 = other.getC4(); - c5 = other.getC5(); - c6 = other.getC6(); - c7 = other.getC7(); - c8 = other.getC8(); - b0 = other.getB0(); - kappa_s = other.getKappaS(); - fL = other.getL(); - fHuValMx = other.getHuValMx(); - fHdValMx = other.getHdValMx(); - fEuValMx = other.getEuValMx(); - fEdValMx = other.getEdValMx(); - fHtuValMx = other.getHtuValMx(); - fHtdValMx = other.getHtdValMx(); - fEtuValMx = other.getEtuValMx(); - fEtdValMx = other.getEtdValMx(); - kHgluon = other.getHgluon(); - kHsea = other.getHsea(); - kHuval = other.getHuval(); - kHdval = other.getHdval(); - kEgluon = other.getEgluon(); - kEsea = other.getEsea(); - kEuval = other.getEuval(); - kEdval = other.getEdval(); - kHtgluon = other.getHtgluon(); - kHtsea = other.getHtsea(); - kHtuval = other.getHtuval(); - kHtdval = other.getHtdval(); - kEtgluon = other.getEtgluon(); - kEtsea = other.getEtsea(); - kEtuval = other.getEtuval(); - kEtdval = other.getEtdval(); - Huval1tab = other.getHuval1tab(); - Hdval1tab = other.getHdval1tab(); - Huval1mtab = other.getHuval1mtab(); - Hdval1mtab = other.getHdval1mtab(); - Hs1tab = other.getHs1tab(); - Hi1tab = other.getHi1tab(); - Euval1tab = other.getEuval1tab(); - Edval1tab = other.getEdval1tab(); - Euval1mtab = other.getEuval1mtab(); - Edval1mtab = other.getEdval1mtab(); - Es1tab = other.getEs1tab(); - Ei1tab = other.getEi1tab(); - Htuval1tab = other.getHtuval1tab(); - Htdval1tab = other.getHtdval1tab(); - Htuval1mtab = other.getHtuval1mtab(); - Htdval1mtab = other.getHtdval1mtab(); - Hti1tab = other.getHti1tab(); - Etuval1tab = other.getEtuval1tab(); - Etdval1tab = other.getEtdval1tab(); - Etuval1mtab = other.getEtuval1mtab(); - Etdval1mtab = other.getEtdval1mtab(); -} - -GK11ModelOnlyGluons* GK11ModelOnlyGluons::clone() const { - return new GK11ModelOnlyGluons(*this); -} - -GK11ModelOnlyGluons::~GK11ModelOnlyGluons() { -} - -void GK11ModelOnlyGluons::configure(const ElemUtils::Parameters ¶meters) { - GPDModule::configure(parameters); -} - -//TODO implement -void GK11ModelOnlyGluons::isModuleWellConfigured() { - GPDModule::isModuleWellConfigured(); - -} - -void GK11ModelOnlyGluons::initModule() { - GPDModule::initModule(); - - fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale - - /* debug(__func__, - ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ -} - -PartonDistribution GK11ModelOnlyGluons::computeH() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - -// Scales - - calculateHCoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 2.23 + 0.362 * fL; // See table 1 p. 12 - c2 = 5.43 - 7.0 * fL; // See table 1 p. 12 - c3 = -34.0 + 22.5 * fL; // See table 1 p. 12 - c4 = 40.6 - 21.6 * fL; // See table 1 p. 12 - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); // See eq. (39) p. 14 - - GluonDistribution gluonDistribution( - exp(b0 * m_t) - * (c1 * Hi1tab.at(0) + c2 * Hi1tab.at(1) + c3 * Hi1tab.at(2) - + c4 * Hi1tab.at(3))); - -// s quark - - c1 = 0.123 + 0.0003 * fL; // See table 1 p. 12 - c2 = -0.327 - 0.004 * fL; // See table 1 p. 12 - c3 = 0.692 - 0.068 * fL; // See table 1 p. 12 - c4 = -0.486 + 0.038 * fL; // See table 1 p. 12 - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); // See eq. (39) p. 14 - - quarkDistribution_s.setQuarkDistribution( - exp(b0 * m_t) - * (c1 * Hs1tab.at(0) + c2 * Hs1tab.at(1) + c3 * Hs1tab.at(2) - + c4 * Hs1tab.at(3))); // See eq. (27) - -// u quark, valence part - - c1 = 1.52 + 0.248 * fL; // See eq. (27) - c2 = 2.88 - 0.94 * fL; // See eq. (27) - c3 = -0.095 * fL; // See eq. (27) - - b0 = 0; // See p. 15 - - double uVal = exp(b0 * m_t) - * (c1 * Huval1tab.at(0) + c2 * Huval1tab.at(1) - + c3 * Huval1tab.at(2)); // See eq. (27) - - fHuValMx = exp(b0 * m_t) - * (c1 * Huval1mtab.at(0) + c2 * Huval1mtab.at(1) - + c3 * Huval1mtab.at(2)); // See eq. (27); - -// d quark, valence part - - c1 = 0.76 + 0.248 * fL; // See table 1 p. 12 - c2 = 3.11 - 1.36 * fL; // See table 1 p. 12 - c3 = -3.99 + 1.15 * fL; // See table 1 p. 12 - - b0 = 0; // See p. 15 - - double dVal = exp(b0 * m_t) - * (c1 * Hdval1tab.at(0) + c2 * Hdval1tab.at(1) - + c3 * Hdval1tab.at(2)); // See eq. (27) - - // C'est HqVal (-x) - fHdValMx = exp(b0 * m_t) - * (c1 * Hdval1mtab.at(0) + c2 * Hdval1mtab.at(1) - + c3 * Hdval1mtab.at(2)); // See eq. (27) - -// u and d quarks, sea part - - kappa_s = 1. + 0.68 / (1. + 0.52 * log(m_MuF2 / m_MuF2_ref)); // See eq. (36) - - double uSea = kappa_s * quarkDistribution_s.getQuarkDistribution(); // See eq. (35) - double dSea = uSea; - -// u and d quarks, valence + sea parts - -/* quarkDistribution_u.setQuarkDistribution(uVal + uSea); - quarkDistribution_d.setQuarkDistribution(dVal + dSea);*/ - - quarkDistribution_u.setQuarkDistribution(0); - quarkDistribution_d.setQuarkDistribution(0); - -// H, charge singlet - -// pGPD_H->setSquareChargeAveraged( -// Constant::U2_ELEC_CHARGE -// * (pGPDQuarkFlavorData_u->getSea() -// + pGPDQuarkFlavorData_u->getValence()) -// + Constant::D2_ELEC_CHARGE -// * (pGPDQuarkFlavorData_d->getSea() -// + pGPDQuarkFlavorData_d->getValence()) -// + Constant::S2_ELEC_CHARGE * pGPDQuarkFlavorData_s->getHq()); - - // Set Hq(+) -/* quarkDistribution_u.setQuarkDistributionPlus(uVal - fHuValMx + 2 * uSea); - quarkDistribution_d.setQuarkDistributionPlus(dVal - fHdValMx + 2 * dSea); - quarkDistribution_s.setQuarkDistributionPlus( - 2 * quarkDistribution_s.getQuarkDistribution());*/ - - quarkDistribution_u.setQuarkDistributionPlus(0); - quarkDistribution_d.setQuarkDistributionPlus(0); - quarkDistribution_s.setQuarkDistributionPlus(0); - - // Set Hq(-) -/* quarkDistribution_u.setQuarkDistributionMinus(uVal + fHuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal + fHdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.);*/ - - quarkDistribution_u.setQuarkDistributionMinus(0); - quarkDistribution_d.setQuarkDistributionMinus(0); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - - return partonDistribution; -} - -PartonDistribution GK11ModelOnlyGluons::computeHt() { - - debug(__func__, "Entered function ..."); - - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - double delta, etau, etad, Nu, Nd; - - calculateHtCoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 3.39 - 0.864 * fL; - c2 = 1.73 + 0.24 * fL - 0.17 * fL * fL; - c3 = 0.42 - 0.115 * fL - 0.069 * fL * fL; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - GluonDistribution gluonDistribution( - exp(b0 * m_t) - * (c1 * Hti1tab.at(0) + c2 * Hti1tab.at(1) - + c3 * Hti1tab.at(2))); - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0); - -// s quark, Ht_sea = 0 for GK - quarkDistribution_s.setQuarkDistribution(0.); - -// u quark, valence part - - c1 = 0.170 + 0.03 * fL; //parameters from GK3 table 4 and note 11 december 2008 - c2 = 1.340 - 0.02 * fL; - c3 = 0.120 - 0.40 * fL; - - etau = 0.926; - delta = 0.48; - b0 = 0.; - - Nu = tgamma(1. - delta) * tgamma(4.) / tgamma(5. - delta) - * (c1 + c2 * (1. - delta) / (5. - delta) - + c3 * (2. - delta) * (1. - delta) / (6 - delta) - / (5. - delta)); -// + c4 * (3.-delta) * (2.-delta) * (1-delta)/(7.-delta)/(6.-delta)/(5.-delta) ) ; - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0 << ", etau = " << etau - << ", delta = " << delta << ", Nu = " << Nu); - - double uVal = etau / Nu * exp(b0 * m_t) - * (c1 * Htuval1tab.at(0) + c2 * Htuval1tab.at(1) - + c3 * Htuval1tab.at(2)); - fHtuValMx = etau / Nu * exp(b0 * m_t) - * (c1 * Htuval1mtab.at(0) + c2 * Htuval1mtab.at(1) - + c3 * Htuval1mtab.at(2)); // -pGPDData->getX() - -// d quark, valence part - - c1 = -0.320 - 0.040 * fL; // parameters from GK3 table 4 - c2 = -1.427 - 0.176 * fL; - c3 = 0.692 - 0.068 * fL; - - etad = -0.341; - - Nd = tgamma(1. - delta) * tgamma(4.) / tgamma(5. - delta) - * (c1 + c2 * (1. - delta) / (5. - delta) - + c3 * (2. - delta) * (1. - delta) / (6. - delta) - / (5. - delta)); - - b0 = 0; - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0 << ", etad = " << etad - << ", Nd = " << Nd); - - double dVal = etad / Nd * exp(b0 * m_t) - * (c1 * Htdval1tab.at(0) + c2 * Htdval1tab.at(1) - + c3 * Htdval1tab.at(2)); - fHtdValMx = etad / Nd * exp(b0 * m_t) - * (c1 * Htdval1mtab.at(0) + c2 * Htdval1mtab.at(1) - + c3 * Htdval1mtab.at(2)); // -pGPDData->getX() - -// u and d quark, sea part - double uSea = 0.; - double dSea = 0.; - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(0); - quarkDistribution_d.setQuarkDistribution(0); - - // Set Htq(+) - quarkDistribution_u.setQuarkDistributionPlus(0); - quarkDistribution_d.setQuarkDistributionPlus(0); - quarkDistribution_s.setQuarkDistributionPlus(0.); - - // Set Htq(-) - quarkDistribution_u.setQuarkDistributionMinus(0); - quarkDistribution_d.setQuarkDistributionMinus(0); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK11ModelOnlyGluons::computeE() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - calculateECoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 0.779; - c2 = -c1; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - GluonDistribution gluonDistribution( - exp(b0 * m_t) * (c1 * Ei1tab.at(0) + c2 * Ei1tab.at(1))); - -// s quark (sea) - - c1 = -0.155; - c2 = -2 * c1; - c3 = c1; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - quarkDistribution_s.setQuarkDistribution( - exp(b0 * m_t) - * (c1 * Es1tab.at(0) + c2 * Es1tab.at(1) + c3 * Es1tab.at(2))); - -// u quark, valence part - - c1 = 2.2053; - c2 = -c1; - - b0 = 0; - - double uVal = exp(b0 * m_t) * (c1 * Euval1tab.at(0) + c2 * Euval1tab.at(1)); - fEuValMx = exp(b0 * m_t) * (c1 * Euval1mtab.at(0) + c2 * Euval1mtab.at(1)); // -pGPDData->getX() - -// d quark, valence part - - c1 = -3.114; // DFJK4 version betad = 5.6 - c2 = 8.096; - c3 = -6.477; - c4 = 1.295; - c5 = 0.1296; - c6 = 0.0362; - c7 = 0.014516; - c8 = 0.0070504; - - b0 = 0; - - double dVal = exp(b0 * m_t) - * (c1 * Edval1tab.at(0) + c2 * Edval1tab.at(1) - + c3 * Edval1tab.at(2) + c4 * Edval1tab.at(3) - + c5 * Edval1tab.at(4) + c6 * Edval1tab.at(5) - + c7 * Edval1tab.at(6) + c8 * Edval1tab.at(7)); - fEdValMx = exp(b0 * m_t) - * (c1 * Edval1mtab.at(0) + c2 * Edval1mtab.at(1) - + c3 * Edval1mtab.at(2) + c4 * Edval1mtab.at(3) - + c5 * Edval1mtab.at(4) + c6 * Edval1mtab.at(5) - + c7 * Edval1mtab.at(6) + c8 * Edval1mtab.at(7)); // -pGPDData->getX() - -// u and d quarks, sea part - -//EuSea = Es - double uSea = quarkDistribution_s.getQuarkDistribution(); -//EdSea = Es - double dSea = quarkDistribution_s.getQuarkDistribution(); - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - - // Set Eq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal - fEuValMx + 2 * uSea); - quarkDistribution_d.setQuarkDistributionPlus(dVal - fEdValMx + 2 * dSea); - quarkDistribution_s.setQuarkDistributionPlus( - 2 * quarkDistribution_s.getQuarkDistribution()); - - // Set Eq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal + fEuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal + fEdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK11ModelOnlyGluons::computeEt() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - double Nu, Nd; - double PionPolePx, PionPoleMx; - - calculateEtCoefs(); // Calculate the K's and the coefficients - - PionPolePx = Et_pole(m_x); - PionPoleMx = Et_pole(-m_x); - -// Gluons, Et_gluons = 0 for GK - GluonDistribution gluonDistribution(0.); - -// s quark, Et_sea = 0 for GK - quarkDistribution_s.setQuarkDistributionPlus(0.); - -// u quark, valence part - - Nu = 14.0; - c1 = Nu; // parameters P.Kroll Maple file - c2 = -2. * Nu; - c3 = Nu; - c4 = 0.0; - b0 = 0.9; // from P.Kroll's email, 14/3/2011 - - double fEtuVal = exp(b0 * m_t) - * (c1 * Etuval1tab.at(0) + c2 * Etuval1tab.at(1) - + c3 * Etuval1tab.at(2) + c4 * Etuval1tab.at(3)); - fEtuVal += PionPolePx; - double uVal = fEtuVal; - fEtuValMx = exp(b0 * m_t) - * (c1 * Etuval1mtab.at(0) + c2 * Etuval1mtab.at(1) - + c3 * Etuval1mtab.at(2) + c4 * Etuval1mtab.at(3)); // -pGPDData->getX() - fEtuValMx += PionPoleMx; - -// d quark, valence part - - Nd = 4.0; - c1 = Nd; // parameters P.Kroll Maple file - c2 = -2. * Nd; - c3 = Nd; - c4 = 0.0; - b0 = 0.9; - - double fEtdVal = exp(b0 * m_t) - * (c1 * Etdval1tab.at(0) + c2 * Etdval1tab.at(1) - + c3 * Etdval1tab.at(2) + c4 * Etdval1tab.at(3)); - fEtdVal -= PionPolePx; - double dVal = fEtdVal; - fEtdValMx = exp(b0 * m_t) - * (c1 * Etdval1mtab.at(0) + c2 * Etdval1mtab.at(1) - + c3 * Etdval1mtab.at(2) + c4 * Etdval1mtab.at(3)); // -pGPDData->getX() - fEtdValMx -= PionPoleMx; - -// u and d quark, sea part - double uSea = 0.; - double dSea = 0.; - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - - // Set Etq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal + fEtuValMx); - quarkDistribution_d.setQuarkDistributionPlus(dVal + fEtdValMx); - quarkDistribution_s.setQuarkDistributionPlus(0.); - - // Set Eq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal - fEtuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal - fEtdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -//double GK11ModelOnlyGluons::computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s) { -// -// if (m_nbOfQuarkFlavor == 0) { -// throwException(__func__, "divided by ZERO !"); -// } -// -// double result = quarkDistribution_u.getQuarkDistributionPlus() -// + quarkDistribution_d.getQuarkDistributionPlus() -// + quarkDistribution_s.getQuarkDistributionPlus(); -// result *= (1 / (2 * m_nbOfQuarkFlavor)); -// -// return result; -//} - -void GK11ModelOnlyGluons::calculateHCoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow (full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateHKas(); // comes up with kHgluon, kHsea, kHuval, kHdval - - if (!slow_sea) { - if (m_x >= 0) { - Hs1tab.at(0) = Hs1(m_x, 0., kHsea); - Hs1tab.at(1) = Hs1(m_x, 0.5, kHsea); - Hs1tab.at(2) = Hs1(m_x, 1., kHsea); - Hs1tab.at(3) = Hs1(m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1(m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1(m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1(m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1(m_x, 1.5, kHgluon); ///< TODO: CHECK IT - ADDED BY JAKUB - } else { - Hs1tab.at(0) = -Hs1(-m_x, 0., kHsea); - Hs1tab.at(1) = -Hs1(-m_x, 0.5, kHsea); - Hs1tab.at(2) = -Hs1(-m_x, 1., kHsea); - Hs1tab.at(3) = -Hs1(-m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1(-m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1(-m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1(-m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1(-m_x, 1.5, kHgluon); - } - } else { - if (m_x >= 0) { - Hs1tab.at(0) = Hs1_alt(m_x, 0., kHsea); - Hs1tab.at(1) = Hs1_alt(m_x, 0.5, kHsea); - Hs1tab.at(2) = Hs1_alt(m_x, 1., kHsea); - Hs1tab.at(3) = Hs1_alt(m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1_alt(m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1_alt(m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1_alt(m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1_alt(m_x, 1.5, kHgluon); - } else { - Hs1tab.at(0) = -Hs1_alt(-m_x, 0., kHsea); - Hs1tab.at(1) = -Hs1_alt(-m_x, 0.5, kHsea); - Hs1tab.at(2) = -Hs1_alt(-m_x, 1., kHsea); - Hs1tab.at(3) = -Hs1_alt(-m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1_alt(-m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1_alt(-m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1_alt(-m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1_alt(-m_x, 1.5, kHgluon); - } - } - - if (!slow_val) { - Huval1tab.at(0) = Hval1(m_x, 0., kHuval); - Huval1tab.at(1) = Hval1(m_x, 0.5, kHuval); - Huval1tab.at(2) = Hval1(m_x, 1., kHuval); - - Hdval1tab.at(0) = Hval1(m_x, 0., kHdval); - Hdval1tab.at(1) = Hval1(m_x, 0.5, kHdval); - Hdval1tab.at(2) = Hval1(m_x, 1., kHdval); - - Huval1mtab.at(0) = Hval1(-m_x, 0., kHuval); - Huval1mtab.at(1) = Hval1(-m_x, 0.5, kHuval); - Huval1mtab.at(2) = Hval1(-m_x, 1., kHuval); - - Hdval1mtab.at(0) = Hval1(-m_x, 0., kHdval); - Hdval1mtab.at(1) = Hval1(-m_x, 0.5, kHdval); - Hdval1mtab.at(2) = Hval1(-m_x, 1., kHdval); - - } else { - Huval1tab.at(0) = Hval1_alt(m_x, 0., kHuval); - Huval1tab.at(1) = Hval1_alt(m_x, 0.5, kHuval); - Huval1tab.at(2) = Hval1_alt(m_x, 1., kHuval); - - Hdval1tab.at(0) = Hval1_alt(m_x, 0., kHdval); - Hdval1tab.at(1) = Hval1_alt(m_x, 0.5, kHdval); - Hdval1tab.at(2) = Hval1_alt(m_x, 1., kHdval); - - Huval1mtab.at(0) = Hval1_alt(-m_x, 0., kHuval); - Huval1mtab.at(1) = Hval1_alt(-m_x, 0.5, kHuval); - Huval1mtab.at(2) = Hval1_alt(-m_x, 1., kHuval); - - Hdval1mtab.at(0) = Hval1_alt(-m_x, 0., kHdval); - Hdval1mtab.at(1) = Hval1_alt(-m_x, 0.5, kHdval); - Hdval1mtab.at(2) = Hval1_alt(-m_x, 1., kHdval); - } -} - -void GK11ModelOnlyGluons::calculateHKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = 0.10 + 0.06 * fL; - kHgluon = delta + alpha * m_t; - -// sea - - alpha = 0.15; // same as slope of gluon trajectory - delta = 1.1 + 0.06 * fL - 0.0027 * fL * fL; - kHsea = delta + alpha * m_t; - -// u valence - - alpha = 0.9; - delta = 0.48; - kHuval = delta + alpha * m_t; - -// d valence - - alpha = 0.9 - 0.05 * fL; - delta = 0.48 + 0.006 * fL; - kHdval = delta + alpha * m_t; -} - -double GK11ModelOnlyGluons::Hs1(double x, double i, double k) { - - double dummy; - - if ((x - m_xi) < 0) { - dummy = 15. / 4. / pow(m_xi, 5.) - * pow((x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) / (5. + i - k) - - 15. / 4. / pow(m_xi, 5.) - * pow((-x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi + x, 2.) - + 6. * (3. + i - k) * m_xi * (1. + x) - * (m_xi * m_xi + x) - - 2. * (2. + i - k) * (4. + i - k) - * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) - / (5. + i - k); - } else { - dummy = 15. / 4. / pow(m_xi, 5.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) / (4. + i - k) / (5. + i - k) - * (((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - - pow((x - m_xi) / (1. - m_xi), 3. + i - k)) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - + pow((x - m_xi) / (1. - m_xi), - 3. + i - k))); - } - - /* debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" << i - << ", k=" << k << ") dummy = " << dummy);*/ - - return dummy; -} - -double GK11ModelOnlyGluons::Hi1(double x, double i, double k) { - - double dummy; - - if ((x - m_xi) < 0) { - dummy = 15. / 4. / pow(m_xi, 5.) - * pow((x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) / (5. + i - k) - + 15. / 4. / pow(m_xi, 5.) - * pow((-x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi + x, 2.) - + 6. * (3. + i - k) * m_xi * (1. + x) - * (m_xi * m_xi + x) - - 2. * (2. + i - k) * (4. + i - k) - * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) - / (5. + i - k); - } else { - dummy = 15. / 4. / pow(m_xi, 5.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) / (4. + i - k) / (5. + i - k) - * (((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - - pow((x - m_xi) / (1. - m_xi), 3. + i - k)) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - + pow((x - m_xi) / (1. - m_xi), - 3. + i - k))); - } - - return dummy; -} - -double GK11ModelOnlyGluons::Hs1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += -dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - dummy = double_approx(dummya); - - return dummy; -} - -double GK11ModelOnlyGluons::Hi1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - - dummy = double_approx(dummya); - - return dummy; -} - -double GK11ModelOnlyGluons::Hval1(double x, double i, double k) { - - double dummy; - - if ((x + m_xi) < 0) { - dummy = 0.; // no anti-quarks in valence ! - } else if ((x - m_xi) < 0) { - dummy = 3. / 2. / pow(m_xi, 3.) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - * (m_xi * m_xi - x + (2. + i - k) * m_xi * (1. - x))) - / (1. + i - k) / (2. + i - k) / (3. + i - k); - } else { - dummy = 3. / 2. / pow(m_xi, 3.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) - * ((m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - - pow((x - m_xi) / (1. - m_xi), (2. + i - k))) - + m_xi * (1. - x) * (2. + i - k) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - + pow((x - m_xi) / (1. - m_xi), - (2. + i - k)))); - } - - /* debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" << i - << ", k=" << k << ") dummy = " << dummy);*/ - - return dummy; -} - -double GK11ModelOnlyGluons::Hval1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi3 = expt(xia, 3); - - if (fabs(x + m_xi) > 1e-6) { - dummy2 = exp((2 + ia - ka) * ln((xba + xia) / (1 + xia))); - } else { - dummy2 = 0; - } - - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((2 + ia - ka) * ln((xba - xia) / (1 - xia))); - } else { - dummy1 = 0; - } - - double dummy; - - if ((x + m_xi) < 0) { - dummy = 0.; // no anti-quarks in valence ! - } else if ((x - m_xi) < 0) { - dummya = dummy2 * (xia * xia - xba + (2 + ia - ka) * xia * (1 - xba)); - - dummya *= cl_float(3, prec) / 2 / xi3 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka); - - } else { - dummya = (xia * xia - xba) * (dummy2 - dummy1); - - dummya += (2 + ia - ka) * xia * (1 - xba) * (dummy2 + dummy1); - - dummya *= cl_float(3, prec) / 2 / xi3 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka); - } - - dummy = double_approx(dummya); - - debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" - << i << ", k=" << k << ") dummy = " << dummy); - - return dummy; -} - -/** ! - * \fn void STGK11ModelOnlyGluons::calculateHtCoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Hti1 ( i = 0, 0.5, 1 ) - * - Htval1( i = 0, 1, 2 ) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share the same limits as strange/sea as far as slow/fast goes. - * ( gluons only for now, Htilde_sea = 0 for Kroll ) - * - */ -void GK11ModelOnlyGluons::calculateHtCoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateHtKas(); // comes up with kHtgluon, kHstea, kHtuval, kHtdval - -// No sea Ht for GK. - - debug(__func__, - ElemUtils::Formatter() << "slow_sea = " << slow_sea - << " slow_val = " << slow_val); - -//TODO permuter les conditions - - if (!slow_sea) { - if (m_x >= 0) { - Hti1tab.at(0) = Hti1(m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1(m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1(m_x, 1.0, kHtgluon); - } else { - Hti1tab.at(0) = Hti1(-m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1(-m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1(-m_x, 1.0, kHtgluon); - } - } else { - if (m_x >= 0) { - Hti1tab.at(0) = Hti1_alt(m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1_alt(m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1_alt(m_x, 1.0, kHtgluon); - } else { - Hti1tab.at(0) = Hti1_alt(-m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1_alt(-m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1_alt(-m_x, 1.0, kHtgluon); - } - } - - if (!slow_val) { - Htuval1tab.at(0) = Htval1(m_x, 0., kHtuval); - Htuval1tab.at(1) = Htval1(m_x, 1., kHtuval); - Htuval1tab.at(2) = Htval1(m_x, 2., kHtuval); - - Htdval1tab.at(0) = Htuval1tab.at(0); // kHtdval & kHtuval are equal - Htdval1tab.at(1) = Htuval1tab.at(1); // for u and d for Ht - Htdval1tab.at(2) = Htuval1tab.at(2); // don't need to recalculate - - Htuval1mtab.at(0) = Htval1(-m_x, 0., kHtuval); - Htuval1mtab.at(1) = Htval1(-m_x, 1., kHtuval); - Htuval1mtab.at(2) = Htval1(-m_x, 2., kHtuval); - - Htdval1mtab.at(0) = Htuval1mtab.at(0); - Htdval1mtab.at(1) = Htuval1mtab.at(1); - Htdval1mtab.at(2) = Htuval1mtab.at(2); - - } else { - Htuval1tab.at(0) = Htval1_alt(m_x, 0., kHtuval); - Htuval1tab.at(1) = Htval1_alt(m_x, 1., kHtuval); - Htuval1tab.at(2) = Htval1_alt(m_x, 2., kHtuval); - - Htdval1tab.at(0) = Htuval1tab.at(0); - Htdval1tab.at(1) = Htuval1tab.at(1); - Htdval1tab.at(2) = Htuval1tab.at(2); - - Htuval1mtab.at(0) = Htval1_alt(-m_x, 0., kHtuval); - Htuval1mtab.at(1) = Htval1_alt(-m_x, 1., kHtuval); - Htuval1mtab.at(2) = Htval1_alt(-m_x, 2., kHtuval); - - Htdval1mtab.at(0) = Htuval1mtab.at(0); - Htdval1mtab.at(1) = Htuval1mtab.at(1); - Htdval1mtab.at(2) = Htuval1mtab.at(2); - } -} - -/*! - * \fn void STGK11ModelOnlyGluons::calculateHtKas() - * - * Compute t-dependence of GPD Ht correlated to x. - * - */ -void GK11ModelOnlyGluons::calculateHtKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = -0.78 + 0.17 * fL; - kHtgluon = delta + alpha * m_t; - -// sea, not modelled by GK. - - kHtsea = 0.; - -// u valence - - alpha = 0.45; - delta = 0.48; - kHtuval = delta + alpha * m_t; - -// d valence - - kHtdval = kHtuval; - - debug(__func__, - ElemUtils::Formatter() << "(t=" << m_t << ") kHtgluon=" << kHtgluon - << " kHtsea=" << kHtsea << " kHtuval=" << kHtuval - << " kHtdval=" << kHtdval); -} - -/*! - * \fn void STGK11ModelOnlyGluons::CalculateEtKas() - * - * Exactly the same as Hval1_alt and Eval1_alt. - * - */ -double GK11ModelOnlyGluons::Htval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -/*! - * \fn double STGK11ModelOnlyGluons::Hti1( double x, double i, double k ) - * - * Exactly the same as Hs1. - * - */ -double GK11ModelOnlyGluons::Hti1(double x, double i, double k) { - - return Hs1(x, i, k); -} - -/*! - * \fn void STGK11ModelOnlyGluons::CalculateEtKas() - * - * Exactly the same as Hs1_alt. - * - */ -double GK11ModelOnlyGluons::Hti1_alt(double x, double i, double k) { - -//return Hs1_alt(_xi, x, i, k); - - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += -dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - dummy = double_approx(dummya); - - debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" - << i << ", k=" << k << ") dummy = " << dummy); - - return dummy; -} - -/*! - * \fn void STGK11ModelOnlyGluons::CalculateEtKas() - * - * Exactly the same as Hval1 and Eval1. - * - */ -double GK11ModelOnlyGluons::Htval1(double x, double i, double k) { - - return Hval1(x, i, k); -} - -/** ! - * \fn void STGK11ModelOnlyGluons::calculateECoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Es1 (i=0, 1, 2) - * - Ei1 (i=0, 1) - * - Eval1(i=0, 1, 2) (u) - * - Eval1(i=0, .. ,7) (d) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. - * - */ -void GK11ModelOnlyGluons::calculateECoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateEKas(); // comes up with kEgluon, kEsea, kEuval, kEdval - - if (!slow_sea) { - if (m_x >= 0) { - Es1tab.at(0) = Es1(m_x, 0., kEsea); - Es1tab.at(1) = Es1(m_x, 1., kEsea); - Es1tab.at(2) = Es1(m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1(m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1(m_x, 1., kEgluon); - } else { - Es1tab.at(0) = -Es1(-m_x, 0., kEsea); - Es1tab.at(1) = -Es1(-m_x, 1., kEsea); - Es1tab.at(2) = -Es1(-m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1(-m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1(-m_x, 1., kEgluon); - } - } else { - if (m_x >= 0) { - Es1tab.at(0) = Es1_alt(m_x, 0., kEsea); - Es1tab.at(1) = Es1_alt(m_x, 1., kEsea); - Es1tab.at(2) = Es1_alt(m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1_alt(m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1_alt(m_x, 1., kEgluon); - } else { - Es1tab.at(0) = -Es1_alt(-m_x, 0., kEsea); - Es1tab.at(1) = -Es1_alt(-m_x, 1., kEsea); - Es1tab.at(2) = -Es1_alt(-m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1_alt(-m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1_alt(-m_x, 1., kEgluon); - } - } - - if (!slow_val) { - Euval1tab.at(0) = Eval1(m_x, 0., kEuval); - Euval1tab.at(1) = Eval1(m_x, 1., kEuval); - - Edval1tab.at(0) = Eval1(m_x, 0., kEdval); - Edval1tab.at(1) = Eval1(m_x, 1., kEdval); - Edval1tab.at(2) = Eval1(m_x, 2., kEdval); - Edval1tab.at(3) = Eval1(m_x, 3., kEdval); - Edval1tab.at(4) = Eval1(m_x, 4., kEdval); - Edval1tab.at(5) = Eval1(m_x, 5., kEdval); - Edval1tab.at(6) = Eval1(m_x, 6., kEdval); - Edval1tab.at(7) = Eval1(m_x, 7., kEdval); - - Euval1mtab.at(0) = Eval1(-m_x, 0., kEuval); - Euval1mtab.at(1) = Eval1(-m_x, 1., kEuval); - - Edval1mtab.at(0) = Eval1(-m_x, 0., kEdval); - Edval1mtab.at(1) = Eval1(-m_x, 1., kEdval); - Edval1mtab.at(2) = Eval1(-m_x, 2., kEdval); - Edval1mtab.at(3) = Eval1(-m_x, 3., kEdval); - Edval1mtab.at(4) = Eval1(-m_x, 4., kEdval); - Edval1mtab.at(5) = Eval1(-m_x, 5., kEdval); - Edval1mtab.at(6) = Eval1(-m_x, 6., kEdval); - Edval1mtab.at(7) = Eval1(-m_x, 7., kEdval); - - } else { - Euval1tab.at(0) = Eval1_alt(m_x, 0., kEuval); - Euval1tab.at(1) = Eval1_alt(m_x, 1., kEuval); - - Edval1tab.at(0) = Eval1_alt(m_x, 0., kEdval); - Edval1tab.at(1) = Eval1_alt(m_x, 1., kEdval); - Edval1tab.at(2) = Eval1_alt(m_x, 2., kEdval); - Edval1tab.at(3) = Eval1_alt(m_x, 3., kEdval); - Edval1tab.at(4) = Eval1_alt(m_x, 4., kEdval); - Edval1tab.at(5) = Eval1_alt(m_x, 5., kEdval); - Edval1tab.at(6) = Eval1_alt(m_x, 6., kEdval); - Edval1tab.at(7) = Eval1_alt(m_x, 7., kEdval); - - Euval1mtab.at(0) = Eval1_alt(-m_x, 0., kEuval); - Euval1mtab.at(1) = Eval1_alt(-m_x, 1., kEuval); - - Edval1mtab.at(0) = Eval1_alt(-m_x, 0., kEdval); - Edval1mtab.at(1) = Eval1_alt(-m_x, 1., kEdval); - Edval1mtab.at(2) = Eval1_alt(-m_x, 2., kEdval); - Edval1mtab.at(3) = Eval1_alt(-m_x, 3., kEdval); - Edval1mtab.at(4) = Eval1_alt(-m_x, 4., kEdval); - Edval1mtab.at(5) = Eval1_alt(-m_x, 5., kEdval); - Edval1mtab.at(6) = Eval1_alt(-m_x, 6., kEdval); - Edval1mtab.at(7) = Eval1_alt(-m_x, 7., kEdval); - } - -} - -/*! - * \fn void STGK11ModelOnlyGluons::calculateEKas() - * - * Compute t-dependence of GPD H correlated to x. - * - */ -void GK11ModelOnlyGluons::calculateEKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = 0.10 + 0.06 * fL - 0.0027 * fL * fL; - kEgluon = delta + alpha * m_t; - -// sea - - alpha = 0.15; // same as slope of gluon trajectory - delta = 1.1 + 0.06 * fL - 0.0027 * fL * fL; - kEsea = delta + alpha * m_t; - -// u valence - - alpha = 0.9; - delta = 0.48; - kEuval = delta + alpha * m_t; - -// d valence - - alpha = 0.9; - delta = 0.48; - kEdval = delta + alpha * m_t; - -} - -/*! - * \fn double STGK11ModelOnlyGluons::Es1( double x, double i, double k ) - * - * Exactly the same as Hs1. - * - */ -double GK11ModelOnlyGluons::Es1(double x, double i, double k) { - return Hs1(x, i, k); -} - -/*! - * \fn double STGK11ModelOnlyGluons::Ei1( double x, double i, double k ) - * - * Exactly the same as Hi1. - * - */ -double GK11ModelOnlyGluons::Ei1(double x, double i, double k) { - return Hi1(x, i, k); -} - -/*! - * \fn double STGK11ModelOnlyGluons::Es1_alt( double x, double i, double k ) - * - * Exactly the same as Hs1_alt. - * - */ -double GK11ModelOnlyGluons::Es1_alt(double x, double i, double k) { - return Hs1_alt(x, i, k); -} - -/*! - * \fn double STGK11ModelOnlyGluons::Ei1_alt( double x, double i, double k ) - * - * Exactly the same as Hi1_alt. - * - */ -double GK11ModelOnlyGluons::Ei1_alt(double x, double i, double k) { - return Hi1_alt(x, i, k); -} - -/*! - * \fn double STGK11ModelOnlyGluons::Eval1( double x, double i, double k ) - * - * Exactly the same as Hval1. - * - */ -double GK11ModelOnlyGluons::Eval1(double x, double i, double k) { - return Hval1(x, i, k); -} - -/*! - * \fn void STGK11ModelOnlyGluons::CalculateEtKas() - * - * Exactly the same as Hval1_alt. - * - */ -double GK11ModelOnlyGluons::Eval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -/** ! - * \fn void STGK11ModelOnlyGluons::calculateEtCoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Etval1 ( i = 0, 1, 2, 3 ) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share the same limits as strange/sea as far as slow/fast goes. - * For the sea ( and gluons later ) - * - */ -void GK11ModelOnlyGluons::calculateEtCoefs() { - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - -// For valence - - if ((m_xi < 0.04) - && (log10(m_xi) < ((-4. / log10(0.55)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateEtKas(); // comes up with kHgluon, kHsea, kHuval, kHdval - -// WARNING : No sea or gluon Et for GK. - - if (!slow_val) { - Etuval1tab.at(0) = Etval1(m_x, 0., kEtuval); - Etuval1tab.at(1) = Etval1(m_x, 1., kEtuval); - Etuval1tab.at(2) = Etval1(m_x, 2., kEtuval); - Etuval1tab.at(3) = Etval1(m_x, 3., kEtuval); - - Etdval1tab.at(0) = Etuval1tab.at(0); // kEtdval & kEtuval are equal - Etdval1tab.at(1) = Etuval1tab.at(1); // for u and d for Et, - Etdval1tab.at(2) = Etuval1tab.at(2); // don't need to recalculate - Etdval1tab.at(3) = Etuval1tab.at(3); - - Etuval1mtab.at(0) = Etval1(-m_x, 0., kEtuval); - Etuval1mtab.at(1) = Etval1(-m_x, 1., kEtuval); - Etuval1mtab.at(2) = Etval1(-m_x, 2., kEtuval); - Etuval1mtab.at(3) = Etval1(-m_x, 3., kEtuval); - - Etdval1mtab.at(0) = Etuval1mtab.at(0); - Etdval1mtab.at(1) = Etuval1mtab.at(1); - Etdval1mtab.at(2) = Etuval1mtab.at(2); - Etdval1mtab.at(3) = Etuval1mtab.at(3); - - } else { - Etuval1tab.at(0) = Etval1_alt(m_x, 0., kEtuval); - Etuval1tab.at(1) = Etval1_alt(m_x, 1., kEtuval); - Etuval1tab.at(2) = Etval1_alt(m_x, 2., kEtuval); - Etuval1tab.at(3) = Etval1_alt(m_x, 3., kEtuval); - - Etdval1tab.at(0) = Etuval1tab.at(0); - Etdval1tab.at(1) = Etuval1tab.at(1); - Etdval1tab.at(2) = Etuval1tab.at(2); - Etdval1tab.at(3) = Etuval1tab.at(3); - - Etuval1mtab.at(0) = Etval1_alt(-m_x, 0., kEtuval); - Etuval1mtab.at(1) = Etval1_alt(-m_x, 1., kEtuval); - Etuval1mtab.at(2) = Etval1_alt(-m_x, 2., kEtuval); - Etuval1mtab.at(3) = Etval1_alt(-m_x, 3., kEtuval); - - Etdval1mtab.at(0) = Etuval1mtab.at(0); - Etdval1mtab.at(1) = Etuval1mtab.at(1); - Etdval1mtab.at(2) = Etuval1mtab.at(2); - Etdval1mtab.at(3) = Etuval1mtab.at(3); - } -} - -/*! - * \fn void STGK11ModelOnlyGluons::calculateEtKas() - * - * Compute t-dependence of GPD Et correlated to x. - * - */ -void GK11ModelOnlyGluons::calculateEtKas() { - double alpha, delta; - -// gluons, not modelled by GK. - - kEtgluon = 0.; - -// sea, not modelled by GK. - - kEtsea = 0.; - -// u valence - - alpha = 0.45; - delta = 0.48; - kEtuval = delta + alpha * m_t; - -// d valence - - kEtdval = kEtuval; -} - -/* ! - * \fn double STGK11ModelOnlyGluons::Et_pole( double x ) - * - * Pion pole contribution to Et. - * - */ -double GK11ModelOnlyGluons::Et_pole(double x) { - -//TODO extraire les constantes si existantes - - double dum = 0.; // Initialize to 0 - double eps; - double eps2; - double tmin; - double xbj; - double Q2 = m_MuF2; - double tOverQ2 = m_t / Q2; - double y = (x + m_xi) / 2. / m_xi; - double MPi2 = Constant::PI_ZERO_MASS * Constant::PI_ZERO_MASS; - double gpiNN = 13.4; - double f_pi = 0.131; // f_pi=0.131 GeV from paper. Actually 130.4 from PDG (Jul2010) - double Lambda_N2 = 0.51 * 0.51; - double Fp; - double FpiNN; - - xbj = 2. * m_xi / (m_xi - tOverQ2 * m_xi + 1. + tOverQ2 * 0.5); - eps = 2. * xbj * Constant::PROTON_MASS / sqrt(Q2); - eps2 = eps * eps; - - if (eps < 1 && (4. * xbj * (1. - xbj) + eps2) != 0) { - - tmin = -Q2 * (2. * (1. - xbj) * (1 - sqrt(1. - eps2)) + eps2) - / (4. * xbj * (1. - xbj) + eps2); - FpiNN = (Lambda_N2 - MPi2) / (Lambda_N2 - (m_t - tmin)); - Fp = -Constant::PROTON_MASS * f_pi * (2. * sqrt(2.) * gpiNN * FpiNN) - / (m_t - MPi2); - - if (x < m_xi && x > -m_xi && m_t < tmin) { -// dum = ( Fp( pKinematicVariables->getT(), Q2, tmin ) / 4. / pGPDData->getXi() ) * Phi_pi( ( x + pGPDData->getXi() ) / 2. / pGPDData->getXi() ) ; - dum = (Fp / 4. / m_xi) * 6. * y * (1. - y); - } - - } - - return dum; -} - -/*! - * \fn double STGK11ModelOnlyGluons::Etval1( double x, double i, double k ) - * - * xdiff:=evalf(xb-xi); xsum:=evalf(xb+xi); - * if xsum<0 then # xb<-xi - * Hi:=0 else - * if xdiff <0 then # xb 3/2/xi^3*(((xb+xi)/(1+xi))^(2+i-k)*(xi^2-xb+(2+i-k)*xi*(1-xb))) - * /(1+i-k)/(2+i-k)/(3+i-k) - * else - * Hi:= i -> 3/2/xi^3/(1+i-k)/(2+i-k)/(3+i-k)*((xi^2-xb)*( ((xb+xi)/(1+xi))^(2+i-k) - * -((xb-xi)/(1-xi))^(2+i-k)) - * + xi*(1-xb)*(2+i-k)*(((xb+xi)/(1+xi))^(2+i-k)+ ((xb-xi)/(1-xi))^(2+i-k) ) ) - * end if: end if: - * - */ -double GK11ModelOnlyGluons::Etval1(double x, double i, double k) { - double dum; - - if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() - dum = 0.0; - } else { // Two cases for x >= -pGPDData->getXi() - if ((x - m_xi) < 0) { - dum = - 3. / 2. / pow(m_xi, 3.) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - * (m_xi * m_xi - x - + (2. + i - k) * m_xi * (1. - x))) - / (1. + i - k) / (2. + i - k) / (3. + i - k); - } else { - dum = 3. / 2. / pow(m_xi, 3.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) - * ((m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - - pow((x - m_xi) / (1. - m_xi), - (2. + i - k))) - + m_xi * (1. - x) * (2. + i - k) - * (pow((x + m_xi) / (1. + m_xi), - (2. + i - k)) - + pow((x - m_xi) / (1. - m_xi), - (2. + i - k)))); - } - } - return dum; -} - -/*! - * \fn double STGK11ModelOnlyGluons::Etval1_alt( double x, double i, double k ) - * - * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. - * - */ -double GK11ModelOnlyGluons::Etval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -double GK11ModelOnlyGluons::getB0() const { - return b0; -} - -double GK11ModelOnlyGluons::getC1() const { - return c1; -} - -double GK11ModelOnlyGluons::getC2() const { - return c2; -} - -double GK11ModelOnlyGluons::getC3() const { - return c3; -} - -double GK11ModelOnlyGluons::getC4() const { - return c4; -} - -double GK11ModelOnlyGluons::getC5() const { - return c5; -} - -double GK11ModelOnlyGluons::getC6() const { - return c6; -} - -double GK11ModelOnlyGluons::getC7() const { - return c7; -} - -double GK11ModelOnlyGluons::getC8() const { - return c8; -} - -const std::vector& GK11ModelOnlyGluons::getEdval1mtab() const { - return Edval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getEdval1tab() const { - return Edval1tab; -} - -const std::vector& GK11ModelOnlyGluons::getEi1tab() const { - return Ei1tab; -} - -const std::vector& GK11ModelOnlyGluons::getEs1tab() const { - return Es1tab; -} - -const std::vector& GK11ModelOnlyGluons::getEtdval1mtab() const { - return Etdval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getEtdval1tab() const { - return Etdval1tab; -} - -const std::vector& GK11ModelOnlyGluons::getEtuval1mtab() const { - return Etuval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getEtuval1tab() const { - return Etuval1tab; -} - -const std::vector& GK11ModelOnlyGluons::getEuval1mtab() const { - return Euval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getEuval1tab() const { - return Euval1tab; -} - -double GK11ModelOnlyGluons::getEdValMx() const { - return fEdValMx; -} - -double GK11ModelOnlyGluons::getEtdValMx() const { - return fEtdValMx; -} - -double GK11ModelOnlyGluons::getEtuValMx() const { - return fEtuValMx; -} - -double GK11ModelOnlyGluons::getEuValMx() const { - return fEuValMx; -} - -double GK11ModelOnlyGluons::getHdValMx() const { - return fHdValMx; -} - -double GK11ModelOnlyGluons::getHtdValMx() const { - return fHtdValMx; -} - -double GK11ModelOnlyGluons::getHtuValMx() const { - return fHtuValMx; -} - -double GK11ModelOnlyGluons::getHuValMx() const { - return fHuValMx; -} - -double GK11ModelOnlyGluons::getL() const { - return fL; -} - -const std::vector& GK11ModelOnlyGluons::getHdval1mtab() const { - return Hdval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getHdval1tab() const { - return Hdval1tab; -} - -const std::vector& GK11ModelOnlyGluons::getHi1tab() const { - return Hi1tab; -} - -const std::vector& GK11ModelOnlyGluons::getHs1tab() const { - return Hs1tab; -} - -const std::vector& GK11ModelOnlyGluons::getHtdval1mtab() const { - return Htdval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getHtdval1tab() const { - return Htdval1tab; -} - -const std::vector& GK11ModelOnlyGluons::getHti1tab() const { - return Hti1tab; -} - -const std::vector& GK11ModelOnlyGluons::getHtuval1mtab() const { - return Htuval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getHtuval1tab() const { - return Htuval1tab; -} - -const std::vector& GK11ModelOnlyGluons::getHuval1mtab() const { - return Huval1mtab; -} - -const std::vector& GK11ModelOnlyGluons::getHuval1tab() const { - return Huval1tab; -} - -double GK11ModelOnlyGluons::getKappaS() const { - return kappa_s; -} - -double GK11ModelOnlyGluons::getEdval() const { - return kEdval; -} - -double GK11ModelOnlyGluons::getEgluon() const { - return kEgluon; -} - -double GK11ModelOnlyGluons::getEsea() const { - return kEsea; -} - -double GK11ModelOnlyGluons::getEtdval() const { - return kEtdval; -} - -double GK11ModelOnlyGluons::getEtgluon() const { - return kEtgluon; -} - -double GK11ModelOnlyGluons::getEtsea() const { - return kEtsea; -} - -double GK11ModelOnlyGluons::getEtuval() const { - return kEtuval; -} - -double GK11ModelOnlyGluons::getEuval() const { - return kEuval; -} - -double GK11ModelOnlyGluons::getHdval() const { - return kHdval; -} - -double GK11ModelOnlyGluons::getHgluon() const { - return kHgluon; -} - -double GK11ModelOnlyGluons::getHsea() const { - return kHsea; -} - -double GK11ModelOnlyGluons::getHtdval() const { - return kHtdval; -} - -double GK11ModelOnlyGluons::getHtgluon() const { - return kHtgluon; -} - -double GK11ModelOnlyGluons::getHtsea() const { - return kHtsea; -} - -double GK11ModelOnlyGluons::getHtuval() const { - return kHtuval; -} - -double GK11ModelOnlyGluons::getHuval() const { - return kHuval; -} - -std::string GK11ModelOnlyGluons::toString() const { - return GPDModule::toString(); -} diff --git a/src/partons/modules/gpd/GK16ModelTest.cpp b/src/partons/modules/gpd/GK16ModelTest.cpp deleted file mode 100644 index fffa44ca..00000000 --- a/src/partons/modules/gpd/GK16ModelTest.cpp +++ /dev/null @@ -1,1927 +0,0 @@ -#include "../../../../include/partons/modules/gpd/GK16ModelTest.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "../../../../include/partons/beans/gpd/GPDType.h" -#include "../../../../include/partons/beans/parton_distribution/GluonDistribution.h" -#include "../../../../include/partons/beans/parton_distribution/PartonDistribution.h" -#include "../../../../include/partons/beans/parton_distribution/QuarkDistribution.h" -#include "../../../../include/partons/beans/QuarkFlavor.h" -#include "../../../../include/partons/BaseObjectRegistry.h" -#include "../../../../include/partons/FundamentalPhysicalConstants.h" - -// Initialise [class]::classId with a unique name. -const unsigned int GK16ModelTest::classId = - BaseObjectRegistry::getInstance()->registerBaseObject( - new GK16ModelTest("GK16ModelTest")); - -//TODO initialise missing members -GK16ModelTest::GK16ModelTest(const std::string &className) : - GPDModule(className) { - m_nf = 3; - fL = 0.; - m_MuF2_ref = 4.; - Huval1tab = std::vector(3, 0.); - Hdval1tab = std::vector(3, 0.); - Huval1mtab = std::vector(3, 0.); - Hdval1mtab = std::vector(3, 0.); - Hs1tab = std::vector(4, 0.); - Hi1tab = std::vector(4, 0.); - Euval1tab = std::vector(2, 0.); - Edval1tab = std::vector(8, 0.); - Euval1mtab = std::vector(2, 0.); - Edval1mtab = std::vector(8, 0.); - Es1tab = std::vector(3, 0.); - Ei1tab = std::vector(2, 0.); - Htuval1tab = std::vector(3, 0.); - Htdval1tab = std::vector(3, 0.); - Htuval1mtab = std::vector(3, 0.); - Htdval1mtab = std::vector(3, 0.); - Hti1tab = std::vector(3, 0.); - Etuval1tab = std::vector(4, 0.); - Etdval1tab = std::vector(4, 0.); - Etuval1mtab = std::vector(4, 0.); - Etdval1mtab = std::vector(4, 0.); - - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::H, &GPDModule::computeH)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::E, &GPDModule::computeE)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Ht, &GPDModule::computeHt)); - m_listGPDComputeTypeAvailable.insert( - std::make_pair(GPDType::Et, &GPDModule::computeEt)); -} - -GK16ModelTest::GK16ModelTest(const GK16ModelTest& other) : - GPDModule(other) { - c1 = other.getC1(); - c2 = other.getC2(); - c3 = other.getC3(); - c4 = other.getC4(); - c5 = other.getC5(); - c6 = other.getC6(); - c7 = other.getC7(); - c8 = other.getC8(); - b0 = other.getB0(); - kappa_s = other.getKappaS(); - fL = other.getL(); - fHuValMx = other.getHuValMx(); - fHdValMx = other.getHdValMx(); - fEuValMx = other.getEuValMx(); - fEdValMx = other.getEdValMx(); - fHtuValMx = other.getHtuValMx(); - fHtdValMx = other.getHtdValMx(); - fEtuValMx = other.getEtuValMx(); - fEtdValMx = other.getEtdValMx(); - kHgluon = other.getHgluon(); - kHsea = other.getHsea(); - kHuval = other.getHuval(); - kHdval = other.getHdval(); - kEgluon = other.getEgluon(); - kEsea = other.getEsea(); - kEuval = other.getEuval(); - kEdval = other.getEdval(); - kHtgluon = other.getHtgluon(); - kHtsea = other.getHtsea(); - kHtuval = other.getHtuval(); - kHtdval = other.getHtdval(); - kEtgluon = other.getEtgluon(); - kEtsea = other.getEtsea(); - kEtuval = other.getEtuval(); - kEtdval = other.getEtdval(); - Huval1tab = other.getHuval1tab(); - Hdval1tab = other.getHdval1tab(); - Huval1mtab = other.getHuval1mtab(); - Hdval1mtab = other.getHdval1mtab(); - Hs1tab = other.getHs1tab(); - Hi1tab = other.getHi1tab(); - Euval1tab = other.getEuval1tab(); - Edval1tab = other.getEdval1tab(); - Euval1mtab = other.getEuval1mtab(); - Edval1mtab = other.getEdval1mtab(); - Es1tab = other.getEs1tab(); - Ei1tab = other.getEi1tab(); - Htuval1tab = other.getHtuval1tab(); - Htdval1tab = other.getHtdval1tab(); - Htuval1mtab = other.getHtuval1mtab(); - Htdval1mtab = other.getHtdval1mtab(); - Hti1tab = other.getHti1tab(); - Etuval1tab = other.getEtuval1tab(); - Etdval1tab = other.getEtdval1tab(); - Etuval1mtab = other.getEtuval1mtab(); - Etdval1mtab = other.getEtdval1mtab(); -} - -GK16ModelTest* GK16ModelTest::clone() const { - return new GK16ModelTest(*this); -} - -GK16ModelTest::~GK16ModelTest() { -} - -void GK16ModelTest::configure(const ElemUtils::Parameters ¶meters) { - GPDModule::configure(parameters); -} - -//TODO implement -void GK16ModelTest::isModuleWellConfigured() { - GPDModule::isModuleWellConfigured(); - -} - -void GK16ModelTest::initModule() { - GPDModule::initModule(); - - fL = log(m_MuF2 / m_MuF2_ref); // Logarithmic dependence on the scale - - /* debug(__func__, - ElemUtils::Formatter() << "fMuF2 = " << fMuF2 << " fL = " << fL);*/ -} - -PartonDistribution GK16ModelTest::computeH() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - -// Scales - - calculateHCoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 2.23 + 0.362 * fL; // See table 1 p. 12 - c2 = 5.43 - 7.0 * fL; // See table 1 p. 12 - c3 = -34.0 + 22.5 * fL; // See table 1 p. 12 - c4 = 40.6 - 21.6 * fL; // See table 1 p. 12 - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); // See eq. (39) p. 14 - - GluonDistribution gluonDistribution( - exp(b0 * m_t) - * (c1 * Hi1tab.at(0) + c2 * Hi1tab.at(1) + c3 * Hi1tab.at(2) - + c4 * Hi1tab.at(3))); - -// s quark - - c1 = 0.123 + 0.0003 * fL; // See table 1 p. 12 - c2 = -0.327 - 0.004 * fL; // See table 1 p. 12 - c3 = 0.692 - 0.068 * fL; // See table 1 p. 12 - c4 = -0.486 + 0.038 * fL; // See table 1 p. 12 - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); // See eq. (39) p. 14 - - if (exp(b0 * m_t) - * (c1 * Hs1tab.at(0) + c2 * Hs1tab.at(1) + c3 * Hs1tab.at(2) - + c4 * Hs1tab.at(3)) > 10e-8) { - quarkDistribution_s.setQuarkDistribution( - exp(b0 * m_t) - * (c1 * Hs1tab.at(0) + c2 * Hs1tab.at(1) - + c3 * Hs1tab.at(2) + c4 * Hs1tab.at(3))); // See eq. (27) - } - - else { - quarkDistribution_s.setQuarkDistribution(0); - } -// u quark, valence part - - c1 = 1.52 + 0.248 * fL; // See eq. (27) - c2 = 2.88 - 0.94 * fL; // See eq. (27) - c3 = -0.095 * fL; // See eq. (27) - - b0 = 0; // See p. 15 - - double uVal = exp(b0 * m_t) - * (c1 * Huval1tab.at(0) + c2 * Huval1tab.at(1) - + c3 * Huval1tab.at(2)); // See eq. (27) - - fHuValMx = exp(b0 * m_t) - * (c1 * Huval1mtab.at(0) + c2 * Huval1mtab.at(1) - + c3 * Huval1mtab.at(2)); // See eq. (27); - -// d quark, valence part - - c1 = 0.76 + 0.248 * fL; // See table 1 p. 12 - c2 = 3.11 - 1.36 * fL; // See table 1 p. 12 - c3 = -3.99 + 1.15 * fL; // See table 1 p. 12 - - b0 = 0; // See p. 15 - - double dVal = exp(b0 * m_t) - * (c1 * Hdval1tab.at(0) + c2 * Hdval1tab.at(1) - + c3 * Hdval1tab.at(2)); // See eq. (27) - - // C'est HqVal (-x) - fHdValMx = exp(b0 * m_t) - * (c1 * Hdval1mtab.at(0) + c2 * Hdval1mtab.at(1) - + c3 * Hdval1mtab.at(2)); // See eq. (27) - -// u and d quarks, sea part - - kappa_s = 1. + 0.68 / (1. + 0.52 * log(m_MuF2 / m_MuF2_ref)); // See eq. (36) - - double uSea = kappa_s * quarkDistribution_s.getQuarkDistribution(); // See eq. (35) - double dSea = uSea; - -// u and d quarks, valence + sea parts - if (uVal + uSea > 1e-5) { - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - } else - quarkDistribution_u.setQuarkDistribution(0); - if (dVal + dSea > 1e-5) { - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - } else - quarkDistribution_d.setQuarkDistribution(0); - -// H, charge singlet - -// pGPD_H->setSquareChargeAveraged( -// Constant::U2_ELEC_CHARGE -// * (pGPDQuarkFlavorData_u->getSea() -// + pGPDQuarkFlavorData_u->getValence()) -// + Constant::D2_ELEC_CHARGE -// * (pGPDQuarkFlavorData_d->getSea() -// + pGPDQuarkFlavorData_d->getValence()) -// + Constant::S2_ELEC_CHARGE * pGPDQuarkFlavorData_s->getHq()); - - // Set Hq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal - fHuValMx + 2 * uSea); - quarkDistribution_d.setQuarkDistributionPlus(dVal - fHdValMx + 2 * dSea); - quarkDistribution_s.setQuarkDistributionPlus( - 2 * quarkDistribution_s.getQuarkDistribution()); - - // Set Hq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal + fHuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal + fHdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK16ModelTest::computeHt() { - - debug(__func__, "Entered function ..."); - - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - double delta, etau, etad, Nu, Nd; - - calculateHtCoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 3.39 - 0.864 * fL; - c2 = 1.73 + 0.24 * fL - 0.17 * fL * fL; - c3 = 0.42 - 0.115 * fL - 0.069 * fL * fL; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - GluonDistribution gluonDistribution( - exp(b0 * m_t) - * (c1 * Hti1tab.at(0) + c2 * Hti1tab.at(1) - + c3 * Hti1tab.at(2))); - - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0); - -// s quark, Ht_sea = 0 for GK - quarkDistribution_s.setQuarkDistribution(0.); - -// u quark, valence part - - c1 = 0.170 + 0.03 * fL; //parameters from GK3 table 4 and note 11 december 2008 - c2 = 1.340 - 0.02 * fL; - c3 = 0.120 - 0.40 * fL; - - etau = 0.926; - delta = 0.48; - b0 = 0.; - - Nu = tgamma(1. - delta) * tgamma(4.) / tgamma(5. - delta) - * (c1 + c2 * (1. - delta) / (5. - delta) - + c3 * (2. - delta) * (1. - delta) / (6 - delta) - / (5. - delta)); -// + c4 * (3.-delta) * (2.-delta) * (1-delta)/(7.-delta)/(6.-delta)/(5.-delta) ) ; - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0 << ", etau = " << etau - << ", delta = " << delta << ", Nu = " << Nu); - - double uVal = etau / Nu * exp(b0 * m_t) - * (c1 * Htuval1tab.at(0) + c2 * Htuval1tab.at(1) - + c3 * Htuval1tab.at(2)); - fHtuValMx = etau / Nu * exp(b0 * m_t) - * (c1 * Htuval1mtab.at(0) + c2 * Htuval1mtab.at(1) - + c3 * Htuval1mtab.at(2)); // -pGPDData->getX() - -// d quark, valence part - - c1 = -0.320 - 0.040 * fL; // parameters from GK3 table 4 - c2 = -1.427 - 0.176 * fL; - c3 = 0.692 - 0.068 * fL; - - etad = -0.341; - - Nd = tgamma(1. - delta) * tgamma(4.) / tgamma(5. - delta) - * (c1 + c2 * (1. - delta) / (5. - delta) - + c3 * (2. - delta) * (1. - delta) / (6. - delta) - / (5. - delta)); - - b0 = 0; - - debug(__func__, - ElemUtils::Formatter() << "c1 = " << c1 << ", c2 = " << c2 - << ", c3 = " << c3 << ", b0 = " << b0 << ", etad = " << etad - << ", Nd = " << Nd); - - double dVal = etad / Nd * exp(b0 * m_t) - * (c1 * Htdval1tab.at(0) + c2 * Htdval1tab.at(1) - + c3 * Htdval1tab.at(2)); - fHtdValMx = etad / Nd * exp(b0 * m_t) - * (c1 * Htdval1mtab.at(0) + c2 * Htdval1mtab.at(1) - + c3 * Htdval1mtab.at(2)); // -pGPDData->getX() - -// u and d quark, sea part - double uSea = 0.; - double dSea = 0.; - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - if (uVal + uSea < 1e-5) { - quarkDistribution_u.setQuarkDistribution(0); - } - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - if (dVal + dSea < 1e-5) { - quarkDistribution_d.setQuarkDistribution(0); - } - - // Set Htq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal + fHtuValMx); - quarkDistribution_d.setQuarkDistributionPlus(dVal + fHtdValMx); - quarkDistribution_s.setQuarkDistributionPlus(0.); - - // Set Htq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal - fHtuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal - fHtdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK16ModelTest::computeE() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - calculateECoefs(); // Calculate the K's and the coefficients - -// Gluons - - c1 = 0.779; - c2 = -c1; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - GluonDistribution gluonDistribution( - exp(b0 * m_t) * (c1 * Ei1tab.at(0) + c2 * Ei1tab.at(1))); - - -// s quark (sea) - - c1 = -0.155; - c2 = -2 * c1; - c3 = c1; - b0 = 2.58 + 0.25 * log(0.880354 / (0.880354 + m_MuF2)); - - quarkDistribution_s.setQuarkDistribution( - exp(b0 * m_t) - * (c1 * Es1tab.at(0) + c2 * Es1tab.at(1) + c3 * Es1tab.at(2))); - if (exp(b0 * m_t) - * (c1 * Es1tab.at(0) + c2 * Es1tab.at(1) + c3 * Es1tab.at(2)) - < 10e-7) { - quarkDistribution_s.setQuarkDistribution(0); - } - -// u quark, valence part - - c1 = 2.2053; - c2 = -c1; - - b0 = 0; - - double uVal = exp(b0 * m_t) * (c1 * Euval1tab.at(0) + c2 * Euval1tab.at(1)); - fEuValMx = exp(b0 * m_t) * (c1 * Euval1mtab.at(0) + c2 * Euval1mtab.at(1)); // -pGPDData->getX() - -// d quark, valence part - - c1 = -3.114; // DFJK4 version betad = 5.6 - c2 = 8.096; - c3 = -6.477; - c4 = 1.295; - c5 = 0.1296; - c6 = 0.0362; - c7 = 0.014516; - c8 = 0.0070504; - - b0 = 0; - - double dVal = exp(b0 * m_t) - * (c1 * Edval1tab.at(0) + c2 * Edval1tab.at(1) - + c3 * Edval1tab.at(2) + c4 * Edval1tab.at(3) - + c5 * Edval1tab.at(4) + c6 * Edval1tab.at(5) - + c7 * Edval1tab.at(6) + c8 * Edval1tab.at(7)); - fEdValMx = exp(b0 * m_t) - * (c1 * Edval1mtab.at(0) + c2 * Edval1mtab.at(1) - + c3 * Edval1mtab.at(2) + c4 * Edval1mtab.at(3) - + c5 * Edval1mtab.at(4) + c6 * Edval1mtab.at(5) - + c7 * Edval1mtab.at(6) + c8 * Edval1mtab.at(7)); // -pGPDData->getX() - -// u and d quarks, sea part - -//EuSea = Es - double uSea = quarkDistribution_s.getQuarkDistribution(); -//EdSea = Es - double dSea = quarkDistribution_s.getQuarkDistribution(); - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - if (uVal + uSea < 1e-5) { - quarkDistribution_u.setQuarkDistribution(0); - } - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - if (dVal + dSea < 1e-5) { - quarkDistribution_d.setQuarkDistribution(0); - } - - // Set Eq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal - fEuValMx + 2 * uSea); - quarkDistribution_d.setQuarkDistributionPlus(dVal - fEdValMx + 2 * dSea); - quarkDistribution_s.setQuarkDistributionPlus( - 2 * quarkDistribution_s.getQuarkDistribution()); - - // Set Eq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal + fEuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal + fEdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -PartonDistribution GK16ModelTest::computeEt() { - PartonDistribution partonDistribution; - - QuarkDistribution quarkDistribution_u(QuarkFlavor::UP); - QuarkDistribution quarkDistribution_d(QuarkFlavor::DOWN); - QuarkDistribution quarkDistribution_s(QuarkFlavor::STRANGE); - - double Nu, Nd; - double PionPolePx, PionPoleMx; - - calculateEtCoefs(); // Calculate the K's and the coefficients - - PionPolePx = Et_pole(m_x); - PionPoleMx = Et_pole(-m_x); - -// Gluons, Et_gluons = 0 for GK - GluonDistribution gluonDistribution(0.); - -// s quark, Et_sea = 0 for GK - quarkDistribution_s.setQuarkDistributionPlus(0.); - -// u quark, valence part - - Nu = 14.0; - c1 = Nu; // parameters P.Kroll Maple file - c2 = -2. * Nu; - c3 = Nu; - c4 = 0.0; - b0 = 0.9; // from P.Kroll's email, 14/3/2011 - - double fEtuVal = exp(b0 * m_t) - * (c1 * Etuval1tab.at(0) + c2 * Etuval1tab.at(1) - + c3 * Etuval1tab.at(2) + c4 * Etuval1tab.at(3)); - fEtuVal += PionPolePx; - double uVal = fEtuVal; - fEtuValMx = exp(b0 * m_t) - * (c1 * Etuval1mtab.at(0) + c2 * Etuval1mtab.at(1) - + c3 * Etuval1mtab.at(2) + c4 * Etuval1mtab.at(3)); // -pGPDData->getX() - fEtuValMx += PionPoleMx; - -// d quark, valence part - - Nd = 4.0; - c1 = Nd; // parameters P.Kroll Maple file - c2 = -2. * Nd; - c3 = Nd; - c4 = 0.0; - b0 = 0.9; - - double fEtdVal = exp(b0 * m_t) - * (c1 * Etdval1tab.at(0) + c2 * Etdval1tab.at(1) - + c3 * Etdval1tab.at(2) + c4 * Etdval1tab.at(3)); - fEtdVal -= PionPolePx; - double dVal = fEtdVal; - fEtdValMx = exp(b0 * m_t) - * (c1 * Etdval1mtab.at(0) + c2 * Etdval1mtab.at(1) - + c3 * Etdval1mtab.at(2) + c4 * Etdval1mtab.at(3)); // -pGPDData->getX() - fEtdValMx -= PionPoleMx; - -// u and d quark, sea part - double uSea = 0.; - double dSea = 0.; - -// u and d quarks, valence + sea parts - - quarkDistribution_u.setQuarkDistribution(uVal + uSea); - if (uVal + uSea < 1e-5) { - quarkDistribution_u.setQuarkDistribution(0); - } - quarkDistribution_d.setQuarkDistribution(dVal + dSea); - if (dVal + dSea < 1e-5) { - quarkDistribution_d.setQuarkDistribution(0); - } - - // Set Etq(+) - quarkDistribution_u.setQuarkDistributionPlus(uVal + fEtuValMx); - quarkDistribution_d.setQuarkDistributionPlus(dVal + fEtdValMx); - quarkDistribution_s.setQuarkDistributionPlus(0.); - - // Set Eq(-) - quarkDistribution_u.setQuarkDistributionMinus(uVal - fEtuValMx); - quarkDistribution_d.setQuarkDistributionMinus(dVal - fEtdValMx); - quarkDistribution_s.setQuarkDistributionMinus(0.); - - partonDistribution.setGluonDistribution(gluonDistribution); - partonDistribution.addQuarkDistribution(quarkDistribution_u); - partonDistribution.addQuarkDistribution(quarkDistribution_d); - partonDistribution.addQuarkDistribution(quarkDistribution_s); - - return partonDistribution; -} - -//double GK16ModelTest::computeSinglet(const QuarkDistribution &quarkDistribution_u, -// const QuarkDistribution &quarkDistribution_d, -// const QuarkDistribution &quarkDistribution_s) { -// -// if (m_nbOfQuarkFlavor == 0) { -// throwException(__func__, "divided by ZERO !"); -// } -// -// double result = quarkDistribution_u.getQuarkDistributionPlus() -// + quarkDistribution_d.getQuarkDistributionPlus() -// + quarkDistribution_s.getQuarkDistributionPlus(); -// result *= (1 / (2 * m_nbOfQuarkFlavor)); -// -// return result; -//} - -void GK16ModelTest::calculateHCoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow (full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateHKas(); // comes up with kHgluon, kHsea, kHuval, kHdval - - if (!slow_sea) { - if (m_x >= 0) { - Hs1tab.at(0) = Hs1(m_x, 0., kHsea); - Hs1tab.at(1) = Hs1(m_x, 0.5, kHsea); - Hs1tab.at(2) = Hs1(m_x, 1., kHsea); - Hs1tab.at(3) = Hs1(m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1(m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1(m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1(m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1(m_x, 1.5, kHgluon); ///< TODO: CHECK IT - ADDED BY JAKUB - } else { - Hs1tab.at(0) = -Hs1(-m_x, 0., kHsea); - Hs1tab.at(1) = -Hs1(-m_x, 0.5, kHsea); - Hs1tab.at(2) = -Hs1(-m_x, 1., kHsea); - Hs1tab.at(3) = -Hs1(-m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1(-m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1(-m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1(-m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1(-m_x, 1.5, kHgluon); - } - } else { - if (m_x >= 0) { - Hs1tab.at(0) = Hs1_alt(m_x, 0., kHsea); - Hs1tab.at(1) = Hs1_alt(m_x, 0.5, kHsea); - Hs1tab.at(2) = Hs1_alt(m_x, 1., kHsea); - Hs1tab.at(3) = Hs1_alt(m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1_alt(m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1_alt(m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1_alt(m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1_alt(m_x, 1.5, kHgluon); - } else { - Hs1tab.at(0) = -Hs1_alt(-m_x, 0., kHsea); - Hs1tab.at(1) = -Hs1_alt(-m_x, 0.5, kHsea); - Hs1tab.at(2) = -Hs1_alt(-m_x, 1., kHsea); - Hs1tab.at(3) = -Hs1_alt(-m_x, 1.5, kHsea); - - Hi1tab.at(0) = Hi1_alt(-m_x, 0., kHgluon); - Hi1tab.at(1) = Hi1_alt(-m_x, 0.5, kHgluon); - Hi1tab.at(2) = Hi1_alt(-m_x, 1., kHgluon); - Hi1tab.at(3) = Hi1_alt(-m_x, 1.5, kHgluon); - } - } - - if (!slow_val) { - Huval1tab.at(0) = Hval1(m_x, 0., kHuval); - Huval1tab.at(1) = Hval1(m_x, 0.5, kHuval); - Huval1tab.at(2) = Hval1(m_x, 1., kHuval); - - Hdval1tab.at(0) = Hval1(m_x, 0., kHdval); - Hdval1tab.at(1) = Hval1(m_x, 0.5, kHdval); - Hdval1tab.at(2) = Hval1(m_x, 1., kHdval); - - Huval1mtab.at(0) = Hval1(-m_x, 0., kHuval); - Huval1mtab.at(1) = Hval1(-m_x, 0.5, kHuval); - Huval1mtab.at(2) = Hval1(-m_x, 1., kHuval); - - Hdval1mtab.at(0) = Hval1(-m_x, 0., kHdval); - Hdval1mtab.at(1) = Hval1(-m_x, 0.5, kHdval); - Hdval1mtab.at(2) = Hval1(-m_x, 1., kHdval); - - } else { - Huval1tab.at(0) = Hval1_alt(m_x, 0., kHuval); - Huval1tab.at(1) = Hval1_alt(m_x, 0.5, kHuval); - Huval1tab.at(2) = Hval1_alt(m_x, 1., kHuval); - - Hdval1tab.at(0) = Hval1_alt(m_x, 0., kHdval); - Hdval1tab.at(1) = Hval1_alt(m_x, 0.5, kHdval); - Hdval1tab.at(2) = Hval1_alt(m_x, 1., kHdval); - - Huval1mtab.at(0) = Hval1_alt(-m_x, 0., kHuval); - Huval1mtab.at(1) = Hval1_alt(-m_x, 0.5, kHuval); - Huval1mtab.at(2) = Hval1_alt(-m_x, 1., kHuval); - - Hdval1mtab.at(0) = Hval1_alt(-m_x, 0., kHdval); - Hdval1mtab.at(1) = Hval1_alt(-m_x, 0.5, kHdval); - Hdval1mtab.at(2) = Hval1_alt(-m_x, 1., kHdval); - } -} - -void GK16ModelTest::calculateHKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = 0.10 + 0.06 * fL; - kHgluon = delta + alpha * m_t; - -// sea - - alpha = 0.15; // same as slope of gluon trajectory - delta = 1.1 + 0.06 * fL - 0.0027 * fL * fL; - kHsea = delta + alpha * m_t; - -// u valence - - alpha = 0.9; - delta = 0.48; - kHuval = delta + alpha * m_t; - -// d valence - - alpha = 0.9 - 0.05 * fL; - delta = 0.48 + 0.006 * fL; - kHdval = delta + alpha * m_t; -} - -double GK16ModelTest::Hs1(double x, double i, double k) { - - double dummy; - - if ((x - m_xi) < 0) { - dummy = 15. / 4. / pow(m_xi, 5.) - * pow((x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) / (5. + i - k) - - 15. / 4. / pow(m_xi, 5.) - * pow((-x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi + x, 2.) - + 6. * (3. + i - k) * m_xi * (1. + x) - * (m_xi * m_xi + x) - - 2. * (2. + i - k) * (4. + i - k) - * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) - / (5. + i - k); - } else { - dummy = 15. / 4. / pow(m_xi, 5.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) / (4. + i - k) / (5. + i - k) - * (((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - - pow((x - m_xi) / (1. - m_xi), 3. + i - k)) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - + pow((x - m_xi) / (1. - m_xi), - 3. + i - k))); - } - - /* debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" << i - << ", k=" << k << ") dummy = " << dummy);*/ - - return dummy; -} - -double GK16ModelTest::Hi1(double x, double i, double k) { - - double dummy; - - if ((x - m_xi) < 0) { - dummy = 15. / 4. / pow(m_xi, 5.) - * pow((x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) / (5. + i - k) - + 15. / 4. / pow(m_xi, 5.) - * pow((-x + m_xi) / (1. + m_xi), 3. + i - k) - * ((3. * pow(3. + i - k, 2.) - - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi + x, 2.) - + 6. * (3. + i - k) * m_xi * (1. + x) - * (m_xi * m_xi + x) - - 2. * (2. + i - k) * (4. + i - k) - * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) / (1. + i - k) - / (2. + i - k) / (3. + i - k) / (4. + i - k) - / (5. + i - k); - } else { - dummy = 15. / 4. / pow(m_xi, 5.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) / (4. + i - k) / (5. + i - k) - * (((3. * pow(3. + i - k, 2.) - (1. + i - k) * (5. + i - k)) - * pow(m_xi * m_xi - x, 2.) - - 2. * (2. + i - k) * (4. + i - k) * (1. - m_xi * m_xi) - * (x * x - m_xi * m_xi)) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - - pow((x - m_xi) / (1. - m_xi), 3. + i - k)) - + 6. * (3. + i - k) * m_xi * (1. - x) - * (m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), 3. + i - k) - + pow((x - m_xi) / (1. - m_xi), - 3. + i - k))); - } - - return dummy; -} - -double GK16ModelTest::Hs1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += -dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - dummy = double_approx(dummya); - - return dummy; -} - -double GK16ModelTest::Hi1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - - dummy = double_approx(dummya); - - return dummy; -} - -double GK16ModelTest::Hval1(double x, double i, double k) { - - double dummy; - - if ((x + m_xi) < 0) { - dummy = 0.; // no anti-quarks in valence ! - } else if ((x - m_xi) < 0) { - dummy = 3. / 2. / pow(m_xi, 3.) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - * (m_xi * m_xi - x + (2. + i - k) * m_xi * (1. - x))) - / (1. + i - k) / (2. + i - k) / (3. + i - k); - } else { - dummy = 3. / 2. / pow(m_xi, 3.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) - * ((m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - - pow((x - m_xi) / (1. - m_xi), (2. + i - k))) - + m_xi * (1. - x) * (2. + i - k) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - + pow((x - m_xi) / (1. - m_xi), - (2. + i - k)))); - } - - /* debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" << i - << ", k=" << k << ") dummy = " << dummy);*/ - - return dummy; -} - -double GK16ModelTest::Hval1_alt(double x, double i, double k) { - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi3 = expt(xia, 3); - - if (fabs(x + m_xi) > 1e-6) { - dummy2 = exp((2 + ia - ka) * ln((xba + xia) / (1 + xia))); - } else { - dummy2 = 0; - } - - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((2 + ia - ka) * ln((xba - xia) / (1 - xia))); - } else { - dummy1 = 0; - } - - double dummy; - - if ((x + m_xi) < 0) { - dummy = 0.; // no anti-quarks in valence ! - } else if ((x - m_xi) < 0) { - dummya = dummy2 * (xia * xia - xba + (2 + ia - ka) * xia * (1 - xba)); - - dummya *= cl_float(3, prec) / 2 / xi3 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka); - - } else { - dummya = (xia * xia - xba) * (dummy2 - dummy1); - - dummya += (2 + ia - ka) * xia * (1 - xba) * (dummy2 + dummy1); - - dummya *= cl_float(3, prec) / 2 / xi3 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka); - } - - dummy = double_approx(dummya); - - debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" - << i << ", k=" << k << ") dummy = " << dummy); - - return dummy; -} - -/** ! - * \fn void STGK16ModelTest::calculateHtCoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Hti1 ( i = 0, 0.5, 1 ) - * - Htval1( i = 0, 1, 2 ) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share the same limits as strange/sea as far as slow/fast goes. - * ( gluons only for now, Htilde_sea = 0 for Kroll ) - * - */ -void GK16ModelTest::calculateHtCoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateHtKas(); // comes up with kHtgluon, kHstea, kHtuval, kHtdval - -// No sea Ht for GK. - - debug(__func__, - ElemUtils::Formatter() << "slow_sea = " << slow_sea - << " slow_val = " << slow_val); - -//TODO permuter les conditions - - if (!slow_sea) { - if (m_x >= 0) { - Hti1tab.at(0) = Hti1(m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1(m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1(m_x, 1.0, kHtgluon); - } else { - Hti1tab.at(0) = Hti1(-m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1(-m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1(-m_x, 1.0, kHtgluon); - } - } else { - if (m_x >= 0) { - Hti1tab.at(0) = Hti1_alt(m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1_alt(m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1_alt(m_x, 1.0, kHtgluon); - } else { - Hti1tab.at(0) = Hti1_alt(-m_x, 0., kHtgluon); - Hti1tab.at(1) = Hti1_alt(-m_x, 0.5, kHtgluon); - Hti1tab.at(2) = Hti1_alt(-m_x, 1.0, kHtgluon); - } - } - - if (!slow_val) { - Htuval1tab.at(0) = Htval1(m_x, 0., kHtuval); - Htuval1tab.at(1) = Htval1(m_x, 1., kHtuval); - Htuval1tab.at(2) = Htval1(m_x, 2., kHtuval); - - Htdval1tab.at(0) = Htuval1tab.at(0); // kHtdval & kHtuval are equal - Htdval1tab.at(1) = Htuval1tab.at(1); // for u and d for Ht - Htdval1tab.at(2) = Htuval1tab.at(2); // don't need to recalculate - - Htuval1mtab.at(0) = Htval1(-m_x, 0., kHtuval); - Htuval1mtab.at(1) = Htval1(-m_x, 1., kHtuval); - Htuval1mtab.at(2) = Htval1(-m_x, 2., kHtuval); - - Htdval1mtab.at(0) = Htuval1mtab.at(0); - Htdval1mtab.at(1) = Htuval1mtab.at(1); - Htdval1mtab.at(2) = Htuval1mtab.at(2); - - } else { - Htuval1tab.at(0) = Htval1_alt(m_x, 0., kHtuval); - Htuval1tab.at(1) = Htval1_alt(m_x, 1., kHtuval); - Htuval1tab.at(2) = Htval1_alt(m_x, 2., kHtuval); - - Htdval1tab.at(0) = Htuval1tab.at(0); - Htdval1tab.at(1) = Htuval1tab.at(1); - Htdval1tab.at(2) = Htuval1tab.at(2); - - Htuval1mtab.at(0) = Htval1_alt(-m_x, 0., kHtuval); - Htuval1mtab.at(1) = Htval1_alt(-m_x, 1., kHtuval); - Htuval1mtab.at(2) = Htval1_alt(-m_x, 2., kHtuval); - - Htdval1mtab.at(0) = Htuval1mtab.at(0); - Htdval1mtab.at(1) = Htuval1mtab.at(1); - Htdval1mtab.at(2) = Htuval1mtab.at(2); - } -} - -/*! - * \fn void STGK16ModelTest::calculateHtKas() - * - * Compute t-dependence of GPD Ht correlated to x. - * - */ -void GK16ModelTest::calculateHtKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = -0.78 + 0.17 * fL; - kHtgluon = delta + alpha * m_t; - -// sea, not modelled by GK. - - kHtsea = 0.; - -// u valence - - alpha = 0.45; - delta = 0.48; - kHtuval = delta + alpha * m_t; - -// d valence - - kHtdval = kHtuval; - - debug(__func__, - ElemUtils::Formatter() << "(t=" << m_t << ") kHtgluon=" << kHtgluon - << " kHtsea=" << kHtsea << " kHtuval=" << kHtuval - << " kHtdval=" << kHtdval); -} - -/*! - * \fn void STGK16ModelTest::CalculateEtKas() - * - * Exactly the same as Hval1_alt and Eval1_alt. - * - */ -double GK16ModelTest::Htval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -/*! - * \fn double STGK16ModelTest::Hti1( double x, double i, double k ) - * - * Exactly the same as Hs1. - * - */ -double GK16ModelTest::Hti1(double x, double i, double k) { - - return Hs1(x, i, k); -} - -/*! - * \fn void STGK16ModelTest::CalculateEtKas() - * - * Exactly the same as Hs1_alt. - * - */ -double GK16ModelTest::Hti1_alt(double x, double i, double k) { - -//return Hs1_alt(_xi, x, i, k); - - cln::cl_R ia, ka, xba, xia; - cln::cl_R dummya, dummy1, dummy2, dummy3; - - cln::float_format_t prec = cln::float_format(30); - - xia = cl_float(m_xi, prec); - ka = cl_float(k, prec); - xba = cl_float(x, prec); - ia = cl_float(i, prec); - - cln::cl_R xi5 = expt(xia, 5); - - dummy2 = exp((3 + ia - ka) * ln((xba + xia) / (1 + xia))); - if (fabs(x - m_xi) > 1e-6) { - dummy1 = exp((3 + ia - ka) * ln((xba - xia) / (1 - xia))); - dummy3 = exp((3 + ia - ka) * ln((-xba + xia) / (1 + xia))); - } else { - dummy1 = 0; - dummy3 = 0; - } - - double dummy; - - if ((x - m_xi) < 0) { - - dummya = dummy2 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - + 6 * (3 + ia - ka) * xia * (1 - xba) - * (xia * xia - xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya += -dummy3 - * ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia + xba, 2) - + 6 * (3 + ia - ka) * xia * (1 + xba) - * (xia * xia + xba) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } else { - dummya = ((3 * expt(3 + ia - ka, 2) - (1 + ia - ka) * (5 + ia - ka)) - * expt(xia * xia - xba, 2) - - 2 * (2 + ia - ka) * (4 + ia - ka) * (1 - xia * xia) - * (xba * xba - xia * xia)) * (dummy2 - dummy1) - + 6 * (3 + ia - ka) * xia * (1 - xba) * (xia * xia - xba) - * (dummy2 + dummy1); - - dummya *= cl_float(15, prec) / 4 / xi5 / (1 + ia - ka) / (2 + ia - ka) - / (3 + ia - ka) / (4 + ia - ka) / (5 + ia - ka); - - } - dummy = double_approx(dummya); - - debug(__func__, - ElemUtils::Formatter() << "(x=" << x << ", xi=" << m_xi << ", i=" - << i << ", k=" << k << ") dummy = " << dummy); - - return dummy; -} - -/*! - * \fn void STGK16ModelTest::CalculateEtKas() - * - * Exactly the same as Hval1 and Eval1. - * - */ -double GK16ModelTest::Htval1(double x, double i, double k) { - - return Hval1(x, i, k); -} - -/** ! - * \fn void STGK16ModelTest::calculateECoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Es1 (i=0, 1, 2) - * - Ei1 (i=0, 1) - * - Eval1(i=0, 1, 2) (u) - * - Eval1(i=0, .. ,7) (d) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share th(ame limits as strange/sea as far as slow/fast goes. - * - */ -void GK16ModelTest::calculateECoefs() { - int slow_sea = 0; // by default, fast - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - - if (log10(m_xi) < (4. / 2.5) * log10(fabs(m_x))) { - slow_sea = 1; - } - -// For valence - - if ((m_xi < 0.01) - && (log10(m_xi) < ((-4. / log10(0.6)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateEKas(); // comes up with kEgluon, kEsea, kEuval, kEdval - - if (!slow_sea) { - if (m_x >= 0) { - Es1tab.at(0) = Es1(m_x, 0., kEsea); - Es1tab.at(1) = Es1(m_x, 1., kEsea); - Es1tab.at(2) = Es1(m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1(m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1(m_x, 1., kEgluon); - } else { - Es1tab.at(0) = -Es1(-m_x, 0., kEsea); - Es1tab.at(1) = -Es1(-m_x, 1., kEsea); - Es1tab.at(2) = -Es1(-m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1(-m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1(-m_x, 1., kEgluon); - } - } else { - if (m_x >= 0) { - Es1tab.at(0) = Es1_alt(m_x, 0., kEsea); - Es1tab.at(1) = Es1_alt(m_x, 1., kEsea); - Es1tab.at(2) = Es1_alt(m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1_alt(m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1_alt(m_x, 1., kEgluon); - } else { - Es1tab.at(0) = -Es1_alt(-m_x, 0., kEsea); - Es1tab.at(1) = -Es1_alt(-m_x, 1., kEsea); - Es1tab.at(2) = -Es1_alt(-m_x, 2., kEsea); - - Ei1tab.at(0) = Ei1_alt(-m_x, 0., kEgluon); - Ei1tab.at(1) = Ei1_alt(-m_x, 1., kEgluon); - } - } - - if (!slow_val) { - Euval1tab.at(0) = Eval1(m_x, 0., kEuval); - Euval1tab.at(1) = Eval1(m_x, 1., kEuval); - - Edval1tab.at(0) = Eval1(m_x, 0., kEdval); - Edval1tab.at(1) = Eval1(m_x, 1., kEdval); - Edval1tab.at(2) = Eval1(m_x, 2., kEdval); - Edval1tab.at(3) = Eval1(m_x, 3., kEdval); - Edval1tab.at(4) = Eval1(m_x, 4., kEdval); - Edval1tab.at(5) = Eval1(m_x, 5., kEdval); - Edval1tab.at(6) = Eval1(m_x, 6., kEdval); - Edval1tab.at(7) = Eval1(m_x, 7., kEdval); - - Euval1mtab.at(0) = Eval1(-m_x, 0., kEuval); - Euval1mtab.at(1) = Eval1(-m_x, 1., kEuval); - - Edval1mtab.at(0) = Eval1(-m_x, 0., kEdval); - Edval1mtab.at(1) = Eval1(-m_x, 1., kEdval); - Edval1mtab.at(2) = Eval1(-m_x, 2., kEdval); - Edval1mtab.at(3) = Eval1(-m_x, 3., kEdval); - Edval1mtab.at(4) = Eval1(-m_x, 4., kEdval); - Edval1mtab.at(5) = Eval1(-m_x, 5., kEdval); - Edval1mtab.at(6) = Eval1(-m_x, 6., kEdval); - Edval1mtab.at(7) = Eval1(-m_x, 7., kEdval); - - } else { - Euval1tab.at(0) = Eval1_alt(m_x, 0., kEuval); - Euval1tab.at(1) = Eval1_alt(m_x, 1., kEuval); - - Edval1tab.at(0) = Eval1_alt(m_x, 0., kEdval); - Edval1tab.at(1) = Eval1_alt(m_x, 1., kEdval); - Edval1tab.at(2) = Eval1_alt(m_x, 2., kEdval); - Edval1tab.at(3) = Eval1_alt(m_x, 3., kEdval); - Edval1tab.at(4) = Eval1_alt(m_x, 4., kEdval); - Edval1tab.at(5) = Eval1_alt(m_x, 5., kEdval); - Edval1tab.at(6) = Eval1_alt(m_x, 6., kEdval); - Edval1tab.at(7) = Eval1_alt(m_x, 7., kEdval); - - Euval1mtab.at(0) = Eval1_alt(-m_x, 0., kEuval); - Euval1mtab.at(1) = Eval1_alt(-m_x, 1., kEuval); - - Edval1mtab.at(0) = Eval1_alt(-m_x, 0., kEdval); - Edval1mtab.at(1) = Eval1_alt(-m_x, 1., kEdval); - Edval1mtab.at(2) = Eval1_alt(-m_x, 2., kEdval); - Edval1mtab.at(3) = Eval1_alt(-m_x, 3., kEdval); - Edval1mtab.at(4) = Eval1_alt(-m_x, 4., kEdval); - Edval1mtab.at(5) = Eval1_alt(-m_x, 5., kEdval); - Edval1mtab.at(6) = Eval1_alt(-m_x, 6., kEdval); - Edval1mtab.at(7) = Eval1_alt(-m_x, 7., kEdval); - } - -} - -/*! - * \fn void STGK16ModelTest::calculateEKas() - * - * Compute t-dependence of GPD H correlated to x. - * - */ -void GK16ModelTest::calculateEKas() { - double alpha, delta; - -// gluons - - alpha = 0.15; //slope of gluon trajectory - delta = 0.10 + 0.06 * fL - 0.0027 * fL * fL; - kEgluon = delta + alpha * m_t; - -// sea - - alpha = 0.15; // same as slope of gluon trajectory - delta = 1.1 + 0.06 * fL - 0.0027 * fL * fL; - kEsea = delta + alpha * m_t; - -// u valence - - alpha = 0.9; - delta = 0.48; - kEuval = delta + alpha * m_t; - -// d valence - - alpha = 0.9; - delta = 0.48; - kEdval = delta + alpha * m_t; - -} - -/*! - * \fn double STGK16ModelTest::Es1( double x, double i, double k ) - * - * Exactly the same as Hs1. - * - */ -double GK16ModelTest::Es1(double x, double i, double k) { - return Hs1(x, i, k); -} - -/*! - * \fn double STGK16ModelTest::Ei1( double x, double i, double k ) - * - * Exactly the same as Hi1. - * - */ -double GK16ModelTest::Ei1(double x, double i, double k) { - return Hi1(x, i, k); -} - -/*! - * \fn double STGK16ModelTest::Es1_alt( double x, double i, double k ) - * - * Exactly the same as Hs1_alt. - * - */ -double GK16ModelTest::Es1_alt(double x, double i, double k) { - return Hs1_alt(x, i, k); -} - -/*! - * \fn double STGK16ModelTest::Ei1_alt( double x, double i, double k ) - * - * Exactly the same as Hi1_alt. - * - */ -double GK16ModelTest::Ei1_alt(double x, double i, double k) { - return Hi1_alt(x, i, k); -} - -/*! - * \fn double STGK16ModelTest::Eval1( double x, double i, double k ) - * - * Exactly the same as Hval1. - * - */ -double GK16ModelTest::Eval1(double x, double i, double k) { - return Hval1(x, i, k); -} - -/*! - * \fn void STGK16ModelTest::CalculateEtKas() - * - * Exactly the same as Hval1_alt. - * - */ -double GK16ModelTest::Eval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -/** ! - * \fn void STGK16ModelTest::calculateEtCoefs() - * - * Generic function for fast calculation. - * - * Calculates : - * - Etval1 ( i = 0, 1, 2, 3 ) - * - * Either fast (cln) or slow, depending on kinematic domain in (x,xi) - * To be called before the evaluation of GPDs. - * - * Kinematic boundaries - * For the sea and gluons : gluons share the same limits as strange/sea as far as slow/fast goes. - * For the sea ( and gluons later ) - * - */ -void GK16ModelTest::calculateEtCoefs() { - int slow_val = 0; // if = 1 : slow ( full calculation with cln ) - -// For valence - - if ((m_xi < 0.04) - && (log10(m_xi) < ((-4. / log10(0.55)) * log10(fabs(m_x))))) { - slow_val = 1; - } - - calculateEtKas(); // comes up with kHgluon, kHsea, kHuval, kHdval - -// WARNING : No sea or gluon Et for GK. - - if (!slow_val) { - Etuval1tab.at(0) = Etval1(m_x, 0., kEtuval); - Etuval1tab.at(1) = Etval1(m_x, 1., kEtuval); - Etuval1tab.at(2) = Etval1(m_x, 2., kEtuval); - Etuval1tab.at(3) = Etval1(m_x, 3., kEtuval); - - Etdval1tab.at(0) = Etuval1tab.at(0); // kEtdval & kEtuval are equal - Etdval1tab.at(1) = Etuval1tab.at(1); // for u and d for Et, - Etdval1tab.at(2) = Etuval1tab.at(2); // don't need to recalculate - Etdval1tab.at(3) = Etuval1tab.at(3); - - Etuval1mtab.at(0) = Etval1(-m_x, 0., kEtuval); - Etuval1mtab.at(1) = Etval1(-m_x, 1., kEtuval); - Etuval1mtab.at(2) = Etval1(-m_x, 2., kEtuval); - Etuval1mtab.at(3) = Etval1(-m_x, 3., kEtuval); - - Etdval1mtab.at(0) = Etuval1mtab.at(0); - Etdval1mtab.at(1) = Etuval1mtab.at(1); - Etdval1mtab.at(2) = Etuval1mtab.at(2); - Etdval1mtab.at(3) = Etuval1mtab.at(3); - - } else { - Etuval1tab.at(0) = Etval1_alt(m_x, 0., kEtuval); - Etuval1tab.at(1) = Etval1_alt(m_x, 1., kEtuval); - Etuval1tab.at(2) = Etval1_alt(m_x, 2., kEtuval); - Etuval1tab.at(3) = Etval1_alt(m_x, 3., kEtuval); - - Etdval1tab.at(0) = Etuval1tab.at(0); - Etdval1tab.at(1) = Etuval1tab.at(1); - Etdval1tab.at(2) = Etuval1tab.at(2); - Etdval1tab.at(3) = Etuval1tab.at(3); - - Etuval1mtab.at(0) = Etval1_alt(-m_x, 0., kEtuval); - Etuval1mtab.at(1) = Etval1_alt(-m_x, 1., kEtuval); - Etuval1mtab.at(2) = Etval1_alt(-m_x, 2., kEtuval); - Etuval1mtab.at(3) = Etval1_alt(-m_x, 3., kEtuval); - - Etdval1mtab.at(0) = Etuval1mtab.at(0); - Etdval1mtab.at(1) = Etuval1mtab.at(1); - Etdval1mtab.at(2) = Etuval1mtab.at(2); - Etdval1mtab.at(3) = Etuval1mtab.at(3); - } -} - -/*! - * \fn void STGK16ModelTest::calculateEtKas() - * - * Compute t-dependence of GPD Et correlated to x. - * - */ -void GK16ModelTest::calculateEtKas() { - double alpha, delta; - -// gluons, not modelled by GK. - - kEtgluon = 0.; - -// sea, not modelled by GK. - - kEtsea = 0.; - -// u valence - - alpha = 0.45; - delta = 0.48; - kEtuval = delta + alpha * m_t; - -// d valence - - kEtdval = kEtuval; -} - -/* ! - * \fn double STGK16ModelTest::Et_pole( double x ) - * - * Pion pole contribution to Et. - * - */ -double GK16ModelTest::Et_pole(double x) { - -//TODO extraire les constantes si existantes - - double dum = 0.; // Initialize to 0 - double eps; - double eps2; - double tmin; - double xbj; - double Q2 = m_MuF2; - double tOverQ2 = m_t / Q2; - double y = (x + m_xi) / 2. / m_xi; - double MPi2 = Constant::PI_ZERO_MASS * Constant::PI_ZERO_MASS; - double gpiNN = 13.4; - double f_pi = 0.131; // f_pi=0.131 GeV from paper. Actually 130.4 from PDG (Jul2010) - double Lambda_N2 = 0.51 * 0.51; - double Fp; - double FpiNN; - - xbj = 2. * m_xi / (m_xi - tOverQ2 * m_xi + 1. + tOverQ2 * 0.5); - eps = 2. * xbj * Constant::PROTON_MASS / sqrt(Q2); - eps2 = eps * eps; - - if (eps < 1 && (4. * xbj * (1. - xbj) + eps2) != 0) { - - tmin = -Q2 * (2. * (1. - xbj) * (1 - sqrt(1. + eps2)) + eps2) - / (4. * xbj * (1. - xbj) + eps2); - FpiNN = (Lambda_N2 - MPi2) / (Lambda_N2 - (m_t - tmin)); - Fp = -Constant::PROTON_MASS * f_pi * (2. * sqrt(2.) * gpiNN * FpiNN) - / (m_t - MPi2); - - if (x < m_xi && x > -m_xi && m_t < tmin) { -// dum = ( Fp( pKinematicVariables->getT(), Q2, tmin ) / 4. / pGPDData->getXi() ) * Phi_pi( ( x + pGPDData->getXi() ) / 2. / pGPDData->getXi() ) ; - dum = (Fp / 4. / m_xi) * 6. * y * (1. - y); - } - - } - - return dum; -} - -/*! - * \fn double STGK16ModelTest::Etval1( double x, double i, double k ) - * - * xdiff:=evalf(xb-xi); xsum:=evalf(xb+xi); - * if xsum<0 then # xb<-xi - * Hi:=0 else - * if xdiff <0 then # xb 3/2/xi^3*(((xb+xi)/(1+xi))^(2+i-k)*(xi^2-xb+(2+i-k)*xi*(1-xb))) - * /(1+i-k)/(2+i-k)/(3+i-k) - * else - * Hi:= i -> 3/2/xi^3/(1+i-k)/(2+i-k)/(3+i-k)*((xi^2-xb)*( ((xb+xi)/(1+xi))^(2+i-k) - * -((xb-xi)/(1-xi))^(2+i-k)) - * + xi*(1-xb)*(2+i-k)*(((xb+xi)/(1+xi))^(2+i-k)+ ((xb-xi)/(1-xi))^(2+i-k) ) ) - * end if: end if: - * - */ -double GK16ModelTest::Etval1(double x, double i, double k) { - double dum; - - if ((x + m_xi) < 0) { // 0 for x < -pGPDData->getXi() - dum = 0.0; - } else { // Two cases for x >= -pGPDData->getXi() - if ((x - m_xi) < 0) { - dum = - 3. / 2. / pow(m_xi, 3.) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - * (m_xi * m_xi - x - + (2. + i - k) * m_xi * (1. - x))) - / (1. + i - k) / (2. + i - k) / (3. + i - k); - } else { - dum = 3. / 2. / pow(m_xi, 3.) / (1. + i - k) / (2. + i - k) - / (3. + i - k) - * ((m_xi * m_xi - x) - * (pow((x + m_xi) / (1. + m_xi), (2. + i - k)) - - pow((x - m_xi) / (1. - m_xi), - (2. + i - k))) - + m_xi * (1. - x) * (2. + i - k) - * (pow((x + m_xi) / (1. + m_xi), - (2. + i - k)) - + pow((x - m_xi) / (1. - m_xi), - (2. + i - k)))); - } - } - return dum; -} - -/*! - * \fn double STGK16ModelTest::Etval1_alt( double x, double i, double k ) - * - * Exactly the same as Hval1_alt and Eval1_alt, Htval1_alt. - * - */ -double GK16ModelTest::Etval1_alt(double x, double i, double k) { - return Hval1_alt(x, i, k); -} - -double GK16ModelTest::getB0() const { - return b0; -} - -double GK16ModelTest::getC1() const { - return c1; -} - -double GK16ModelTest::getC2() const { - return c2; -} - -double GK16ModelTest::getC3() const { - return c3; -} - -double GK16ModelTest::getC4() const { - return c4; -} - -double GK16ModelTest::getC5() const { - return c5; -} - -double GK16ModelTest::getC6() const { - return c6; -} - -double GK16ModelTest::getC7() const { - return c7; -} - -double GK16ModelTest::getC8() const { - return c8; -} - -const std::vector& GK16ModelTest::getEdval1mtab() const { - return Edval1mtab; -} - -const std::vector& GK16ModelTest::getEdval1tab() const { - return Edval1tab; -} - -const std::vector& GK16ModelTest::getEi1tab() const { - return Ei1tab; -} - -const std::vector& GK16ModelTest::getEs1tab() const { - return Es1tab; -} - -const std::vector& GK16ModelTest::getEtdval1mtab() const { - return Etdval1mtab; -} - -const std::vector& GK16ModelTest::getEtdval1tab() const { - return Etdval1tab; -} - -const std::vector& GK16ModelTest::getEtuval1mtab() const { - return Etuval1mtab; -} - -const std::vector& GK16ModelTest::getEtuval1tab() const { - return Etuval1tab; -} - -const std::vector& GK16ModelTest::getEuval1mtab() const { - return Euval1mtab; -} - -const std::vector& GK16ModelTest::getEuval1tab() const { - return Euval1tab; -} - -double GK16ModelTest::getEdValMx() const { - return fEdValMx; -} - -double GK16ModelTest::getEtdValMx() const { - return fEtdValMx; -} - -double GK16ModelTest::getEtuValMx() const { - return fEtuValMx; -} - -double GK16ModelTest::getEuValMx() const { - return fEuValMx; -} - -double GK16ModelTest::getHdValMx() const { - return fHdValMx; -} - -double GK16ModelTest::getHtdValMx() const { - return fHtdValMx; -} - -double GK16ModelTest::getHtuValMx() const { - return fHtuValMx; -} - -double GK16ModelTest::getHuValMx() const { - return fHuValMx; -} - -double GK16ModelTest::getL() const { - return fL; -} - -const std::vector& GK16ModelTest::getHdval1mtab() const { - return Hdval1mtab; -} - -const std::vector& GK16ModelTest::getHdval1tab() const { - return Hdval1tab; -} - -const std::vector& GK16ModelTest::getHi1tab() const { - return Hi1tab; -} - -const std::vector& GK16ModelTest::getHs1tab() const { - return Hs1tab; -} - -const std::vector& GK16ModelTest::getHtdval1mtab() const { - return Htdval1mtab; -} - -const std::vector& GK16ModelTest::getHtdval1tab() const { - return Htdval1tab; -} - -const std::vector& GK16ModelTest::getHti1tab() const { - return Hti1tab; -} - -const std::vector& GK16ModelTest::getHtuval1mtab() const { - return Htuval1mtab; -} - -const std::vector& GK16ModelTest::getHtuval1tab() const { - return Htuval1tab; -} - -const std::vector& GK16ModelTest::getHuval1mtab() const { - return Huval1mtab; -} - -const std::vector& GK16ModelTest::getHuval1tab() const { - return Huval1tab; -} - -double GK16ModelTest::getKappaS() const { - return kappa_s; -} - -double GK16ModelTest::getEdval() const { - return kEdval; -} - -double GK16ModelTest::getEgluon() const { - return kEgluon; -} - -double GK16ModelTest::getEsea() const { - return kEsea; -} - -double GK16ModelTest::getEtdval() const { - return kEtdval; -} - -double GK16ModelTest::getEtgluon() const { - return kEtgluon; -} - -double GK16ModelTest::getEtsea() const { - return kEtsea; -} - -double GK16ModelTest::getEtuval() const { - return kEtuval; -} - -double GK16ModelTest::getEuval() const { - return kEuval; -} - -double GK16ModelTest::getHdval() const { - return kHdval; -} - -double GK16ModelTest::getHgluon() const { - return kHgluon; -} - -double GK16ModelTest::getHsea() const { - return kHsea; -} - -double GK16ModelTest::getHtdval() const { - return kHtdval; -} - -double GK16ModelTest::getHtgluon() const { - return kHtgluon; -} - -double GK16ModelTest::getHtsea() const { - return kHtsea; -} - -double GK16ModelTest::getHtuval() const { - return kHtuval; -} - -double GK16ModelTest::getHuval() const { - return kHuval; -} - -std::string GK