TkN 2.5
Toolkit for Nuclei
Loading...
Searching...
No Matches
tkensdf_builder.h
1/********************************************************************************
2 * Copyright (c) : Université de Lyon 1, CNRS/IN2P3, UMR5822, *
3 * IP2I, F-69622 Villeurbanne Cedex, France *
4 * Normandie Université, ENSICAEN, UNICAEN, CNRS/IN2P3, *
5 * LPC Caen, F-14000 Caen, France *
6 * Contibutor(s) : *
7 * Jérémie Dudouet jeremie.dudouet@cnrs.fr [2020] *
8 * Diego Gruyer diego.gruyer@cnrs.fr [2020] *
9 * *
10 * Licensed under the MIT License <http://opensource.org/licenses/MIT>. *
11 * SPDX-License-Identifier: MIT *
12 ********************************************************************************/
13
14#ifndef tkensdf_builder_H
15#define tkensdf_builder_H
16
17#include "tkn_config.h"
18#include "tkdatabase.h"
19#include "tkensdf_reader.h"
20#include "tklevel_builder.h"
21#include "tkdecay_builder.h"
22
23#ifdef HAS_ROOT
24#include "TClass.h"
25#endif
26
27namespace tkn {
28
30
31private:
32 tkdatabase *fDataBase;
33
34 int fDatasetIndex = 0;
35 int fIsotopeIndex = 0;
36
37 tkensdf_reader fensdf_reader;
38
39 tklevel_builder *flevel_builder = nullptr;
40 tkdecay_builder *fdecay_builder = nullptr;
41
42public:
43 tkensdf_builder(tkdatabase *_database, const tkstring &_input_folder);
45
46protected:
47 bool read_dataset(tkensdf_ident_rec *_data_set, int _dataset_idx);
48 tkstring get_dataset_comment(tkensdf_ident_rec *_data_set);
49
50public:
51 int fill_database();
52 int add_dataset(tkensdf_ident_rec &_dataset, const tkstring &_nucleus, const tkstring &_dataset_comment = "", const tkstring &_dataset_date = "", const tkstring &_dataset_source = "");
53
54 void set_level_builder(tklevel_builder *_lvl_builder) { flevel_builder = _lvl_builder; }
55 void set_decay_builder(tkdecay_builder *_trs_builder) { fdecay_builder = _trs_builder; }
56
57#ifdef HAS_ROOT
59 ClassDef(tkensdf_builder, 0);
60#endif
61};
62
63} // namespace tkn
64#endif
Interface to the sqlite database.
Definition tkdatabase.h:34
Filling of the ENSDF decay properties.
Main class dedicated to the ENSDF records decoding.
virtual ~tkensdf_builder()
void set_decay_builder(tkdecay_builder *_trs_builder)
void set_level_builder(tklevel_builder *_lvl_builder)
int add_dataset(tkensdf_ident_rec &_dataset, const tkstring &_nucleus, const tkstring &_dataset_comment="", const tkstring &_dataset_date="", const tkstring &_dataset_source="")
tkensdf_builder(tkdatabase *_database, const tkstring &_input_folder)
Decodding of the ENSDF identification record properties.
Main class dedicated to ENSDF ascii files reading.
Filling of the ENSDF level properties.
std::string with usefull tricks from TString (ROOT) and KVString (KaliVeda) and more....
Definition tkstring.h:32
Definition tklog.cpp:16