Commit 297e567e authored by Nabil Chouika's avatar Nabil Chouika
Browse files

Remove unwanted features for v1 (please test)

parent 1a833172
......@@ -17,19 +17,15 @@ namespace PARTONS {
class ActiveFlavorsThresholdsModule;
class BaseObjectFactory;
class DoubleDistributionModule;
class DVCSConvolCoeffFunctionModule;
class DVCSProcessModule;
class GapEquationSolverModule;
class GPDBorderFunctionModule;
class GPDEvolutionModule;
class GPDModule;
class GPDSubtractionConstantModule;
class IncompleteGPDModule;
class ModuleObject;
class Observable;
class ProcessModule;
class RadonInverseModule;
class RunningAlphaStrongModule;
class ScalesModule;
class XiConverterModule;
......@@ -60,46 +56,6 @@ public:
*/
ModuleObject* newModuleObject(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a IncompleteGPDModule.
* @param classId Unique identifier of last child class.
* @return IncompleteGPDModule pointer.
*/
IncompleteGPDModule* newIncompleteGPDModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a IncompleteGPDModule.
* @param className Name of last child class.
* @return IncompleteGPDModule pointer.
*/
IncompleteGPDModule* newIncompleteGPDModule(const std::string & className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a RadonInverseModule.
* @param classId Unique identifier of last child class.
* @return RadonInverseModule pointer.
*/
RadonInverseModule* newRadonInverseModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a RadonInverseModule.
* @param className Name of last child class.
* @return RadonInverseModule pointer.
*/
RadonInverseModule* newRadonInverseModule(const std::string & className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DoubleDistributionModule.
* @param classId Unique identifier of last child class.
* @return DoubleDistributionModule pointer.
*/
DoubleDistributionModule* newDoubleDistributionModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a DoubleDistributionModule.
* @param className Name of last child class.
* @return DoubleDistributionModule pointer.
*/
DoubleDistributionModule* newDoubleDistributionModule(
const std::string & className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a GPDEvolutionModule.
* @param classId Unique identifier of last child class.
......@@ -249,20 +205,6 @@ public:
*/
XiConverterModule* newXiConverterModule(const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a GapEquationSolverModule.
* @param classId Unique identifier of last child class.
* @return GapEquationSolverModule pointer.
*/
GapEquationSolverModule* newGapEquationSolverModule(unsigned int classId);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a GapEquationSolverModule.
* @param className Name of last child class.
* @return GapEquationSolverModule pointer.
*/
GapEquationSolverModule* newGapEquationSolverModule(
const std::string &className);
/**
* Specialization of ModuleObjectFactory::newModuleObject into a Observable.
* @param classId Unique identifier of last child class.
......
......@@ -14,14 +14,11 @@ namespace PARTONS {
class AutomationService;
class BaseObjectRegistry;
class ComparisonService;
class CryptographicHashService;
class DoubleDistributionService;
class ConvolCoeffFunctionService;
class GPDService;
class ObservableService;
class ServiceObject;
class VizualisationService;
/**
* @class ServiceObjectRegistry
......@@ -38,9 +35,6 @@ public:
GPDService* getGPDService() const;
ConvolCoeffFunctionService* getConvolCoeffFunctionService() const;
ObservableService* getObservableService() const;
VizualisationService* getVizualisationService() const;
DoubleDistributionService* getDoubleDistributionService() const;
ComparisonService* getComparisonService() const;
AutomationService* getAutomationService() const;
CryptographicHashService* getCryptographicHashService() const;
......
/**
* @file DDGauge.h
* @author Nabil Chouika (Irfu/SPhN, CEA Saclay)
* @date 6 oct. 2016
* @version 1.0
*/
#ifndef DDGAUGE_H_
#define DDGAUGE_H_
#include <string>
namespace PARTONS {
/**
* @class DDGauge
* @brief Gauge used for the Double Distribution representation: BMKS, Pobylitsa, etc.
*/
class DDGauge {
public:
enum Type {
UNDEFINED, BMKS, Pobylitsa
};
DDGauge();
DDGauge(DDGauge::Type type);
DDGauge(const std::string& gaugeStr);
virtual ~DDGauge();
operator Type() const;
std::string toString() const;
static DDGauge::Type fromString(const std::string& gaugeStr);
private:
DDGauge::Type m_type;
};
} /* namespace PARTONS */
#endif /* DDGAUGE_H_ */
#ifndef DOUBLE_DISTRIBUTION_KINEMATIC_H
#define DOUBLE_DISTRIBUTION_KINEMATIC_H
/**
* @file DoubleDistributionKinematic.h
* @author Bryan BERTHOU (SPhN / CEA Saclay)
* @date 29 July 2015
* @version 1.0
*/
#include "DoubleDistributionType.h"
namespace PARTONS {
/**
* @class DoubleDistributionKinematic
*
* @brief
*/
class DoubleDistributionKinematic {
public:
DoubleDistributionKinematic();
DoubleDistributionKinematic(double beta, double alpha, double t,
double MuF2, double MuR2,
DoubleDistributionType::Type doubleDistributionType);
virtual ~DoubleDistributionKinematic();
// ##### GETTERS & SETTERS #####
double getAlpha() const;
void setAlpha(double alpha);
double getBeta() const;
void setBeta(double beta);
double getMuF2() const;
void setMuF2(double muF2);
double getMuR2() const;
void setMuR2(double muR2);
double getT() const;
void setT(double t);
const DoubleDistributionType& getDoubleDistributionType() const;
void setDoubleDistributionType(
const DoubleDistributionType& doubleDistributionType);
private:
double m_beta;
double m_alpha;
double m_t;
double m_MuF2;
double m_MuR2;
DoubleDistributionType m_doubleDistributionType;
};
} /* namespace PARTONS */
#endif /* DOUBLE_DISTRIBUTION_KINEMATIC_H */
#ifndef DOUBLE_DISTRIBUTION_RESULT_H
#define DOUBLE_DISTRIBUTION_RESULT_H
/**
* @file DoubleDistributionResult.h
* @author Bryan BERTHOU (SPhN / CEA Saclay)
* @date 30 July 2015
* @version 1.0
*/
#include <map>
#include <string>
#include "../parton_distribution/PartonDistribution.h"
#include "DoubleDistributionKinematic.h"
#include "DoubleDistributionType.h"
namespace PARTONS {
/**
* @class DoubleDistributionResult
*
* @brief
*/
class DoubleDistributionResult: public BaseObject {
public:
DoubleDistributionResult();
virtual ~DoubleDistributionResult();
void addPartonDistribution(
DoubleDistributionType::Type doubleDistributionType,
PartonDistribution partonDistribution);
const PartonDistribution& getPartonDistribution(
DoubleDistributionType::Type doubleDistributionType) const;
virtual std::string toString() const;
private:
std::map<DoubleDistributionType::Type, PartonDistribution> m_partonDistributions;
DoubleDistributionKinematic m_kinematic;
};
} /* namespace PARTONS */
#endif /* DOUBLE_DISTRIBUTION_RESULT_H */
#ifndef DOUBLE_DISTRIBUTION_TYPE_H
#define DOUBLE_DISTRIBUTION_TYPE_H
/**
* @file DoubleDistributionType.h
* @author Bryan BERTHOU (SPhN / CEA Saclay)
* @date 29 July 2015
* @version 1.0
*/
#include <string>
namespace PARTONS {
/**
* @class DoubleDistributionType
*
* @brief
*/
class DoubleDistributionType {
public:
enum Type {
UNDEFINED, ALL, F, G, K, fM, fP
};
DoubleDistributionType();
DoubleDistributionType(DoubleDistributionType::Type type);
virtual ~DoubleDistributionType();
operator Type() const;
std::string toString() const;
private:
DoubleDistributionType::Type m_type;
};
} /* namespace PARTONS */
#endif /* DOUBLE_DISTRIBUTION_TYPE_H */
/**
* @file BCSimplifiedVertex.h
* @author Nabil Chouika (SPhN - CEA Saclay)
* @date 2 mars 2016
* @version 1.0
*/
#ifndef BCSIMPLIFIEDVERTEX_H_
#define BCSIMPLIFIEDVERTEX_H_
#include <string>
#include "RLVertex.h"
namespace PARTONS {
/**
* @class BCSimplifiedVertex
* @brief Simplified Ball-Chiu Vertex.
*
* \f$ \Gamma_\mu = \gamma_\mu \frac{1}{2} \left( A \left(p^2 \right) + A \left( q^2 \right) \right) \f$.
*/
class BCSimplifiedVertex: public RLVertex {
public:
BCSimplifiedVertex();
virtual ~BCSimplifiedVertex();
virtual BCSimplifiedVertex* clone() const;
virtual std::string toString() const;
// Pure virtual methods to be implemented in daughter class.
virtual std::vector<double> Radial_Integrands(double p2, double q2, double A_p2,
double A_q2, double B_p2, double B_q2, double sigmaV_p2,
double sigmaV_q2, double sigmaS_p2, double sigmaS_q2) const; ///< Radial Integrands
virtual std::vector<double> Radial_Integrands_deriv(double p2, double q2, double A_p2,
double A_q2, double dA_p2, double dA_q2, double B_p2, double B_q2,
double dB_p2, double dB_q2, double sigmaV_p2, double sigmaV_q2,
double sigmaS_p2, double sigmaS_q2, double dsigmaV_p2,
double dsigmaV_q2, double dsigmaS_p2, double dsigmaS_q2) const; ///< Derivatives of radial Integrands wrt to coefficient of A or B
protected:
BCSimplifiedVertex(const std::string &className, unsigned int numberOfBasisElements = 1);
BCSimplifiedVertex(const BCSimplifiedVertex& other);
};
} /* namespace PARTONS */
#endif /* BCSIMPLIFIEDVERTEX_H_ */
/**
* @file BCVertex.h
* @author Nabil Chouika (SPhN - CEA Saclay)
* @date 3 mars 2016
* @version 1.0
*/
#ifndef BCVERTEX_H_
#define BCVERTEX_H_
#include <string>
#include "QuarkGluonVertex.h"
namespace PARTONS {
/**
* @class BCVertex
* @brief Ball-Chiu Vertex.
*/
class BCVertex: public QuarkGluonVertex {
public:
BCVertex();
virtual ~BCVertex();
virtual BCVertex* clone() const;
virtual std::string toString() const;
// Pure virtual methods to be implemented in daughter class.
virtual std::vector<double> Angular_Integrands(double p2, double q2,
double k2) const; ///< Angular Integrands
virtual std::vector<double> Radial_Integrands(double p2, double q2, double A_p2,
double A_q2, double B_p2, double B_q2, double sigmaV_p2,
double sigmaV_q2, double sigmaS_p2, double sigmaS_q2) const; ///< Radial Integrands
virtual std::vector<double> Radial_Integrands_deriv(double p2, double q2, double A_p2,
double A_q2, double dA_p2, double dA_q2, double B_p2, double B_q2,
double dB_p2, double dB_q2, double sigmaV_p2, double sigmaV_q2,
double sigmaS_p2, double sigmaS_q2, double dsigmaV_p2,
double dsigmaV_q2, double dsigmaS_p2, double dsigmaS_q2) const; ///< Derivatives of radial Integrands wrt to coefficient of A or B
protected:
BCVertex(const std::string &className, unsigned int numberOfBasisElements = 3);
BCVertex(const BCVertex& other);
};
} /* namespace PARTONS */
#endif /* BCVERTEX_H_ */
/**
* @file DBVertex.h
* @author Nabil Chouika (SPhN - CEA Saclay)
* @date 8 mars 2016
* @version 1.0
*/
#ifndef DBVERTEX_H_
#define DBVERTEX_H_
#include <string>
#include <vector>
#include "BCVertex.h"
namespace PARTONS {
/**
* @class DBVertex
* @brief DCSB-improved vertex. See [arxiv:1207.5300], appendix A.2.
*/
class DBVertex: public BCVertex {
public:
DBVertex();
virtual ~DBVertex();
virtual DBVertex* clone() const;
virtual std::string toString() const;
// Pure virtual methods to be implemented in daughter class.
virtual std::vector<double> Angular_Integrands(double p2, double q2,
double k2) const; ///< Angular Integrands
virtual std::vector<double> Radial_Integrands(double p2, double q2, double A_p2,
double A_q2, double B_p2, double B_q2, double sigmaV_p2,
double sigmaV_q2, double sigmaS_p2, double sigmaS_q2) const; ///< Radial Integrands
virtual std::vector<double> Radial_Integrands_deriv(double p2, double q2, double A_p2,
double A_q2, double dA_p2, double dA_q2, double B_p2, double B_q2,
double dB_p2, double dB_q2, double sigmaV_p2, double sigmaV_q2,
double sigmaS_p2, double sigmaS_q2, double dsigmaV_p2,
double dsigmaV_q2, double dsigmaS_p2, double dsigmaS_q2) const; ///< Derivatives of radial Integrands wrt to coefficient of A or B
protected:
DBVertex(const std::string &className, unsigned int numberOfBasisElements = 5);
DBVertex(const DBVertex& other);
};
} /* namespace PARTONS */
#endif /* DBVERTEX_H_ */
/**
* @file GluonPropagator.h
* @author Nabil CHOUIKA (SPhN / CEA Saclay)
* @date Jan 28, 2016
* @version 1.0
*/
#ifndef GLUONPROPAGATOR_H_
#define GLUONPROPAGATOR_H_
#include <string>
#include "../../BaseObject.h"
namespace PARTONS {
/**
* @class GluonPropagator
*
* @brief
*/
class GluonPropagator: public BaseObject {
public:
virtual ~GluonPropagator();
virtual GluonPropagator* clone() const = 0;
virtual std::string toString() const;
virtual double evaluateAlpha(double k2) const;
virtual double evaluateG(double k2) const = 0;
// TODO Use configure(ParameterList) instead because those parameters depend on the model (daughter class)
double getC() const;
void setC(double w, double c);
double getD() const;
void setD(double w, double d);
double getI() const;
void setI(double w, double i);
double getLambdaQCD() const;
void setLambdaQCD(double lambdaQCD);
int getNf() const;
void setNf(int nf);
double getW() const;
protected:
GluonPropagator(const std::string &className, double w = 0.4,
double I = 5.8, double LambdaQCD = 0.234, int Nf = 4);
GluonPropagator(const GluonPropagator& other);
virtual double evaluateGper(double k2) const;
virtual void updatePer();
virtual void updateIR() = 0;
// TODO Move those attributes to the MT model (daughter class) and use configure(ParameterList) to define them? Not sure if needed.
double m_w; ///<
double m_D; ///<
double m_c; ///<
double m_I;
double m_LambdaQCD; ///<
int m_Nf; ///<
// Stored factors
double m_factorPer, m_tau, m_LambdaQCD2;
double m_factorIR, m_w2;
};
} /* namespace PARTONS */
#endif /* GLUONPROPAGATOR_H_ */
/**
* @file MTGluonPropagator.h
* @author Nabil CHOUIKA (SPhN / CEA Saclay)
* @date Feb 17, 2016
* @version 1.0
*/
#ifndef GPMT_H_
#define GPMT_H_
#include <string>
#include "GluonPropagator.h"
namespace PARTONS {
/**
* @class MTGluonPropagator
* @brief MT Gluon Propagator (Maris & Tandy).
*/
class MTGluonPropagator: public GluonPropagator {
public:
MTGluonPropagator(double w = 0.4, double I = 5.8, double LambdaQCD = 0.234,
int Nf = 4);
virtual ~MTGluonPropagator();
virtual MTGluonPropagator* clone() const;
virtual std::string toString() const;
virtual double evaluateG(double k2) const;
protected:
MTGluonPropagator(const std::string &className, double w = 0.4,
double I = 5.8, double LambdaQCD = 0.234, int Nf = 4);
MTGluonPropagator(const MTGluonPropagator& other);
virtual void updateIR();
};
} /* namespace PARTONS */
#endif /* GPMT_H_ */
/**
* @file QCGluonPropagator.h
* @author Nabil Chouika (CEA Saclay / SPhN)
* @date Feb 24 2016
* @version 1.0
*/
#ifndef GPQC_H_
#define GPQC_H_
#include <string>
#include "GluonPropagator.h"
namespace PARTONS {
/**
* @class QCGluonPropagator
* @brief QC Gluon Propagator (Qin-Chang)
*/
class QCGluonPropagator: public GluonPropagator {
public:
QCGluonPropagator(double w = 0.5, double I = 5.8, double LambdaQCD = 0.234,
int Nf = 4);
virtual ~QCGluonPropagator();
virtual QCGluonPropagator* clone() const;
virtual std::string toString() const;
virtual double evaluateG(double k2) const;
protected: