Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Types | Public Member Functions | Protected Member Functions | List of all members
genbb::nuclear_transition Class Reference

Description of a deexcitation nuclear transition between two levels of the same nuclide (gamma + IC) More...

#include <bayeux/genbb_help/nuclear_transition.h>

Inheritance diagram for genbb::nuclear_transition:
genbb::base_decay_driver datatools::i_tree_dumpable

Public Types

enum  approx_flag_type { APPROX_NULL = 0, APPROX_GAMMA_ONLY = datatools::bit_mask::bit00, APPROX_GKLMP_SIMPLE = datatools::bit_mask::bit01, APPROX_DEFAULT = APPROX_GKLMP_SIMPLE }
 Approximation mode. More...
 
enum  mode_type {
  MODE_INVALID = -1, MODE_GAMMA = 0, MODE_IC_K = 1, MODE_IC_L = 2,
  MODE_IC_M = 3, MODE_PC = 4
}
 Deexcitation mode. More...
 
- Public Types inherited from datatools::i_tree_dumpable
enum  ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 }
 Enumeration for standard output streams. More...
 

Public Member Functions

 nuclear_transition ()
 Constructor. More...
 
virtual ~nuclear_transition ()
 Destructor. More...
 
bool has_A () const
 Check if A is set. More...
 
void set_A (int)
 Set the A of the excited nucleus. More...
 
int get_A () const
 Return the A of the excited nucleus. More...
 
bool has_Z () const
 Check if Z is set. More...
 
void set_Z (int)
 Set the Z of the excited nucleus. More...
 
int get_Z () const
 Return the Z of the excited nucleus. More...
 
bool has_energy () const
 Check if energy is set. More...
 
void set_energy (double)
 Set the energy. More...
 
double get_energy () const
 Return the energy. More...
 
void set_ic_k_shell_binding_energy (double b_)
 Set the binding energy of electron on K-shell. More...
 
void set_ic_l_shell_binding_energy (double b_)
 Set the binding energy of electron on L-shell. More...
 
void set_ic_m_shell_binding_energy (double b_)
 Set the binding energy of electron on M-shell. More...
 
double get_ic_k_shell_binding_energy () const
 Return the binding energy of electron on K-shell. More...
 
double get_ic_l_shell_binding_energy () const
 Return the binding energy of electron on L-shell. More...
 
double get_ic_m_shell_binding_energy () const
 Return the binding energy of electron on M-shell. More...
 
void set_ic_k_shell_coefficient (double b_)
 Set the IC coefficient of electron on K-shell. More...
 
void set_ic_l_shell_coefficient (double b_)
 Set the IC coefficient of electron on L-shell. More...
 
void set_ic_m_shell_coefficient (double b_)
 Set the IC coefficient of electron on M-shell. More...
 
double get_ic_k_shell_coefficient () const
 Return the IC coefficient of electron on K-shell. More...
 
double get_ic_l_shell_coefficient () const
 Return the IC coefficient of electron on L-shell. More...
 
double get_ic_m_shell_coefficient () const
 Return the IC coefficient of electron on M-shell. More...
 
void set_pc_coefficient (double c_)
 Set the pair conversion coefficient. More...
 
double get_pc_coefficient () const
 Return the pair conversion coefficient. More...
 
bool is_gamma_generated () const
 Check the gamma generation flag. More...
 
void set_gamma_generated (bool)
 Set the gamma generation flag. More...
 
bool is_conversion_electron_generated () const
 Check the conversion electron generation flag. More...
 
void set_conversion_electron_generated (bool)
 Set the conversion electron generation flag. More...
 
bool is_conversion_pair_generated () const
 Check the conversion pair generation flag. More...
 
void set_conversion_pair_generated (bool)
 Set the conversion pair generation flag. More...
 
void set_levels (const nuclear_level &lstart_, const nuclear_level &lstop_)
 Set the transition parameter from the start and stop levels. More...
 
virtual void tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
 Smart print. More...
 
int fire_event_kinematics (mygsl::rng &prng_, mode_type &mode_, double &eg_, double &thetag_, double &phig_, double &e1_, double &theta1_, double &phi1_, double &e2_, double &theta2_, double &phi2_) const
 
virtual void initialize (const datatools::properties &config_)
 Initialization. More...
 
virtual void reset ()
 Reset. More...
 
virtual int fill (mygsl::rng &prng_, genbb::primary_event &event_)
 Shoot the kinematics of the decay and fill a primary event. More...
 
- Public Member Functions inherited from genbb::base_decay_driver
 base_decay_driver ()
 Default constructor. More...
 
virtual ~base_decay_driver ()
 Destructor. More...
 
datatools::logger::priority get_logging () const
 Return the logging priority threshold. More...
 
