14#include "tkdecay_builder.h"
34 fTable = &fDataBase->new_table(fTableName);
36 fTable->add_column(
"decay_id",
"INT NOT NULL PRIMARY KEY");
37 fTable->add_column(
"level_from_id",
"INT NOT NULL");
38 fTable->add_column(
"level_to_id",
"INT NOT NULL");
39 fTable->add_column(
"decay_type",
"INT");
41 add_measure(
"energy");
42 add_measure(
"relative_intensity");
44 fTable->add_column(
"decay_multipolarity",
"TEXT");
46 add_measure(
"mixing_ratio");
47 add_measure(
"conv_coeff");
53 fTable->add_column(
"decay_comment",
"TEXT");
54 fTable->add_column(
"decay_uncertain",
"TEXT");
56 fTable->add_constraint(
"FOREIGN KEY (level_from_id) REFERENCES LEVEL (level_id),");
57 fTable->add_constraint(
"FOREIGN KEY (level_to_id) REFERENCES LEVEL (level_id)");
59 fTable->write_to_database();
61 glog <<
info <<
"Creating '" << _table_name <<
"' table" <<
do_endl;
66 (*fTable)[
"decay_id"].set_value(fdecay_Idx);
68 (*fTable)[
"level_from_id"].set_value(_level_idx_from);
69 (*fTable)[
"level_to_id"].set_value(_level_idx_to);
73 fill_measure(
"energy",_gamma_record.
get_energy());
77 fill_measure(
"BE",_gamma_record.
get_BE());
78 fill_measure(
"BEW",_gamma_record.
get_BEW());
79 fill_measure(
"BM",_gamma_record.
get_BM());
80 fill_measure(
"BMW",_gamma_record.
get_BMW());
Interface to the sqlite database.
tkdb_builder(tkdatabase *_database, const char *_table_name)
Filling of the ENSDF decay properties.
tkdecay_builder(tkdatabase *_database, const char *_table_name="DECAY")
virtual ~tkdecay_builder() override
void fill_gamma(const int &_level_idx_from, const int &_level_idx_to, const tkensdf_gamma_rec &_gamma_record)
Decodding of the ENSDF gamma properties.
const tkdb_table::measure_data_struct & get_BM() const
const tkstring & get_multipolarity() const
const tkdb_table::measure_data_struct & get_BMW() const
const tkdb_table::measure_data_struct & get_BEW() const
const tkdb_table::measure_data_struct & get_conv_coeff() const
const tkdb_table::measure_data_struct & get_mixing_ratio() const
const tkdb_table::measure_data_struct & get_BE() const
const tkdb_table::measure_data_struct & get_relative_intensity() const
bool is_uncertain() const
check if the record is uncertain
const tkstring & get_uncertain_record() const
get the record uncertain type
virtual const tkstring & get_comment_record() const
get the continuation record
const tkdb_table::measure_data_struct & get_energy() const
tklog & do_endl(tklog &log)