32 #ifndef GENBB_HELP_BETA_DECAY_H 33 #define GENBB_HELP_BETA_DECAY_H 1 42 #include <boost/scoped_ptr.hpp> 199 double get_a()
const;
261 double pdf_ke_pr(
double ke_ ,
double pr_)
const;
271 virtual void tree_dump(std::ostream & out_ = std::clog,
272 const std::string & title_ =
"",
273 const std::string & indent_ =
"",
274 bool inherit_ =
false)
const;
277 void display_pdf(
const std::string & title_ =
"")
const;
290 double & cenu_)
const;
300 virtual void reset();
330 double _mass_parent_;
331 double _energy_parent_;
332 double _mass_daughter_;
333 double _energy_daughter_;
337 int _electron_shakeoff_fixed_charge_;
339 std::string _log_filename_;
340 boost::scoped_ptr<std::ofstream> _log_file_;
341 boost::scoped_ptr<fermi_function> _F_;
342 bool _massive_neutrino_;
343 double _neutrino_mass_;
344 bool _beta_generated_;
345 bool _neutrino_generated_;
346 bool _daughter_generated_;
355 double _probability_max_;
369 #endif // GENBB_HELP_BETA_DECAY_H const std::string & get_log_filename() const
Return the name of the log file.
coupling_type get_coupling() const
Return the coupling of the beta decay.
void add_electron_shakeoff_random(int charge_, double probability_)
coupling_type
Type of the coupling.
Definition: beta_decay.h:79
static std::string label_from_coupling(coupling_type)
Return a label associated to a coupling.
int fire_event_kinematics(mygsl::rng &prng_, double &ke_, double &pr_, double &pnu_, double &cer_, double &cenu_) const
No electron shakeoff.
Definition: beta_decay.h:91
Force daughter recoil ion's charge state.
Definition: beta_decay.h:92
double get_energy_parent() const
Return the excitation energy of the parent nucleus.
int get_electron_shakeoff_fixed_charge() const
Return the fixed electron shakeoff charge of the daughter recoil ion.
Beta plus.
Definition: beta_decay.h:69
void _set_default()
Set default values (initialization)
void set_coupling(coupling_type coupling_)
Set the coupling of the beta decay.
bool is_daughter_generated() const
Check the daughter nucleus/ion generation flag.
int get_Z_parent() const
Return the Z of the parent nucleus.
void set_Z_parent(int)
Set the Z of the parent nucleus.
void set_Z_daughter(int)
Set the Z of the daughter nucleus.
double probability
Probability.
Definition: beta_decay.h:102
std::vector< electron_shakeoff_entry > electron_shakeoff_data_type
Definition: beta_decay.h:106
virtual void reset()
Reset.
void set_mass_daughter(double)
Set the isotopic mass of the daughter nucleus (not the atomic mass)
Base decay driver.
Definition: base_decay_driver.h:60
void set_log_filename(const std::string &)
Set the name of the file.
void set_neutrino_generated(bool)
Set the neutrino generation flag.
static double a_value(coupling_type)
bool is_neutrino_generated() const
Check the neutrino generation flag.
double get_energy_daughter() const
Return the isotopic mass of the daughter nucleus.
bool coupling_is_known() const
Check if coupling is known.
Vector coupling (pure Fermi)
Definition: beta_decay.h:84
static coupling_type coupling_from_label(const std::string &)
Return a coupling associated to a label.
Invalid beta decay type.
Definition: beta_decay.h:67
const electron_shakeoff_data_type & get_electron_shakeoff_data_random() const
Return the random for random electron shakeoff.
double pdf_ke_pr(double ke_, double pr_) const
Compute the probability density function for a given electron kinetic energy and a given recoil ion m...
void _compute_pr_max()
Compute the maximum value of the recoil ion momentum.
#define GENBB_BDD_REGISTRATION_INTERFACE(GENBB_CLASS_NAME)
Definition: genbb_macros.h:35
int charge
Daughter recoil ion's charge state.
Definition: beta_decay.h:101
static std::string label_from_decay_type(decay_type)
Return a label associated to a decay type.
static void compute_ke_limits(double q_beta_, double pr_, double &ke_min_, double &ke_max_)
Compute the bounds for the electron kinetic energy.
decay_type
Type of the beta decay.
Definition: beta_decay.h:66
void set_energy_daughter(double)
Set the excitation energy of the daughter nucleus.
void set_type(decay_type)
Set the type of the beta decay.
bool is_beta_generated() const
Check the beta generation flag.
virtual void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
virtual void initialize(const datatools::properties &config_)
Initialization.
void set_mass_parent(double)
Set the isotopic mass of the parent nucleus (not the atomic mass)
virtual void set_levels(const nuclear_level &level_start_, const nuclear_level &level_stop_)
Set the transition parameter from the start and stop levels.
DOCD_CLASS_DECLARATION(my::algo)
Declaration of the OCD support for the my::algo class.
int get_A() const
Return the A of the decaying nucleus.
double cumul_probability
Cumulative probability.
Definition: beta_decay.h:103
Randomize daughter recoil ion's charge state.
Definition: beta_decay.h:93
void _compute_limits()
Compute some internal data.
void set_beta_generated(bool)
Set the beta generation flag.
bool is_electron_shakeoff() const
Check electron shakeoff mode.
decay_type get_type() const
Return the type of the beta decay.
void set_a(double)
Set the beta-neutrino angular correlation coefficient.
double get_mass_parent() const
Return the isotopic mass of the parent nucleus (not the atomic mass)
int get_Z_daughter() const
Return the Z of the daughter nucleus.
void _init()
Compute some internal data.
Top-level namespace of the Bayeux/genbb_help module library.
Definition: alpha_decay.h:51
void _init_electron_shakeoff()
Initialize electron shakeoff.
void set_electron_shakeoff(electron_shakeoff_mode_type eso_mode_)
Set electron shakeoff mode.
Beta minus.
Definition: beta_decay.h:68
virtual ~beta_decay()
Destructor.
void set_electron_shakeoff_fixed_charge(int charge_)
Set fixed electron shakeoff charge of the daughter recoil ion.
Tensor coupling.
Definition: beta_decay.h:82
void set_daughter_generated(bool)
Set the daughter nucleus/ion generation flag.
double get_probability_max() const
Return the maximum value of the probability density for Von Neumann method.
bool is_beta_minus() const
Check if the decay is a beta minus.
double get_mass_daughter() const
Return the isotopic mass of the daughter nucleus (not the atomic mass)
bool has_q_beta() const
Check if Q beta is set.
bool has_electron_shakeoff_fixed_charge() const
Check the fixed electron shakeoff charge of the daughter recoil ion.
static const int ESO_INVALID_FIXED_CHARGE
Invalid electron shakeoff fixed charge.
Definition: beta_decay.h:97
static decay_type decay_type_from_label(const std::string &)
Return a coupling associated to a label.
A primary event from a Monte-Carlo generator.
Definition: primary_event.h:60
Scalar coupling.
Definition: beta_decay.h:83
virtual int fill(mygsl::rng &prng_, genbb::primary_event &event_)
Shoot the kinematics of the decay and fill a primary event.
Unknown coupling.
Definition: beta_decay.h:86
bool is_beta_plus() const
Check if the decay is a beta plus.
double get_a() const
Return the beta-neutrino angular correlation coefficient.
User defined coupling.
Definition: beta_decay.h:85
Entry for a given daughter recoil ion's charge state.
Definition: beta_decay.h:100
void set_energy_parent(double)
Set the excitation energy of the parent nucleus.
electron_shakeoff_mode_type
Daughter recoil ion's electron shakeoff mode.
Definition: beta_decay.h:90
double get_ke_cut() const
Return the cut on beta kinetic energy.
double get_q_beta() const
Return the Q beta of the decay.
void set_A(int)
Set the A of the decaying nucleus.
Description of a nuclear level.
Definition: nuclear_level.h:53
Description of a beta decay.
Definition: beta_decay.h:60
void set_q_beta(double)
Set the Q beta of the decay.
Invalid coupling.
Definition: beta_decay.h:80
beta_decay()
Default constructor.
Pseudo random number generator.
Definition: rng.h:53
Axial-vector coupling (pure Gamow-Teller)
Definition: beta_decay.h:81
double get_pr_max() const
Return the maximum value of the recoil ion momentum.
void set_ke_cut(double)
Set the cut on beta kinetic energy.
void display_pdf(const std::string &title_="") const
Display PDF.