PARTONS
|
PARtonic Tomography Of Nucleon Software
|
Unpolarized cross-section for electro-production integrated over \(xB\), \(Q^{2}\), \(t\) and angles. More...
Public Member Functions | |
DDVCSCrossSectionTotal (const std::string &className) | |
Constructor. More... | |
virtual | ~DDVCSCrossSectionTotal () |
Destructor. More... | |
virtual DDVCSCrossSectionTotal * | clone () const |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More... | |
virtual void | configure (const ElemUtils::Parameters ¶meters) |
Provides a generic method to configure all types of modules by passing a Parameters object. More... | |
size_t | getNI0 () const |
void | setNI0 (size_t nI0) |
size_t | getNI1 () const |
void | setNI1 (size_t nI1) |
const std::pair< double, double > & | getRangexB () const |
void | setRangexB (const std::pair< double, double > &rangexB) |
const std::pair< double, double > & | getRangeT () const |
void | setRangeT (const std::pair< double, double > &rangeT) |
const std::pair< double, double > & | getRangeQ2 () const |
void | setRangeQ2 (const std::pair< double, double > &rangeQ2) |
const std::pair< double, double > & | getRangeQ2Prim () const |
void | setRangeQ2Prim (const std::pair< double, double > &rangeQ2Prim) |
const std::pair< double, double > & | getRangePhi () const |
void | setRangePhi (const std::pair< double, double > &rangePhi) |
const std::pair< double, double > & | getRangePhiL () const |
void | setRangePhiL (const std::pair< double, double > &rangePhiL) |
const std::pair< double, double > & | getRangeThetaL () const |
void | setRangeThetaL (const std::pair< double, double > &rangeThetaL) |
const std::pair< double, double > & | getRangeY () const |
void | setRangeY (const std::pair< double, double > &rangeY) |
Public Member Functions inherited from PARTONS::DDVCSCrossSectionUUMinus | |
DDVCSCrossSectionUUMinus (const std::string &className) | |
Constructor. More... | |
virtual | ~DDVCSCrossSectionUUMinus () |
Destructor. More... | |
Public Member Functions inherited from PARTONS::DDVCSObservable | |
virtual | ~DDVCSObservable () |
Destructor. More... | |
virtual std::string | toString () const |
Return a pre-formatted characters string for output visualization of class member's values. 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 | run () |
virtual void | prepareSubModules (const std::map< std::string, BaseObjectData > &subModulesData) |
Method used in automation to prepare all the modules used by this current module and configure them recursively. More... | |
virtual DDVCSObservableResult | compute (const DDVCSObservableKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >()) |
Computes the observable at given kinematics. More... | |
virtual List< GPDType > | getListOfAvailableGPDTypeForComputation () const |
Must be implemented in child class. More... | |
DDVCSProcessModule * | getProcessModule () const |
Get process module. More... | |
void | setProcessModule (DDVCSProcessModule *pProcessModule) |
Set process module. More... | |
Public Member Functions inherited from PARTONS::Observable< DDVCSObservableKinematic, DDVCSObservableResult > | |
virtual | ~Observable () |
Destructor. More... | |
Public Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const std::string &className, ChannelType::Type channelType) | |
Constructor. More... | |
virtual | ~ModuleObject () |
Default destructor. More... | |
unsigned int | getReferenceModuleId () const |
Get reference module id. More... | |
void | setReferenceModuleId (unsigned int referenceModuleId) |
Set reference module id. More... | |
ChannelType::Type | getChannelType () const |
Get channel type. More... | |
Public Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const std::string &className) | |
Constructor. More... | |
virtual | ~BaseObject () |
Default destructor. 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 Member Functions | |
static double | DDVCSCrossSectionTotalFunction (double *kin, size_t dim, void *par) |
Function for the integration. More... | |
static double | DDVCSCrossSectionTotalFunctionAngle (double *kin, size_t dim, void *par) |
Function for the integration over angles. More... | |
Static Public Attributes | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGEXb |
String used to set integration xB range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGET |
String used to set integration t range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGEQ2 |
String used to set integration Q2 range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGEQ2PRIM |
String used to set integration Q2 range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGEPHI |
String used to set integration Q2 range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGEPHIL |
String used to set integration Q2 range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGETHETAL |
String used to set integration Q2 range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_RANGEY |
String used to set integration y range via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_N0 |
String used to set number of MC integration iterations per cycle via XML scenario. More... | |
static const std::string | DDVCS_CROSSSECTION_TOTAL_N1 |
String used to set number of MC integration cycles via XML scenario. More... | |
static const unsigned int | classId |
Unique ID to automatically register the class in the registry. More... | |
Static Public Attributes inherited from PARTONS::DDVCSCrossSectionUUMinus | |
static const unsigned int | classId |
Unique ID to automatically register the class in the registry. More... | |
Static Public Attributes inherited from PARTONS::DDVCSObservable | |
static const std::string | DDVCS_OBSERVABLE_MODULE_CLASS_NAME |
Type of the module in XML automation. More... | |
Static Public Attributes inherited from PARTONS::ModuleObject | |
static const std::string | CLASS_NAME = "className" |
Protected Member Functions | |
DDVCSCrossSectionTotal (const DDVCSCrossSectionTotal &other) | |
Copy constructor. More... | |
virtual PhysicalType< double > | computeObservable (const DDVCSObservableKinematic &kinematic, const List< GPDType > &gpdType) |
Evaluate observable. More... | |
Protected Member Functions inherited from PARTONS::DDVCSCrossSectionUUMinus | |
DDVCSCrossSectionUUMinus (const DDVCSCrossSectionUUMinus &other) | |
Copy constructor. More... | |
Protected Member Functions inherited from PARTONS::DDVCSObservable | |
DDVCSObservable (const std::string &className) | |
Default constructor. More... | |
DDVCSObservable (const DDVCSObservable &other) | |
Copy constructor. More... | |
virtual void | initModule () |
Pure virtual function that provides skeleton for module initialization. More... | |
virtual void | isModuleWellConfigured () |
Pure virtual function that provides skeleton to check if the module is well initialized and configured. More... | |
Protected Member Functions inherited from PARTONS::Observable< DDVCSObservableKinematic, DDVCSObservableResult > | |
Observable (const std::string &className, ChannelType::Type channelType) | |
Constructor. More... | |
Observable (const Observable &other) | |
Copy constructor. More... | |
std::vector< double > | serializeKinematicsAndGPDTypesIntoStdVector (const DDVCSObservableKinematic &kin, const List< GPDType > &list) const |
Serialize kinematics and list of GPD types to std::vector<double>. More... | |
void | unserializeKinematicsAndGPDTypesFromStdVector (const std::vector< double > &vec, DDVCSObservableKinematic &kin, List< GPDType > &list) const |
Unserialize kinematics and list of GPD types from std::vector<double>. More... | |
Protected Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const ModuleObject &other) | |
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 | |
void | printChangeOfRange (const std::string &func, const std::string &name, const std::pair< double, double > &oldValues, const std::pair< double, double > &newValues) const |
Print change of ranges. More... | |
std::pair< double, double > | parseRange (const std::string &str) const |
Parse range. More... | |
Private Attributes | |
size_t | m_nI0 |
Number of iteration in single cycle. More... | |
size_t | m_nI1 |
Number of cycles. More... | |
std::pair< double, double > | m_rangexB |
xB integration range. More... | |
std::pair< double, double > | m_rangeT |
t integration range. More... | |
std::pair< double, double > | m_rangeQ2 |
Q2 integration range. More... | |
std::pair< double, double > | m_rangeQ2Prim |
Q2 integration range. More... | |
std::pair< double, double > | m_rangePhi |
phi integration range. More... | |
std::pair< double, double > | m_rangePhiL |
phiL integration range. More... | |
std::pair< double, double > | m_rangeThetaL |
thetaL integration range. More... | |
std::pair< double, double > | m_rangeY |
y integration range. More... | |
Additional Inherited Members | |
Protected Attributes inherited from PARTONS::DDVCSObservable | |
DDVCSProcessModule * | m_pProcessModule |
Pointer to the underlying process module. More... | |
Protected Attributes inherited from PARTONS::ModuleObject | |
ModuleObjectFactory * | m_pModuleObjectFactory |
Pointer tp module object factory. More... | |
Unpolarized cross-section for electro-production integrated over \(xB\), \(Q^{2}\), \(t\) and angles.
Default ranges: \(1E-4 < xB < 0.7\), \(-1 < t < 0\), \(1 < Q^{2} < 1E3\) and \(0 < y < 1\). Full integration over angles.
Unit: \(\mathrm{nbarn}\).
PARTONS::DDVCSCrossSectionTotal::DDVCSCrossSectionTotal | ( | const std::string & | className | ) |
Constructor.
className | Name of class. |
|
virtual |
Destructor.
|
protected |
Copy constructor.
other | Object to be copied. |
|
virtual |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry.
Reimplemented from PARTONS::DDVCSCrossSectionUUMinus.
|
protectedvirtual |
Evaluate observable.
To be implemented in a child class.
Reimplemented from PARTONS::DDVCSCrossSectionUUMinus.
|
virtual |
Provides a generic method to configure all types of modules by passing a Parameters object.
Parameters class represents a list of couples key/value (see Parameters class documentation for more info).
parameters | ElemUtils::Parameters object. |
Reimplemented from PARTONS::DDVCSObservable.
|
static |
Function for the integration.
|
static |
Function for the integration over angles.
size_t PARTONS::DDVCSCrossSectionTotal::getNI0 | ( | ) | const |
size_t PARTONS::DDVCSCrossSectionTotal::getNI1 | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangePhi | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangePhiL | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangeQ2 | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangeQ2Prim | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangeT | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangeThetaL | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangexB | ( | ) | const |
const std::pair< double, double > & PARTONS::DDVCSCrossSectionTotal::getRangeY | ( | ) | const |
|
private |
Parse range.
|
private |
Print change of ranges.
void PARTONS::DDVCSCrossSectionTotal::setNI0 | ( | size_t | nI0 | ) |
void PARTONS::DDVCSCrossSectionTotal::setNI1 | ( | size_t | nI1 | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangePhi | ( | const std::pair< double, double > & | rangePhi | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangePhiL | ( | const std::pair< double, double > & | rangePhiL | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangeQ2 | ( | const std::pair< double, double > & | rangeQ2 | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangeQ2Prim | ( | const std::pair< double, double > & | rangeQ2Prim | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangeT | ( | const std::pair< double, double > & | rangeT | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangeThetaL | ( | const std::pair< double, double > & | rangeThetaL | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangexB | ( | const std::pair< double, double > & | rangexB | ) |
void PARTONS::DDVCSCrossSectionTotal::setRangeY | ( | const std::pair< double, double > & | rangeY | ) |
|
static |
Unique ID to automatically register the class in the registry.
|
static |
String used to set number of MC integration iterations per cycle via XML scenario.
|
static |
String used to set number of MC integration cycles via XML scenario.
|
static |
String used to set integration Q2 range via XML scenario.
|
static |
String used to set integration Q2 range via XML scenario.
|
static |
String used to set integration Q2 range via XML scenario.
|
static |
String used to set integration Q2 range via XML scenario.
|
static |
String used to set integration t range via XML scenario.
|
static |
String used to set integration Q2 range via XML scenario.
|
static |
String used to set integration xB range via XML scenario.
|
static |
String used to set integration y range via XML scenario.
|
private |
Number of iteration in single cycle.
|
private |
Number of cycles.
|
private |
phi integration range.
|
private |
phiL integration range.
|
private |
Q2 integration range.
|
private |
Q2 integration range.
|
private |
t integration range.
|
private |
thetaL integration range.
|
private |
xB integration range.
|
private |
y integration range.