Commit 7d107893 authored by Pawel Sznajder's avatar Pawel Sznajder
Browse files

Merge branch 'new_channels_this_is_it_mesons' into 'master'

hemp

See merge request !34
parents de235e02 83e176bb
......@@ -44,6 +44,16 @@ physical_unit_type_id INTEGER NOT NULL PRIMARY KEY,
physical_unit_type_short_name VARCHAR(10),
physical_unit_type_long_name VARCHAR(255));
CREATE TABLE meson_type (
meson_type_id INTEGER NOT NULL PRIMARY KEY,
meson_type_short_name VARCHAR(10),
meson_type_long_name VARCHAR(255));
CREATE TABLE meson_polarization (
meson_polarization_id INTEGER NOT NULL PRIMARY KEY,
meson_polarization_short_name VARCHAR(10),
meson_polarization_long_name VARCHAR(255));
CREATE VIEW result_info_view AS
SELECT c.computation_id, c.computation_date, sc.scenario_task_index_number, ec.env_conf_hash_sum, s.scenario_hash_sum
FROM computation c
......@@ -72,6 +82,45 @@ VALUES ('4', 'Ht', 'Ht');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('5', 'Et', 'Et');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('6', 'HTrans', 'HTrans');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('7', 'ETrans', 'ETrans');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('8', 'HtTrans', 'HtTrans');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('9', 'EtTrans', 'EtTrans');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('10', 'H3p', 'H3p');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('11', 'E3p', 'E3p');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('12', 'Ht3p', 'Ht3p');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('13', 'Et3p', 'Et3p');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('14', 'H3m', 'H3m');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('15', 'E3m', 'E3m');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('16', 'Ht3m', 'Ht3m');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('17', 'Et3m', 'Et3m');
INSERT INTO gpd_type (gpd_type_id, gpd_type_short_name, gpd_type_long_name)
VALUES ('18', 'EbarTrans', 'EbarTrans');
/* === quark_flavor === */
INSERT INTO quark_flavor (quark_flavor_id, quark_flavor_short_name, quark_flavor_long_name)
......@@ -241,3 +290,50 @@ VALUES ('38', 'rad', 'RAD');
INSERT INTO physical_unit_type (physical_unit_type_id, physical_unit_type_short_name, physical_unit_type_long_name)
VALUES ('39', 'mrad', 'MRAD');
/* === meson_type === */
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('0', 'UNDEFINED', 'UNDEFINED');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('1', 'rho-', 'RHOMINUS');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('2', 'rho0', 'RHO0');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('3', 'rho+', 'RHOPLUS');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('4', 'omega', 'OMEGA');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('5', 'phi', 'PHI');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('6', 'J/Psi', 'JPSI');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('7', 'Upsilon', 'UPSILON');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('8', 'pi-', 'PIMINUS');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('9', 'pi0', 'PI0');
INSERT INTO meson_type (meson_type_id, meson_type_short_name, meson_type_long_name)
VALUES ('10', 'pi+', 'PIPLUS');
/* === meson_polarization === */
INSERT INTO meson_polarization (meson_polarization_id, meson_polarization_short_name, meson_polarization_long_name)
VALUES ('0', 'UNDEFINED', 'UNDEFINED');
INSERT INTO meson_polarization (meson_polarization_id, meson_polarization_short_name, meson_polarization_long_name)
VALUES ('1', 'L', 'L');
INSERT INTO meson_polarization (meson_polarization_id, meson_polarization_short_name, meson_polarization_long_name)
VALUES ('2', 'T', 'T');
......@@ -17,6 +17,23 @@ MuR2_unit INTEGER NOT NULL,
hash_sum VARCHAR(40) NOT NULL);
CREATE INDEX dvcs_ccf_kinematic_index ON dvcs_ccf_kinematic (hash_sum);
CREATE TABLE dvmp_ccf_kinematic (
dvmp_ccf_kinematic_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
xi DOUBLE NOT NULL,
xi_unit INTEGER NOT NULL,
t DOUBLE NOT NULL,
t_unit INTEGER NOT NULL,
Q2 DOUBLE NOT NULL,
Q2_unit INTEGER NOT NULL,
MuF2 DOUBLE NOT NULL,
MuF2_unit INTEGER NOT NULL,
MuR2 DOUBLE NOT NULL,
MuR2_unit INTEGER NOT NULL,
meson_type_id INTEGER NOT NULL,
meson_polarization_id INTEGER NOT NULL,
hash_sum VARCHAR(40) NOT NULL);
CREATE INDEX dvmp_ccf_kinematic_index ON dvmp_ccf_kinematic (hash_sum);
CREATE TABLE tcs_ccf_kinematic (
tcs_ccf_kinematic_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
xi DOUBLE NOT NULL,
......@@ -50,6 +67,14 @@ img_part DOUBLE NOT NULL,
ccf_result_id INTEGER NOT NULL);
CREATE INDEX dvcs_ccf_result_index ON dvcs_ccf_result (ccf_result_id);
CREATE TABLE dvmp_ccf_result (
dvmp_ccf_result_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
gpd_type_id INTEGER NOT NULL,
real_part DOUBLE NOT NULL,
img_part DOUBLE NOT NULL,
ccf_result_id INTEGER NOT NULL);
CREATE INDEX dvmp_ccf_result_index ON dvmp_ccf_result (ccf_result_id);
CREATE TABLE tcs_ccf_result (
tcs_ccf_result_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
gpd_type_id INTEGER NOT NULL,
......@@ -65,6 +90,11 @@ SELECT ccfk.dvcs_ccf_kinematic_id, ccfk.xi, ccfk.xi_unit, ccfk.t, ccfk.t_unit, c
FROM dvcs_ccf_kinematic ccfk
ORDER BY ccfk.dvcs_ccf_kinematic_id;
CREATE VIEW dvmp_ccf_kinematic_view AS
SELECT ccfk.dvmp_ccf_kinematic_id, ccfk.xi, ccfk.xi_unit, ccfk.t, ccfk.t_unit, ccfk.Q2, ccfk.Q2_unit, ccfk.MuF2, ccfk.MuF2_unit, ccfk.MuR2, ccfk.MuR2_unit, ccfk.meson_type_id, ccfk.meson_polarization_id, ccfk.hash_sum
FROM dvmp_ccf_kinematic ccfk
ORDER BY ccfk.dvmp_ccf_kinematic_id;
CREATE VIEW tcs_ccf_kinematic_view AS
SELECT ccfk.tcs_ccf_kinematic_id, ccfk.xi, ccfk.xi_unit, ccfk.t, ccfk.t_unit, ccfk.Q2Prim, ccfk.Q2Prim_unit, ccfk.MuF2, ccfk.MuF2_unit, ccfk.MuR2, ccfk.MuR2_unit, ccfk.hash_sum
FROM tcs_ccf_kinematic ccfk
......@@ -76,6 +106,12 @@ FROM ccf_result ccfr
INNER JOIN dvcs_ccf_result ccfrc ON ccfr.ccf_result_id = ccfrc.ccf_result_id
ORDER BY ccfr.ccf_result_id;
CREATE VIEW dvmp_ccf_result_view AS
SELECT ccfr.ccf_result_id, ccfr.computation_module_name, ccfr.channel_id, ccfrc.gpd_type_id, ccfrc.real_part, ccfrc.img_part, ccfr.computation_id, ccfr.ccf_kinematic_id
FROM ccf_result ccfr
INNER JOIN dvmp_ccf_result ccfrc ON ccfr.ccf_result_id = ccfrc.ccf_result_id
ORDER BY ccfr.ccf_result_id;
CREATE VIEW tcs_ccf_result_view AS
SELECT ccfr.ccf_result_id, ccfr.computation_module_name, ccfr.channel_id, ccfrc.gpd_type_id, ccfrc.real_part, ccfrc.img_part, ccfr.computation_id, ccfr.ccf_kinematic_id
FROM ccf_result ccfr
......@@ -100,6 +136,25 @@ INNER JOIN dvcs_ccf_kinematic ccfk ON ccfk.dvcs_ccf_kinematic_id = ccfr.ccf_kine
INNER JOIN gpd_type gt ON ccfrc.gpd_type_id = gt.gpd_type_id
ORDER BY ccfr.ccf_result_id;
CREATE VIEW dvmp_ccf_plot_2d_view AS
SELECT ccfr.computation_id, ccfk.dvmp_ccf_kinematic_id,
ccfk.xi, ccfk.xi_unit,
ccfk.t, ccfk.t_unit,
ccfk.Q2, ccfk.Q2_unit,
ccfk.MuF2, ccfk.MuF2_unit,
ccfk.MuR2, ccfk.MuR2_unit,
mt.meson_type_short_name, mp.meson_polarization_short_name,
ccfr.ccf_result_id, ccfr.computation_module_name, gt.gpd_type_short_name,
ccfrc.real_part, '1' as 'real_part_unit',
ccfrc.img_part, '1' as 'img_part_unit'
FROM dvmp_ccf_result ccfrc
INNER JOIN ccf_result ccfr ON ccfr.ccf_result_id = ccfrc.ccf_result_id
INNER JOIN dvmp_ccf_kinematic ccfk ON ccfk.dvmp_ccf_kinematic_id = ccfr.ccf_kinematic_id
INNER JOIN gpd_type gt ON ccfrc.gpd_type_id = gt.gpd_type_id
INNER JOIN meson_type mt ON ccfk.meson_type_id = mt.meson_type_id
INNER JOIN meson_polarization mp ON ccfk.meson_polarization_id = mp.meson_polarization_id
ORDER BY ccfr.ccf_result_id;
CREATE VIEW tcs_ccf_plot_2d_view AS
SELECT ccfr.computation_id, ccfk.tcs_ccf_kinematic_id,
ccfk.xi, ccfk.xi_unit,
......
......@@ -37,6 +37,23 @@ experiment_id INTEGER,
hash_sum VARCHAR(40) NOT NULL);
CREATE INDEX dvcs_observable_kinematic_index ON dvcs_observable_kinematic (hash_sum);
CREATE TABLE dvmp_observable_kinematic (
dvmp_observable_kinematic_id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
xB DOUBLE NOT NULL,
xB_unit INTEGER NOT NULL,
t DOUBLE NOT NULL,
t_unit INTEGER NOT NULL,
Q2 DOUBLE NOT NULL,
Q2_unit INTEGER NOT NULL,
E DOUBLE NOT NULL,
E_unit INTEGER NOT NULL,
phi DOUBLE NOT NULL,
phi_unit INTEGER NOT NULL,
meson_type_id INTEGER NOT NULL,
experiment_id INTEGER,
hash_sum VARCHAR(40) NOT NULL);
CREATE INDEX dvmp_observable_kinematic_index ON dvmp_observable_kinematic (hash_sum);
CREATE TABLE tcs_observable_kinematic (
tcs_observable_kinematic_id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
t DOUBLE NOT NULL,
......@@ -70,6 +87,21 @@ dvcs_observable_kinematic_id INTEGER NOT NULL,
computation_id INTEGER NOT NULL);
CREATE INDEX dvcs_observable_result_index ON dvcs_observable_result (computation_id);
CREATE TABLE dvmp_observable_result (
dvmp_observable_result_id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
observable_name VARCHAR(255) NOT NULL,
value DOUBLE NOT NULL,
stat_error_lb DOUBLE,
stat_error_ub DOUBLE,
syst_error_lb DOUBLE,
syst_error_ub DOUBLE,
scale_error_lb DOUBLE,
scale_error_ub DOUBLE,
value_unit INTEGER NOT NULL,
dvmp_observable_kinematic_id INTEGER NOT NULL,
computation_id INTEGER NOT NULL);
CREATE INDEX dvmp_observable_result_index ON dvmp_observable_result (computation_id);
CREATE TABLE tcs_observable_result (
tcs_observable_result_id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
observable_name VARCHAR(255) NOT NULL,
......@@ -92,6 +124,11 @@ SELECT obk.dvcs_observable_kinematic_id, obk.xB, obk.xB_unit, obk.t, obk.t_unit
FROM dvcs_observable_kinematic obk
ORDER BY obk.dvcs_observable_kinematic_id;
CREATE VIEW dvmp_observable_kinematic_view AS
SELECT obk.dvmp_observable_kinematic_id, obk.xB, obk.xB_unit, obk.t, obk.t_unit, obk.Q2, obk.Q2_unit, obk.E, obk.E_unit, obk.phi, obk.phi_unit, obk.meson_type_id, obk.hash_sum
FROM dvmp_observable_kinematic obk
ORDER BY obk.dvmp_observable_kinematic_id;
CREATE VIEW tcs_observable_kinematic_view AS
SELECT obk.tcs_observable_kinematic_id, obk.t, obk.t_unit, obk.Q2Prim, obk.Q2Prim_unit, obk.E, obk.E_unit, obk.phi, obk.phi_unit, obk.theta, obk.theta_unit, obk.hash_sum
FROM tcs_observable_kinematic obk
......@@ -112,6 +149,21 @@ FROM dvcs_observable_result obr
INNER JOIN dvcs_observable_kinematic obk ON obr.dvcs_observable_kinematic_id = obk.dvcs_observable_kinematic_id
ORDER BY obr.dvcs_observable_result_id;
CREATE VIEW dvmp_observable_plot_2d_view AS
SELECT obr.computation_id, obk.dvmp_observable_kinematic_id,
obk.xB, obk.xB_unit,
obk.t, obk.t_unit,
obk.Q2, obk.Q2_unit,
obk.E, obk.E_unit,
obk.phi, obk.phi_unit,
mt.meson_type_short_name,
obr.dvmp_observable_result_id, obr.observable_name,
obr.value, obr.value_unit
FROM dvmp_observable_result obr
INNER JOIN dvmp_observable_kinematic obk ON obr.dvmp_observable_kinematic_id = obk.dvmp_observable_kinematic_id
INNER JOIN meson_type mt ON obk.meson_type_id = mt.meson_type_id
ORDER BY obr.dvmp_observable_result_id;
CREATE VIEW tcs_observable_plot_2d_view AS
SELECT obr.computation_id, obk.tcs_observable_kinematic_id,
obk.t, obk.t_unit,
......
......@@ -79,6 +79,20 @@ const double T2_ELEC_CHARGE = 4. / 9.; ///< Square of elect
//TODO more explicit name
const double POSITRON_CHARGE = 0.30282211985966434; ///< Positron charge \f$e\f$ in natural units (\f$e^2 = 4\pi\alpha\f$).
// Mesons
const double MESON_RHOMINUS_MASS = 775.26e-3; ///< \f$\rho^-\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_RHO0_MASS = 775.26e-3; ///< \f$\rho^0\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_RHOPLUS_MASS = 775.26e-3; ///< \f$\rho^+\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_OMEGA_MASS = 782.65e-3; ///< \f$\omega\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_PHI_MASS = 1019.461e-3; ///< \f$\phi\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_JPSI_MASS = 3096.900e-3; ///< \f$J/\Psi\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_UPSILON_MASS = 9460.30e-3; ///< \f$\Upsilon\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_PIMINUS_MASS = 139.57039e-3; ///< \f$\pi^-\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_PI0_MASS = 134.9768e-3; ///< \f$\pi^0\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
const double MESON_PIPLUS_MASS = 139.57039e-3; ///< \f$\pi^+\f$ mass in \f$\mathrm{GeV}\f$ Phys. 2020, 083C01 (2020).
} /* namespace Constant */
} /* namespace PARTONS */
......
......@@ -19,12 +19,16 @@ class ActiveFlavorsThresholdsModule;
class BaseObjectFactory;
class DVCSScalesModule;
class TCSScalesModule;
class DVMPScalesModule;
class DVCSConvolCoeffFunctionModule;
class DVMPConvolCoeffFunctionModule;
class TCSConvolCoeffFunctionModule;
class TCSObservable;
class TCSProcessModule;
class DVCSObservable;
class DVCSProcessModule;
class DVMPObservable;
class DVMPProcessModule;
class GPDEvolutionModule;
class GPDModule;
class GPDSubtractionConstantModule;
......@@ -32,6 +36,7 @@ class ModuleObject;
class RunningAlphaStrongModule;
class DVCSXiConverterModule;
class TCSXiConverterModule;
class DVMPXiConverterModule;
} /* namespace PARTONS */
namespace PARTONS {
......@@ -131,6 +136,21 @@ public:
DVCSConvolCoeffFunctionModule* newDVCSConvolCoeffFunctionModule(
const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPConvolCoeffFunctionModule.
* @param classId Unique identifier of last child class.
* @return DVMPConvolCoeffFunctionModule pointer.
*/
DVMPConvolCoeffFunctionModule* newDVMPConvolCoeffFunctionModule(
unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPConvolCoeffFunctionModule.
* @param className Name of last child class.
* @return DVMPConvolCoeffFunctionModule pointer.
*/
DVMPConvolCoeffFunctionModule* newDVMPConvolCoeffFunctionModule(
const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a TCSConvolCoeffFunctionModule.
* @param classId Unique identifier of last child class.
......@@ -172,6 +192,19 @@ public:
*/
TCSProcessModule* newTCSProcessModule(const std::string & className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPProcessModule.
* @param classId Unique identifier of last child class.
* @return DVMPProcessModule pointer.
*/
DVMPProcessModule* newDVMPProcessModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPProcessModule.
* @param className Name of last child class.
* @return DVMPProcessModule pointer.
*/
DVMPProcessModule* newDVMPProcessModule(const std::string & className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a RunningAlphaStrongModule.
* @param classId Unique identifier of last child class.
......@@ -227,6 +260,19 @@ public:
*/
TCSScalesModule* newTCSScalesModule(const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPScalesModule.
* @param classId Unique identifier of last child class.
* @return DVMPScalesModule pointer.
*/
DVMPScalesModule* newDVMPScalesModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPScalesModule.
* @param className Name of last child class.
* @return DVMPScalesModule pointer.
*/
DVMPScalesModule* newDVMPScalesModule(const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVCSXiConverterModule.
* @param classId Unique identifier of last child class.
......@@ -238,20 +284,35 @@ public:
* @param className Name of last child class.
* @return DVCSXiConverterModule pointer.
*/
DVCSXiConverterModule* newDVCSXiConverterModule(const std::string &className);
DVCSXiConverterModule* newDVCSXiConverterModule(
const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule.
* @param classId Unique identifier of last child class.
* @return TCSXiConverterModule pointer.
*/
TCSXiConverterModule* newTCSXiConverterModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule.
* @param className Name of last child class.
* @return TCSXiConverterModule pointer.
*/
TCSXiConverterModule* newTCSXiConverterModule(const std::string &className);
* Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule.
* @param classId Unique identifier of last child class.
* @return TCSXiConverterModule pointer.
*/
TCSXiConverterModule* newTCSXiConverterModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a TCSXiConverterModule.
* @param className Name of last child class.
* @return TCSXiConverterModule pointer.
*/
TCSXiConverterModule* newTCSXiConverterModule(const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPXiConverterModule.
* @param classId Unique identifier of last child class.
* @return DVMPXiConverterModule pointer.
*/
DVMPXiConverterModule* newDVMPXiConverterModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DVMPXiConverterModule.
* @param className Name of last child class.
* @return DVMPXiConverterModule pointer.
*/
DVMPXiConverterModule* newDVMPXiConverterModule(
const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a Observable.
......@@ -280,6 +341,20 @@ public:
*/
TCSObservable* newTCSObservable(const std::string & className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a Observable.
* @param classId Unique identifier of last child class.
* @return Observable pointer.
*/
DVMPObservable* newDVMPObservable(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a Observable.
* @param className Name of last child class.
* @return Observable pointer.
*/
DVMPObservable* newDVMPObservable(const std::string & className);
/**
* Method to update a pointer. Used to keep track of the modules and remove them when they become orphans (i.e. no pointer points to them).
* @param pModuleObjectTarget The pointer to be modified.
......
......@@ -16,9 +16,11 @@ class BaseObjectRegistry;
class ComparisonService;
class CryptographicHashService;
class DVCSConvolCoeffFunctionService;
class DVMPConvolCoeffFunctionService;
class TCSConvolCoeffFunctionService;
class GPDService;
class DVCSObservableService;
class DVMPObservableService;
class TCSObservableService;
class ServiceObject;
class VizualisationService;
......@@ -40,8 +42,10 @@ public:
GPDService* getGPDService() const;
DVCSConvolCoeffFunctionService* getDVCSConvolCoeffFunctionService() const;
DVMPConvolCoeffFunctionService* getDVMPConvolCoeffFunctionService() const;
TCSConvolCoeffFunctionService* getTCSConvolCoeffFunctionService() const;
DVCSObservableService* getDVCSObservableService() const;
DVMPObservableService* getDVMPObservableService() const;
TCSObservableService* getTCSObservableService() const;
VizualisationService* getVizualisationService() const;
ComparisonService* getComparisonService() const;
......
......@@ -13,10 +13,12 @@
#include "../utils/type/PhysicalUnit.h"
#include "convol_coeff_function/DVCS/DVCSConvolCoeffFunctionKinematic.h"
#include "convol_coeff_function/DVMP/DVMPConvolCoeffFunctionKinematic.h"
#include "convol_coeff_function/TCS/TCSConvolCoeffFunctionKinematic.h"
#include "gpd/GPDKinematic.h"
#include "List.h"
#include "observable/DVCS/DVCSObservableKinematic.h"
#include "observable/DVMP/DVMPObservableKinematic.h"
#include "observable/TCS/TCSObservableKinematic.h"
namespace PARTONS {
......@@ -69,6 +71,15 @@ public:
List<TCSConvolCoeffFunctionKinematic> getTCSCCFKinematicFromFile(
const std::string &filePath);
/**
* Parse a text file in order to retrieve a list of DVMPConvolCoeffFunctionKinematic objects.
* The parsed file should display separate lines of the form "xi | t | Q2 | MuF2 | MuR2 | mesonType | mesonPolarization".
* @param filePath Path to file to be parsed.
* @return List of extracted DVMPConvolCoeffFunctionKinematic objects.
*/
List<DVMPConvolCoeffFunctionKinematic> getDVMPCCFKinematicFromFile(
const std::string &filePath);
/**
* Parse a text file in order to retrieve a list of ObservableKinematic objects.
* The parsed file should display separate lines of the form "xB | t | Q2 | E | phi".
......@@ -87,6 +98,15 @@ public:
List<TCSObservableKinematic> getTCSObservableKinematicFromFile(
const std::string &filePath);
/**
* Parse a text file in order to retrieve a list of ObservableKinematic objects.
* The parsed file should display separate lines of the form "xB | t | Q2 | E | phi | mesonType".
* @param filePath Path to file to be parsed.
* @return List of extracted ObservableKinematic objects.
*/
List<DVMPObservableKinematic> getDVMPObservableKinematicFromFile(
const std::string &filePath);
private:
/**
......
#ifndef MESON_POLARIZATION_H
#define MESON_POLARIZATION_H
/**
* @file MesonPolarization.h
* @author Pawel Sznajder (NCBJ)
* @date 23 April 2019
* @version 1.0
*/
#include <string>
namespace ElemUtils {
class Packet;
} /* namespace ElemUtils */
namespace PARTONS {
/**
* @class MesonPolarization
*
* @brief Definition of enumeration values for meson polarization state.
*
* This class defines a set of enumeration values that are used to distinguish between meson polarization state. In addition, a declared object of this class is always associated to one meson type (see MesonPolarization::m_type), so member functions can act on it.
*/
class MesonPolarization {
public:
/**
* Definition of enumerate values corresponding to meson polarization state.
*/
enum Type {
UNDEFINED = 0, //!< Undefined type.
L = 1, //!< Longitudinal.
T = 2 //!< Transverse.
};
/**
* Default constructor.
*/
MesonPolarization();
/**
* Assignment constructor.
* @param type Type to be assigned.
*/
MesonPolarization(Type type);
/**
* Copy constructor.
* @param other Object to be copied.
*/
MesonPolarization(const MesonPolarization &other);
/**
* Automatic cast to enum.
*/
operator Type() const;
/**
* Get string representation of type being assigned to a declared object of this class.
* @return String representation of assigned type.
*/
std::string toString() const;
/**
* Serialize into given Packet.
* @param packet Target Packet.
*/
void serialize(ElemUtils::Packet &packet) const;
/**
* Retrieve data from given Packet.
* @param packet Input Packet.