29 #ifndef GENBB_HELP_I_GENBB_H 30 #define GENBB_HELP_I_GENBB_H 1 44 class service_manager;
45 class object_configuration_description;
67 const std::string &
get_name()
const;
83 bool compute_classification_ =
true);
126 virtual void reset() = 0;
147 virtual void tree_dump(std::ostream& out = std::clog,
148 const std::string& title =
"",
149 const std::string& indent =
"",
150 bool inherit =
false)
const;
159 bool compute_classification_) = 0;
172 bool _assign_generation_ids_;
183 #endif // GENBB_HELP_I_GENBB_H void _initialize_base(const datatools::properties &setup_)
Base initialization.
void set_assign_generation_ids(bool)
Set the flag to assign unique generation Ids to primary particles.
void set_logging_priority(datatools::logger::priority p)
Set the logging priority threshold.
virtual bool can_external_random() const
Check if the generator accepts an external PRNG.
bool is_debug() const
Check the debug logging.
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 generato...
bool has_name() const
Check for a non-empty name.
void reset_name()
Reset the name of the event generator.
GENBB particle generator abstract base class.
Definition: i_genbb.h:59
const std::string & get_name() const
Return the name of the event generator.
virtual void _load_next(primary_event &event_, bool compute_classification_)=0
Protected abstract interface to be invoked by the public 'load_next' method.
datatools::logger::priority get_logging_priority() const
Return the logging priority threshold.
bool is_assign_generation_ids() const
Check the flag to assign unique generation Ids to primary particles.
void set_name(const std::string &)
Set the name of the event generator.
virtual void load_next(primary_event &event_, bool compute_classification_=true)
Load a new 'primary_event' object.
virtual bool is_initialized() const =0
Check initialization status.
static void base_initialize_ocd(datatools::object_configuration_description &)
OCD interface.
virtual void reset()=0
Reset method.
virtual void set_external_random(mygsl::rng &)
Set an external PRNG.
virtual bool has_next()=0
Returns true if the generator can provide one more generated event.
virtual void initialize_simple()
Simple initialization (no external resource)
virtual void initialize(const datatools::properties &setup_, datatools::service_manager &service_manager_, detail::pg_dict_type &dictionary_)=0
Main initialization interface method.
mygsl::rng & grab_external_random()
Return a mutable reference to the external PRNG.
Top-level namespace of the Bayeux/genbb_help module library.
Definition: alpha_decay.h:51
virtual bool has_external_random() const
Check if the generator uses an external PRNG.
datatools::logger::priority _logging_priority
Definition: i_genbb.h:166
Top-level namespace of the Bayeux/mygsl module library.
Definition: base_decay_driver.h:47
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.
A primary event from a Monte-Carlo generator.
Definition: primary_event.h:60
Utilities for logging information.
virtual void initialize_standalone(const datatools::properties &setup_)
Initialization from a container of properties.
virtual ~i_genbb()
Destructor.
const mygsl::rng & get_external_random() const
Return a non-mutable reference to the external PRNG.
virtual void tree_dump(std::ostream &out=std::clog, const std::string &title="", const std::string &indent="", bool inherit=false) const
Smart print.
#define DATATOOLS_FACTORY_SYSTEM_REGISTER_INTERFACE(BaseType)
Declaration of a system (allocator/functor) factory register as a static member of a base class and s...
Definition: factory_macros.h:52
std::map< std::string, pg_entry_type > pg_dict_type
Definition: pg_tools.h:134
virtual void reset_external_random()
Reset an external PRNG.
Pseudo random number generator.
Definition: rng.h:53