TkN 2.4
Toolkit for Nuclei
Loading...
Searching...
No Matches
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 * Licensed under the MIT License <http://opensource.org/licenses/MIT>. *
11 * SPDX-License-Identifier: MIT *
12 ********************************************************************************/
13
51
52#ifndef tkensdf_gamma_rec_H
53#define tkensdf_gamma_rec_H
54
55#include "tkensdf_record.h"
56#include "tkstring.h"
57
58namespace tkn{
59
61
62protected:
63
64 bool fIs_final_level_set = false;
65 double fFinal_level_energy = -1.;
66
67 tkdb_table::measure_data_struct frelative_intensity;
68 tkstring fmultipolarity="";
71
72 // transition probabilities
77
78public:
79
81 tkensdf_gamma_rec(const tkensdf_gamma_rec &_gamma_record) ;
83
85 virtual bool set_record(const tkstring &_record) override;
87 virtual void analyse_record() override;
88
90 void analyse_continuation_record() override;
91
93 bool is_final_level_set() { return fIs_final_level_set;}
94
96 void set_final_level_set(bool _status) { fIs_final_level_set = _status;}
97
99 double get_final_level_energy() { return fFinal_level_energy;}
100
101 void clear() override;
102 void print(std::ostream &) const override;
103
104private:
106 void set_relative_intensity(const tkstring &_record);
107 void set_multipolarity(const tkstring &_record);
108 void set_mixing_ratio(const tkstring &_record);
109 void set_conv_coeff(const tkstring &_record);
110 void set_red_trans_prob(const tkstring &_record);
111 void check_red_trans_prob();
112 double weisskopf_conversion(bool electric, double mass, double mult);
113
114public:
115 const tkdb_table::measure_data_struct &get_relative_intensity() const {return frelative_intensity;}
116 const tkstring &get_multipolarity() const {return fmultipolarity;}
117 const tkdb_table::measure_data_struct &get_mixing_ratio() const {return fmixing_ratio;}
118 const tkdb_table::measure_data_struct &get_conv_coeff() const {return fconv_coeff;}
119 const tkdb_table::measure_data_struct &get_BE() const {return fBE;}
120 const tkdb_table::measure_data_struct &get_BEW() const {return fBEW;}
121 const tkdb_table::measure_data_struct &get_BM() const {return fBM;}
122 const tkdb_table::measure_data_struct &get_BMW() const {return fBMW;}
123
124};
125}
126
127#endif
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
std::string with usefull tricks from TString (ROOT) and KVString (KaliVeda) and more....
Definition tkstring.h:31
Definition tklog.cpp:16
data structure used to fill a tkmeasure object from the sqlite database
Definition tkdb_table.h:49