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

Time slicer generator. More...

#include <bayeux/genbb_help/time_slicer_generator.h>

Inheritance diagram for genbb::time_slicer_generator:
genbb::i_genbb datatools::i_tree_dumpable

Public Types

enum  slice_mode_type { SM_UNDEF = 0, SM_PROMPT_EVENT_ONLY = 1, SM_DELAYED_EVENT_ONLY = 2, SM_BOTH_EVENTS = 3 }
 Event slice 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

bool has_mode () const
 
void set_mode (const slice_mode_type)
 
slice_mode_type get_mode () const
 
bool has_generator () const
 
void set_generator (i_genbb &)
 
i_genbbgrab_generator ()
 
const i_genbbget_generator () const
 
bool has_time_threshold () const
 
double get_time_threshold () const
 
void set_time_threshold (const double t_)
 
bool has_time_cut () const
 
double get_time_cut () const
 
void set_time_cut (const double t_)
 
void set_record_original_event_id (bool flag_)
 
bool is_record_original_event_id () const
 
virtual bool can_external_random () const
 Check if the generator accepts an external PRNG. More...
 
 time_slicer_generator ()
 Constructor. More...
 
virtual ~time_slicer_generator ()
 Destructor. More...
 
virtual bool is_initialized () const
 Check initialization status. More...
 
virtual void initialize (const datatools::properties &setup_, datatools::service_manager &service_manager_, detail::pg_dict_type &dictionary_)
 Main initialization interface method. More...
 
virtual void reset ()
 Reset. More...
 
virtual bool has_next ()
 Check if a next primary event is available. More...
 
- Public Member Functions inherited from genbb::i_genbb
bool has_name () const
 Check for a non-empty name. More...
 
const std::string & get_name () const
 Return the name of the event generator. More...
 
void set_name (const std::string &)
 Set the name of the event generator. More...
 
void reset_name ()
 Reset the name of the event generator. More...
 
 i_genbb ()
 Constructor. More...
 
virtual ~i_genbb ()
 Destructor. More...
 
virtual void load_next (primary_event &event_, bool compute_classification_=true)
 Load a new 'primary_event' object. More...
 
virtual bool has_external_random () const
 Check if the generator uses an external PRNG. More...
 
virtual void set_external_random (mygsl::rng &)
 Set an external PRNG. More...
 
virtual void reset_external_random ()
 Reset an external PRNG. More...
 
mygsl::rnggrab_external_random ()
 Return a mutable reference to the external PRNG. More...
 
const mygsl::rngget_external_random () const
 Return a non-mutable reference to the external PRNG. More...
 
virtual void initialize_simple ()
 Simple initialization (no external resource) More...
 
virtual void initialize_standalone (const datatools::properties &setup_)
 Initialization from a container of properties. More...
 
virtual void initialize_with_service_only (const datatools::properties &setup_, datatools::service_manager &service_manager_)
 Initialization from a container of properties and a service manager. More...
 
virtual void initialize_with_dictionary_only (const datatools::properties &setup_, detail::pg_dict_type &dictionary_)
 Initialization from a container of properties, a service manager and a dictionnary of vertex generators. More...
 
datatools::logger::priority get_logging_priority () const
 Return the logging priority threshold. More...
 
void set_logging_priority (datatools::logger::priority p)
 Set the logging priority threshold. More...
 
bool is_debug () const
 Check the debug logging. More...
 
void set_assign_generation_ids (bool)
 Set the flag to assign unique generation Ids to primary particles. More...
 
bool is_assign_generation_ids () const
 Check the flag to assign unique generation Ids to primary particles. 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...
 
- 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

virtual void _load_next (primary_event &event_, bool compute_classification_=true)
 Main generation function. More...
 
- Protected Member Functions inherited from genbb::i_genbb
void _initialize_base (const datatools::properties &setup_)
 Base initialization. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from genbb::i_genbb
static void base_initialize_ocd (datatools::object_configuration_description &)
 OCD interface. More...
 
