|
double | change_units (eUnit A, eUnit B) |
| Energy units change. More...
|
|
double | change_units (lUnit A, lUnit B) |
| Lengths units change. More...
|
|
double | change_units (aUnit A, aUnit B) |
| Angular units change. More...
|
|
std::string | unit_name (eUnit u) |
| Energy unit name. More...
|
|
std::string | unit_name (lUnit u) |
| Length unit name. More...
|
|
std::string | unit_name (aUnit u) |
| Length unit name. More...
|
|
std::ostream & | operator<< (std::ostream &os, std::pair< vec3d, vec3d > const &p) |
|
std::istream & | operator>> (std::istream &is, std::pair< vec3d, vec3d > &p) |
|
template<typename T > |
std::vector< T > | readStandardInput () |
|
template<typename T > |
T | As (std::map< std::string, std::string > const &dict, std::string const &keyword, std::string const &name) |
| Convert dictionary entry to a numeric type. More...
|
|
| AddNewVariableClass (TMatrix) |
| Create class for T-matrix (tmat) More...
|
|
| AddNewVariableClass (ScatteringAmplitude) |
| Create class for scattering amplitude (scatamp) More...
|
|
| AddNewVariableClass (DifferentialCrossSection) |
| Create class for differential cross section (dcs) More...
|
|
| AddNewVariableClass (IntegralCrossSection) |
| Create class for integral cross section (ics) More...
|
|
| AddNewVariableClass (CompleteCrossSection) |
| Create class for complete cross section (ccs) More...
|
|
| AddNewVariableClass (ExtrapolatedCrossSection) |
| Create class for extrapolated cross section (xcs) More...
|
|
| AddNewVariableClass (CollisionStrength) |
| Create class for collision strength (colls) More...
|
|
| AddNewVariableClass (MomentumTransfer) |
| Create class for momentum transfer (momtf) More...
|
|
| AddNewVariableClass (TotalCrossSection) |
| Create class for total cross section (tcs) More...
|
|
| AddNewVariableClass (IonizationF) |
| Create class for ionization amplitude radial part (ionf) More...
|
|
| AddNewVariableClass (BornFullTMatrix) |
| Create class for the angle dependent full second Born T-matrix (bornf) More...
|
|
| AddNewVariableClass (IonizationAmplitude) |
| Create class for ionization amplitude (ionamp) More...
|
|
| AddNewVariableClass (TripleDifferentialCrossSection) |
| Triple ionization differential cross section (tdcs). More...
|
|
| AddNewVariableClass (StokesParameters) |
| Create class for stokes parameters (stokes) More...
|
|
| AddNewVariableClass (SpinAsymmetry) |
| Create class for spin asymmetry (asy) More...
|
|
#define AddNewVariableClass |
( |
|
ClassName | ) |
|
Value:
{ \
public: \
\
\
static const std::string Id; \
std::string
const &
id ()
const {
return Id; } \
\
static const std::string Description; \
std::string
const &
description ()
const {
return Description; } \
\
static const std::vector<std::string> Dependencies; \
std::vector<std::string>
const &
deps ()
const {
return Dependencies; } \
\
static const std::vector<std::string> VecDependencies; \
std::vector<std::string>
const &
vdeps ()
const {
return VecDependencies; } \
\
std::vector<std::string>
const &
SQL_Update ()
const; \
\
( \
sqlitepp::session &
db, \
std::map<std::string,std::string> const & params \
) const; \
};
virtual std::vector< std::string > const & vdeps() const =0
List of vectorizable scattering event parameters that have to be specified by user.
virtual std::vector< std::string > const & SQL_Update() const =0
SQL statements that update the table after insetion of new data.
Base class for scatering variables.
Definition: variables.h:146
sqlitepp::session db
Definition: hex-db.cpp:31
int run(std::vector< std::string > const &vars, std::map< std::string, std::string > const &sdata)
Definition: hex-db.cpp:323
virtual std::vector< std::string > const & SQL_CreateTable() const =0
SQL statements that create the required table, or empty vector if not needed.
virtual bool initialize(sqlitepp::session &db) const =0
initialize (e.g.) by defining external routines for SQLite
virtual std::string const & id() const =0
String identification of the variable.
virtual std::string const & description() const =0
Longer description text for use in program help.
virtual std::vector< std::string > const & deps() const =0
List of all scattering event parameters that have to be specified by user.
Creates class declaration so that only definition of the unique members is necessary. This method allows easy addition of new scattering variables; one just needs to add the line
at the end of "variables.h", add a line
* new NewVariableClassName,
*
among others into the constructor of VariableList in "variables.cpp" and implement the methods in a new CPP file, which is then linked to the program. It is not necessary to write a custom header which needs to be included by every other source file.