void set_logging (datatools::logger::priority)
 Set the logging priority threshold. More...
 
bool is_initialized () const
 Check initialization status. More...
 
void initialize_simple ()
 Initialization. More...
 
- Public Member Functions inherited from datatools::i_tree_dumpable
 i_tree_dumpable ()
 Constructor. More...
 
virtual ~i_tree_dumpable ()
 Destructor. More...
 
virtual void print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const
 Main new interface method for printing. More...
 
void print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const
 Printing with jsonized options. More...
 
void print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const
 Printing with jsonized options. More...
 
void tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const
 
void tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const
 
void smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const
 

Protected Member Functions

void _set_default ()
 Set default values (initialization) More...
 
void _init ()
 Compute some internal data. More...
 
- Protected Member Functions inherited from genbb::base_decay_driver
void _set_default ()
 Set the default attributes. More...
 
void _set_initialized (bool)
 Set the initialization flag. More...
 
void _initialize (const datatools::properties &setup_)
 Initialization. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from datatools::i_tree_dumpable
static const boost::property_tree::ptree & empty_options ()
 
static boost::property_tree::ptree make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false)
 
static std::ostream & last_skip_tag (std::ostream &out_)
 
static std::ostream & skip_tag (std::ostream &out_)
 
static std::ostream & last_tag (std::ostream &out_)
 
static std::ostream & tag (std::ostream &out_)
 

Detailed Description

Description of a deexcitation nuclear transition between two levels of the same nuclide (gamma + IC)

Member Enumeration Documentation

◆ approx_flag_type

Approximation mode.

Enumerator
APPROX_NULL 

Null flag.

APPROX_GAMMA_ONLY 

Approximation mode with only gamma emission, neglecting conversion from K/L/M shells and pair conversion.

APPROX_GKLMP_SIMPLE 

Approximation mode with concurrent gamma emission, internal conversion from K/L/M shells and pair conversion.

APPROX_DEFAULT 

Default approximation mode.

◆ mode_type

Deexcitation mode.

Enumerator
MODE_INVALID 

Invalid mode.

MODE_GAMMA 

Gamma emission.

MODE_IC_K 

Internal conversion on K-shell.

MODE_IC_L 

Internal conversion on L-shell.

MODE_IC_M 

Internal conversion on M-shell.

MODE_PC 

Pair conversion.

Constructor & Destructor Documentation

◆ nuclear_transition()

genbb::nuclear_transition::nuclear_transition ( )

Constructor.

◆ ~nuclear_transition()

virtual genbb::nuclear_transition::~nuclear_transition ( )
virtual

Destructor.

Member Function Documentation

◆ _init()

void genbb::nuclear_transition::_init ( )
protected

Compute some internal data.

◆ _set_default()

void genbb::nuclear_transition::_set_default ( )
protected

Set default values (initialization)

◆ fill()

virtual int genbb::nuclear_transition::fill ( mygsl::rng prng_,
genbb::primary_event event_ 
)
virtual

Shoot the kinematics of the decay and fill a primary event.

Implements genbb::base_decay_driver.

◆ fire_event_kinematics()

int genbb::nuclear_transition::fire_event_kinematics ( mygsl::rng prng_,
mode_type mode_,
double &  eg_,
double &  thetag_,
double &  phig_,
double &  e1_,
double &  theta1_,
double &  phi1_,
double &  e2_,
double &  theta2_,
double &  phi2_ 
) const

Shoot the kinematics of the gamma emission, internal conversion + X-rays or pair conversion:

  • prng_ The pseudo-random number generator
  • mode_ the transition mode (gamma, IC (K/L/M) or pair conversion))
  • eg_ the kinetic energy of the emitted gamma or X (IC or gamma)
  • thetag_ the theta angle of the emitted gamma or X (IC or gamma)
  • phig_ the phi the angle of the emitted gamma or X (IC or gamma)
  • ke1_ the kinetic energy of the emitted electron (IC or pair)
  • theta1_ the theta angle of the emitted electron (IC or pair)
  • phi1_ the phi the angle of the emitted electron (IC or pair)
  • ke2_ the kinetic energy of the emitted positron (pair)
  • theta2_ the theta angle of the emitted positron (pair)
  • phi2_ the phi the angle of the emitted positron (pair)

◆ get_A()

int genbb::nuclear_transition::get_A ( ) const

Return the A of the excited nucleus.

◆ get_energy()

double genbb::nuclear_transition::get_energy ( ) const

Return the energy.

◆ get_ic_k_shell_binding_energy()

double genbb::nuclear_transition::get_ic_k_shell_binding_energy ( ) const

Return the binding energy of electron on K-shell.

◆ get_ic_k_shell_coefficient()