- 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_)
 
- Protected Attributes inherited from genbb::i_genbb
datatools::logger::priority _logging_priority
 

Detailed Description

Time slicer generator.

This generator uses the output primary event from another particle generator and classifies its primary particles in two sets of particles falling in subsequent time slices.

primary event with many particles along time
----[o--o-oo---o--o---------o-o----o-----------o-o--o--------o]----------------------> time

The result consists in several primary event instances:

prompt particles delayed particles ignored particles
----[o--o-oo---o--o---][----o-o----o------][---o-o--o--------o]----------------------> time
time_threshold time_cut

Member Enumeration Documentation

◆ slice_mode_type

Event slice mode.

Enumerator
SM_UNDEF 

Undefined event time slice mode.

SM_PROMPT_EVENT_ONLY 

Select only the prompt event (particles in the prompt time interval)

SM_DELAYED_EVENT_ONLY 

Select only the delayed event (particles in the delayed time interval)

SM_BOTH_EVENTS 

Select both prompt and delayed events (particles in both time intervals)

Constructor & Destructor Documentation

◆ time_slicer_generator()

genbb::time_slicer_generator::time_slicer_generator ( )

Constructor.

◆ ~time_slicer_generator()

virtual genbb::time_slicer_generator::~time_slicer_generator ( )
virtual

Destructor.

Member Function Documentation

◆ _load_next()

virtual void genbb::time_slicer_generator::_load_next ( primary_event event_,
bool  compute_classification_ = true 
)
protectedvirtual

Main generation function.

Implements genbb::i_genbb.

◆ can_external_random()

virtual bool genbb::time_slicer_generator::can_external_random ( ) const
virtual

Check if the generator accepts an external PRNG.

Reimplemented from genbb::i_genbb.

◆ get_generator()

const i_genbb& genbb::time_slicer_generator::get_generator ( ) const

◆ get_mode()

slice_mode_type genbb::time_slicer_generator::get_mode ( ) const

◆ get_time_cut()

double genbb::time_slicer_generator::get_time_cut ( ) const

◆ get_time_threshold()

double genbb::time_slicer_generator::get_time_threshold ( ) const

◆ grab_generator()

i_genbb& genbb::time_slicer_generator::grab_generator ( )

◆ has_generator()

bool genbb::time_slicer_generator::has_generator ( ) const

◆ has_mode()

bool genbb::time_slicer_generator::has_mode ( ) const

◆ has_next()

virtual bool genbb::time_slicer_generator::has_next ( )
virtual

Check if a next primary event is available.

Implements genbb::i_genbb.

◆ has_time_cut()

bool genbb::time_slicer_generator::has_time_cut ( ) const

◆ has_time_threshold()

bool genbb::time_slicer_generator::has_time_threshold ( ) const

◆ initialize()

virtual void genbb::time_slicer_generator::initialize ( const datatools::properties setup_,
datatools::service_manager service_manager_,
detail::pg_dict_type dictionary_ 
)
virtual

Main initialization interface method.

Implements genbb::i_genbb.

◆ is_initialized()

virtual bool genbb::time_slicer_generator::is_initialized ( ) const
virtual

Check initialization status.

Implements genbb::i_genbb.

◆ is_record_original_event_id()

bool genbb::time_slicer_generator::is_record_original_event_id ( ) const

◆ reset()

virtual void genbb::time_slicer_generator::reset ( )
virtual

Reset.

Implements genbb::i_genbb.

◆ set_generator()

void genbb::time_slicer_generator::set_generator ( i_genbb )

◆ set_mode()

void genbb::time_slicer_generator::set_mode ( const  slice_mode_type)

◆ set_record_original_event_id()

void genbb::time_slicer_generator::set_record_original_event_id ( bool  flag_)

◆ set_time_cut()

void genbb::time_slicer_generator::set_time_cut ( const double  t_)

◆ set_time_threshold()

void genbb::time_slicer_generator::set_time_threshold ( const double  t_)

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