32 #ifndef HEX_DB_QUANTITIES_H 33 #define HEX_DB_QUANTITIES_H 48 #include <sqlitepp/sqlitepp.hpp> 57 sqlitepp::session *
db;
68 virtual std::
string description ()
74 virtual std::vector<std::pair<std::string,std::string>>
params ()
76 return std::vector<std::pair<std::string,std::string>>();
80 virtual std::vector<std::string>
vparams ()
82 return std::vector<std::string>();
89 return std::vector<std::string>();
119 virtual bool run (std::map<std::string,std::string>
const &
params)
132 #define createNewScatteringQuantity(Q, NAME) \ 133 class Q : public ScatteringQuantity \ 136 derivedClassRunTimeSelectionDefinitions(ScatteringQuantity, (), Q, (), NAME) \ 137 std::string description (); \ 138 std::vector<std::pair<std::string,std::string>> params (); \ 139 std::vector<std::string> vparams (); \ 140 std::vector<std::string> dependencies (); \ 141 bool initialize (sqlitepp::session & db); \ 142 bool createTable (); \ 143 bool updateTable (); \ 144 bool run (std::map<std::string,std::string> const & params); \ 146 addClassToParentRunTimeSelectionTable(ScatteringQuantity, Q) virtual std::vector< std::string > vparams()
List of vectorizable scattering event parameters that have to be specified by user.
Definition: quantities.h:80
virtual bool updateTable()
SQL statements that update the table after insetion of new data.
Definition: quantities.h:113
baseClassRunTimeSelectionDefinitions(ScatteringQuantity,()) virtual std
Longer description text for use in program help.
Definition: quantities.h:63
sqlitepp::session * db
Database session.
Definition: quantities.h:57
virtual bool run(std::map< std::string, std::string > const ¶ms)
write out requested data
Definition: quantities.h:119
ScatteringQuantity * get_quantity(std::string name)
virtual bool initialize(sqlitepp::session &db)
initialize (e.g.) by defining external routines for SQLite
Definition: quantities.h:100
virtual std::vector< std::string > dependencies()
Definition: quantities.h:87
virtual std::vector< std::pair< std::string, std::string > > params()
List of all scattering event parameters (with description) that have to be specified by user...
Definition: quantities.h:74
sqlitepp::session & session()
Definition: quantities.h:94
Definition: quantities.h:52
virtual bool createTable()
SQL statements that create the required table, or empty vector if not needed.
Definition: quantities.h:107