double genbb::nuclear_transition::get_ic_k_shell_coefficient ( ) const

Return the IC coefficient of electron on K-shell.

◆ get_ic_l_shell_binding_energy()

double genbb::nuclear_transition::get_ic_l_shell_binding_energy ( ) const

Return the binding energy of electron on L-shell.

◆ get_ic_l_shell_coefficient()

double genbb::nuclear_transition::get_ic_l_shell_coefficient ( ) const

Return the IC coefficient of electron on L-shell.

◆ get_ic_m_shell_binding_energy()

double genbb::nuclear_transition::get_ic_m_shell_binding_energy ( ) const

Return the binding energy of electron on M-shell.

◆ get_ic_m_shell_coefficient()

double genbb::nuclear_transition::get_ic_m_shell_coefficient ( ) const

Return the IC coefficient of electron on M-shell.

◆ get_pc_coefficient()

double genbb::nuclear_transition::get_pc_coefficient ( ) const

Return the pair conversion coefficient.

◆ get_Z()

int genbb::nuclear_transition::get_Z ( ) const

Return the Z of the excited nucleus.

◆ has_A()

bool genbb::nuclear_transition::has_A ( ) const

Check if A is set.

◆ has_energy()

bool genbb::nuclear_transition::has_energy ( ) const

Check if energy is set.

◆ has_Z()

bool genbb::nuclear_transition::has_Z ( ) const

Check if Z is set.

◆ initialize()

virtual void genbb::nuclear_transition::initialize ( const datatools::properties config_)
virtual

Initialization.

Implements genbb::base_decay_driver.

◆ is_conversion_electron_generated()

bool genbb::nuclear_transition::is_conversion_electron_generated ( ) const

Check the conversion electron generation flag.

◆ is_conversion_pair_generated()

bool genbb::nuclear_transition::is_conversion_pair_generated ( ) const

Check the conversion pair generation flag.

◆ is_gamma_generated()

bool genbb::nuclear_transition::is_gamma_generated ( ) const

Check the gamma generation flag.

◆ reset()

virtual void genbb::nuclear_transition::reset ( )
virtual

Reset.

Implements genbb::base_decay_driver.

◆ set_A()

void genbb::nuclear_transition::set_A ( int  )

Set the A of the excited nucleus.

◆ set_conversion_electron_generated()

void genbb::nuclear_transition::set_conversion_electron_generated ( bool  )

Set the conversion electron generation flag.

◆ set_conversion_pair_generated()

void genbb::nuclear_transition::set_conversion_pair_generated ( bool  )

Set the conversion pair generation flag.

◆ set_energy()

void genbb::nuclear_transition::set_energy ( double  )

Set the energy.

◆ set_gamma_generated()

void genbb::nuclear_transition::set_gamma_generated ( bool  )

Set the gamma generation flag.

◆ set_ic_k_shell_binding_energy()

void genbb::nuclear_transition::set_ic_k_shell_binding_energy ( double  b_)

Set the binding energy of electron on K-shell.

◆ set_ic_k_shell_coefficient()

void genbb::nuclear_transition::set_ic_k_shell_coefficient ( double  b_)

Set the IC coefficient of electron on K-shell.

◆ set_ic_l_shell_binding_energy()

void genbb::nuclear_transition::set_ic_l_shell_binding_energy ( double  b_)

Set the binding energy of electron on L-shell.

◆ set_ic_l_shell_coefficient()

void genbb::nuclear_transition::set_ic_l_shell_coefficient ( double  b_)

Set the IC coefficient of electron on L-shell.

◆ set_ic_m_shell_binding_energy()

void genbb::nuclear_transition::set_ic_m_shell_binding_energy ( double  b_)

Set the binding energy of electron on M-shell.

◆ set_ic_m_shell_coefficient()

void genbb::nuclear_transition::set_ic_m_shell_coefficient ( double  b_)

Set the IC coefficient of electron on M-shell.

◆ set_levels()

void genbb::nuclear_transition::set_levels ( const nuclear_level lstart_,
const nuclear_level lstop_ 
)
virtual

Set the transition parameter from the start and stop levels.

Reimplemented from genbb::base_decay_driver.

◆ set_pc_coefficient()

void genbb::nuclear_transition::set_pc_coefficient ( double  c_)

Set the pair conversion coefficient.

◆ set_Z()

void genbb::nuclear_transition::set_Z ( int  )

Set the Z of the excited nucleus.

◆ tree_dump()

virtual void genbb::nuclear_transition::tree_dump ( std::ostream &  out_ = std::clog,
const std::string &  title_ = "",
const std::string &  indent_ = "",
bool  inherit_ = false 
) const
virtual

Smart print.

Reimplemented from genbb::base_decay_driver.


The documentation for this class was generated from the following file: