37#include "tkdecay_builder.h"
53tkdecay_builder::~tkdecay_builder() =
default;
55tkdecay_builder::tkdecay_builder(
tkdatabase *_database,
const char *_table_name) :
tkdb_builder(_database, _table_name)
57 fTable = &fDataBase->new_table(fTableName);
59 fTable->add_column(
"decay_id",
"INT NOT NULL PRIMARY KEY");
60 fTable->add_column(
"level_from_id",
"INT NOT NULL");
61 fTable->add_column(
"level_to_id",
"INT NOT NULL");
62 fTable->add_column(
"decay_type",
"INT");
64 add_measure(
"energy");
65 add_measure(
"relative_intensity");
67 fTable->add_column(
"decay_multipolarity",
"TEXT");
69 add_measure(
"mixing_ratio");
70 add_measure(
"conv_coeff");
76 fTable->add_column(
"decay_comment",
"TEXT");
77 fTable->add_column(
"decay_uncertain",
"TEXT");
79 fTable->add_constraint(
"FOREIGN KEY (level_from_id) REFERENCES LEVEL (level_id),");
80 fTable->add_constraint(
"FOREIGN KEY (level_to_id) REFERENCES LEVEL (level_id)");
82 fTable->write_to_database();
84 glog <<
info <<
"Creating '" << _table_name <<
"' table" <<
do_endl;
89 (*fTable)[
"decay_id"].set_value(fdecay_Idx);
91 (*fTable)[
"level_from_id"].set_value(_level_idx_from);
92 (*fTable)[
"level_to_id"].set_value(_level_idx_to);
96 fill_measure(
"energy",_gamma_record.
get_energy());
100 fill_measure(
"BE",_gamma_record.
get_BE());
101 fill_measure(
"BEW",_gamma_record.
get_BEW());
102 fill_measure(
"BM",_gamma_record.
get_BM());
103 fill_measure(
"BMW",_gamma_record.
get_BMW());
Interface to the sqlite database.
Mother class used to fill the sqlite database.
Filling of the ENSDF decay properties.
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)