PARTONS
|
PARtonic Tomography Of Nucleon Software
|
Abstract class for a service to handle and compute pre-configured CCF modules. More...
Public Member Functions | |
virtual | ~ConvolCoeffFunctionService () |
Destructor. More... | |
virtual void | resolveObjectDependencies () |
Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others. More... | |
virtual void | computeTask (Task &task) |
Compute task. More... | |
ResultType | computeSingleKinematic (const KinematicType &kinematic, ConvolCoeffFunctionModule< KinematicType, ResultType > *pConvolCoeffFunctionModule, const List< GPDType > &gpdTypeList=List< GPDType >()) const |
Computes a ConvolCoeffFunctionModule at specific kinematics. More... | |
List< ResultType > | computeManyKinematic (List< KinematicType > &kinematics, ConvolCoeffFunctionModule< KinematicType, ResultType > *pConvolCoeffFunctionModule, const List< GPDType > &gpdTypeList=List< GPDType >()) |
Computes a CCF Model for a list of kinematics. More... | |
virtual ConvolCoeffFunctionModule< KinematicType, ResultType > * | newConvolCoeffFunctionModuleFromTask (const Task &task) const =0 |
Uses an automation task (XML file) to configure a ConvolCoeffFunctionModule. More... | |
virtual KinematicType | newKinematicFromTask (const Task &task) const =0 |
Uses an automation task (XML file) to set specific kinematics. More... | |
virtual List< KinematicType > | newListOfKinematicFromTask (const Task &task) const =0 |
Uses an automation task (XML file) to set a list of kinematics. More... | |
virtual void | storeResultListInDatabase (const List< ResultType > &results) const =0 |
Store list of results in DB. More... | |
Public Member Functions inherited from PARTONS::ServiceObjectTyped< KinematicType, ResultType > | |
virtual | ~ServiceObjectTyped () |
Destructor. More... | |
void | add (const ResultType &result) |
Add single result to result list. More... | |
void | add (const List< ResultType > &resultList) |
Add many results to result list. More... | |
void | sortResultList () |
Sort result list. More... | |
List< ResultType > & | getResultList () |
Get result list. More... | |
void | clearResultListBuffer () |
Clear result list. More... | |
void | clearKinematicListBuffer () |
Clear kinematic list. More... | |
List< ResultType > | computeScenario (Scenario &scenario) |
Compute scenario. More... | |
List< ResultType > | flushResultList () |
Flush result list. More... | |
Public Member Functions inherited from PARTONS::ServiceObject | |
ServiceObject (const std::string &className) | |
Default constructor. More... | |
virtual | ~ServiceObject () |
Default destructor. More... | |
void | addTasks (const List< ElemUtils::Packet > &tasks) |
Add task to queue. More... | |
bool | isEmptyTaskQueue () |
Check if queue is empty. More... | |
ElemUtils::Packet | popTaskFormQueue () |
Pop task from queue. More... | |
void | initComputationalThread (ModuleObject *pModuleObject) |
Initialize all threads. More... | |
void | launchAllThreadAndWaitingFor () |
Lunch all threads. More... | |
void | clearAllThread () |
Clear all threads. More... | |
std::string | generateSQLQueryForPlotFile (const std::string &tableName, const ElemUtils::Parameters &selectParams, const ElemUtils::Parameters &whereParams) const |
Generate SQL query to create a plot file. More... | |
void | generatePlotFile (const std::string &filePath, const std::string &sqlQuery, const char splitChar) const |
Generate a plot file. More... | |
Public Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const std::string &className) | |
Constructor. More... | |
virtual | ~BaseObject () |
Default destructor. More... | |
virtual BaseObject * | clone () const |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More... | |
virtual std::string | toString () const |
Return a pre-formatted characters string for output visualization of class member's values. More... | |
void | serialize (ElemUtils::Packet &packet) const |
Used to split a complex C++ object into a concatenation of simple types. More... | |
void | unserialize (ElemUtils::Packet &packet) |
Used to rebuild a complex C++ object from a concatenation of simple type. More... | |
bool | operator< (const BaseObject &other) const |
Overload of < operator to sort BaseObject object by its indexId value. More... | |
const std::string & | getClassName () const |
unsigned int | getObjectId () const |
int | getIndexId () const |
void | setIndexId (int indexId) |
Static Public Attributes | |
static const std::string | CCF_SERVICE_COMPUTE_SINGLE_KINEMATIC |
Name of the XML task used for computing a CCF. More... | |
static const std::string | CCF_SERVICE_COMPUTE_MANY_KINEMATIC |
Name of the XML task used for computing CCFs with a list of kinematics. More... | |
static const std::string | CCF_SERVICE_GENERATE_PLOT_FILE |
Name of the XML task used for generating a data file ready for plotting. More... | |
Static Public Attributes inherited from PARTONS::ServiceObjectTyped< KinematicType, ResultType > | |
static const std::string | SERVICE_OBJECT_PRINT_RESULTS |
Name of the XML task used to print results via Logger. More... | |
Protected Member Functions | |
ConvolCoeffFunctionService (const std::string &className) | |
Default constructor. More... | |
Protected Member Functions inherited from PARTONS::ServiceObjectTyped< KinematicType, ResultType > | |
ServiceObjectTyped (const std::string &className) | |
Default constructor. More... | |
bool | computeGeneralTask (Task &task) |
General tasks. More... | |
void | printResultListBuffer () |
Print results to buffer. More... | |
void | updateResultInfo (ResultType &result, const ResultInfo &resultInfo) |
Update result info. More... | |
void | updateResultInfo (List< ResultType > &resultList, const ResultInfo &resultInfo) |
Update result info. More... | |
Protected Member Functions inherited from PARTONS::ServiceObject | |
std::string | generateSQLQueryForPlotFileTask (Task &task, const std::string &tableName) const |
Generate SQL query from a task. More... | |
std::string | getOutputFilePathForPlotFileTask (Task &task) const |
Get path to a plot file from a task. More... | |
List< GPDType > | getGPDTypeListFromTask (Task &task) const |
Get list of GPD types to be computed from a task. More... | |
List< CollinearDistributionType > | getCollinearDistributionTypeListFromTask (Task &task) const |
Get list of Collinear Distribution types to be computed from a task. More... | |
void | errorUnknownMethod (const Task &task) const |
Throw exception if unknown method. More... | |
Protected Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const BaseObject &other) | |
Copy constructor. More... | |
void | info (const std::string &functionName, const std::string &message) const |
Print info message into logger. More... | |
void | debug (const std::string &functionName, const std::string &message) const |
Print debug message into logger. More... | |
void | warn (const std::string &functionName, const std::string &message) const |
Print warning message into logger. More... | |
void | errorMissingParameter (const std::string ¶meterName) const |
Use in automation process to throw exception when a parameter is missing from the XML scenario file. More... | |
Private Member Functions | |
ResultType | computeSingleKinematicTask (Task &task) const |
Method used in the automated interface to compute CCF. More... | |
List< ResultType > | computeManyKinematicTask (Task &task) |
Method used in the automated interface to compute CCFs for a list of kinematics. More... | |
virtual void | generatePlotFileTask (Task &task)=0 |
Method used in the automated interface to generate a data file ready for plotting. More... | |
List< GPDType > | getFinalGPDTypeList (ConvolCoeffFunctionModule< KinematicType, ResultType > *pConvolCoeffFunctionModule, const List< GPDType > &gpdTypeList) const |
Method used to derive an intersection of available GPD types from the various underlying modules. More... | |
Additional Inherited Members | |
Protected Attributes inherited from PARTONS::ServiceObjectTyped< KinematicType, ResultType > | |
unsigned int | m_batchSize |
Batch size. More... | |
sf::Mutex | m_mutexKinematicList |
Mutex for kinematic list. More... | |
sf::Mutex | m_mutexResultListBuffer |
Mutex for result list. More... | |
List< KinematicType > | m_kinematicListBuffer |
Kinematic list. More... | |
List< ResultType > | m_resultListBuffer |
Result list. More... | |
ResultInfo | m_resultInfo |
Result info. More... | |
Protected Attributes inherited from PARTONS::ServiceObject | |
ModuleObjectFactory * | m_pModuleObjectFactory |
Pointer to ModuleObjectFactory. More... | |
AutomationService * | m_pAutomationService |
Pointer to AutomationService. More... | |
Abstract class for a service to handle and compute pre-configured CCF modules.
|
inlinevirtual |
Destructor.
|
inlineprotected |
Default constructor.
|
inline |
Computes a CCF Model for a list of kinematics.
kinematics | List of kinematics. |
pConvolCoeffFunctionModule | CCF model to use for the computation. |
gpdTypeList | List of GPDType to compute. Default: all the GPDTypes available with (both) the ConvolCoeffFunctionModule (AND the underlying GPDModule, if any). |
storeInDB | Boolean to store the results and kinematics on the database. Default: false. |
|
inlineprivate |
Method used in the automated interface to compute CCFs for a list of kinematics.
task | Automated XML task. |
|
inline |
Computes a ConvolCoeffFunctionModule at specific kinematics.
kinematic | CCF Kinematics. |
pConvolCoeffFunctionModule | CCF model to use for the computation. |
gpdTypeList | List of GPDType to compute. Default: all the GPDTypes available with (both) the ConvolCoeffFunctionModule (AND the underlying GPDModule, if any). |
|
inlineprivate |
Method used in the automated interface to compute CCF.
task | Automated XML task. |
|
inlinevirtual |
Compute task.
Reimplemented from PARTONS::ServiceObjectTyped< KinematicType, ResultType >.
|
privatepure virtual |
Method used in the automated interface to generate a data file ready for plotting.
task | Automated XML task. |
Implemented in PARTONS::TCSConvolCoeffFunctionService, PARTONS::DVMPConvolCoeffFunctionService, PARTONS::DVCSConvolCoeffFunctionService, and PARTONS::DDVCSConvolCoeffFunctionService.
|
inlineprivate |
Method used to derive an intersection of available GPD types from the various underlying modules.
pConvolCoeffFunctionModule | ConvolCoeffFunctionModule used for the computation. |
gpdTypeList | List of desired GPD types to compute. |
|
pure virtual |
Uses an automation task (XML file) to configure a ConvolCoeffFunctionModule.
task | Automation task. |
Implemented in PARTONS::TCSConvolCoeffFunctionService, PARTONS::DVMPConvolCoeffFunctionService, PARTONS::DVCSConvolCoeffFunctionService, and PARTONS::DDVCSConvolCoeffFunctionService.
|
pure virtual |
Uses an automation task (XML file) to set specific kinematics.
task | Task. |
Implemented in PARTONS::TCSConvolCoeffFunctionService, PARTONS::DVMPConvolCoeffFunctionService, PARTONS::DVCSConvolCoeffFunctionService, and PARTONS::DDVCSConvolCoeffFunctionService.
|
pure virtual |
Uses an automation task (XML file) to set a list of kinematics.
task | Task. |
Implemented in PARTONS::TCSConvolCoeffFunctionService, PARTONS::DVMPConvolCoeffFunctionService, PARTONS::DVCSConvolCoeffFunctionService, and PARTONS::DDVCSConvolCoeffFunctionService.
|
inlinevirtual |
Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others.
To avoid the problem of pointer resolution order, this method is called by the BaseObjectRegistery after all objects are well registered in it. See BaseObjectRegistry class documentation for more details.
Reimplemented from PARTONS::ServiceObjectTyped< KinematicType, ResultType >.
Reimplemented in PARTONS::TCSConvolCoeffFunctionService, PARTONS::DVMPConvolCoeffFunctionService, PARTONS::DVCSConvolCoeffFunctionService, and PARTONS::DDVCSConvolCoeffFunctionService.
|
pure virtual |
Store list of results in DB.
results | List of results. |
Implemented in PARTONS::TCSConvolCoeffFunctionService, PARTONS::DVMPConvolCoeffFunctionService, PARTONS::DVCSConvolCoeffFunctionService, and PARTONS::DDVCSConvolCoeffFunctionService.
|
static |
Name of the XML task used for computing CCFs with a list of kinematics.
|
static |
Name of the XML task used for computing a CCF.
|
static |
Name of the XML task used for generating a data file ready for plotting.