TkN 2.1
Toolkit for Nuclei
tkensdf_gamma_rec.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 * This software is governed by the CeCILL-B license under French law and *
11 * abiding by the rules of distribution of free software. You can use, *
12 * modify and/ or redistribute the software under the terms of the *
13 * CeCILL-B license as circulated by CEA, CNRS and INRIA at the following *
14 * URL \"http://www.cecill.info\". *
15 * *
16 * As a counterpart to the access to the source code and rights to copy, *
17 * modify and redistribute granted by the license, users are provided *
18 * only with a limited warranty and the software's author, the holder of *
19 * the economic rights, and the successive licensors have only limited *
20 * liability. *
21 * *
22 * In this respect, the user's attention is drawn to the risks associated *
23 * with loading, using, modifying and/or developing or reproducing the *
24 * software by the user in light of its specific status of free software, *
25 * that may mean that it is complicated to manipulate, and that also *
26 * therefore means that it is reserved for developers and experienced *
27 * professionals having in-depth computer knowledge. Users are therefore *
28 * encouraged to load and test the software's suitability as regards *
29 * their requirements in conditions enabling the security of their *
30 * systems and/or data to be ensured and, more generally, to use and *
31 * operate it in the same conditions as regards security. *
32 * *
33 * The fact that you are presently reading this means that you have had *
34 * knowledge of the CeCILL-B license and that you accept its terms. *
35 ********************************************************************************/
36
75#ifndef tkensdf_gamma_rec_H
76#define tkensdf_gamma_rec_H
77
78#include "tkensdf_record.h"
79#include "tkstring.h"
80
81namespace tkn{
82
84
85protected:
86
87 bool fIs_final_level_set = false;
88 double fFinal_level_energy = -1.;
89
90 tkdb_table::measure_data_struct frelative_intensity;
91 tkstring fmultipolarity="";
94
95 // transition probabilities
100
101public:
102
104 tkensdf_gamma_rec(const tkensdf_gamma_rec &_gamma_record) ;
106
108 virtual bool set_record(const tkstring &_record) override;
110 virtual void analyse_record() override;
111
113 void analyse_continuation_record() override;
114
116 bool is_final_level_set() { return fIs_final_level_set;}
117
119 void set_final_level_set(bool _status) { fIs_final_level_set = _status;}
120
122 double get_final_level_energy() { return fFinal_level_energy;}
123
124 void clear() override;
125 void print(std::ostream &) const override;
126
127private:
129 void set_relative_intensity(const tkstring &_record);
130 void set_multipolarity(const tkstring &_record);
131 void set_mixing_ratio(const tkstring &_record);
132 void set_conv_coeff(const tkstring &_record);
133 void set_red_trans_prob(const tkstring &_record);
134 void check_red_trans_prob();
135 double weisskopf_conversion(bool electric, double mass, double mult);
136
137public:
138 const tkdb_table::measure_data_struct &get_relative_intensity() const {return frelative_intensity;}
139 const tkstring &get_multipolarity() const {return fmultipolarity;}
140 const tkdb_table::measure_data_struct &get_mixing_ratio() const {return fmixing_ratio;}
141 const tkdb_table::measure_data_struct &get_conv_coeff() const {return fconv_coeff;}
142 const tkdb_table::measure_data_struct &get_BE() const {return fBE;}
143 const tkdb_table::measure_data_struct &get_BEW() const {return fBEW;}
144 const tkdb_table::measure_data_struct &get_BM() const {return fBM;}
145 const tkdb_table::measure_data_struct &get_BMW() const {return fBMW;}
146
147};
148}
149
150#endif
Decodding of the ENSDF gamma properties.
const tkdb_table::measure_data_struct & get_BM() const
const tkstring & get_multipolarity() const
void print(std::ostream &) const override
void analyse_continuation_record() override
analyse a continuation record
const tkdb_table::measure_data_struct & get_BMW() const
const tkdb_table::measure_data_struct & get_BEW() const
virtual void analyse_record() override
analyse the record content
const tkdb_table::measure_data_struct & get_conv_coeff() const
virtual bool set_record(const tkstring &_record) override
define the record from a string
bool is_final_level_set()
return true if the information on the final level is manually defined
double get_final_level_energy()
return true if the information on the final level is manually defined
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
void set_final_level_set(bool _status)
return true if the information on the final level is manually defined
Decodding of the ENSDF records.
std::string with usefull tricks from TString (ROOT) and KVString (KaliVeda) and more....
Definition: tkstring.h:54
Definition: tklog.cpp:39
data structure used to fill a tkmeasure object from the sqlite database
Definition: tkdb_table.h:72