Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
The base interface class for all vertex generator classes. More...
#include <bayeux/genvtx/i_vertex_generator.h>
Public Member Functions | |
bool | is_debug () const |
Check the debug flag. More... | |
void | set_debug (bool debug_) |
Set the debug flag. More... | |
bool | has_name () const |
Check if a name is defined. More... | |
const std::string & | get_name () const |
Return the name. More... | |
void | set_name (const std::string &) |
Set the name. More... | |
bool | has_geo_label () const |
Check if the generator has a geometry service's label. More... | |
void | set_geo_label (const std::string &geo_label_) |
Set the geometry service's label. More... | |
const std::string & | get_geo_label () const |
Return the geometry service's label. More... | |
bool | has_geom_setup_requirement () const |
Check if the generator has a geometry setup requirement. More... | |
void | set_geom_setup_requirement (const std::string &geom_setup_requirement_) |
Set has a geometry setup requirement. More... | |
std::string | get_geom_setup_requirement () const |
Return has a geometry setup requirement. More... | |
void | check_geom_setup_requirement (const geomtools::manager *gmgr_) const |
Check the geometry setup requirement with respect to a geometry manager. More... | |
bool | has_external_prng () const |
Check is an external PRNG is used. More... | |
void | set_vertex_validation_support (bool) |
Set vertex validation support flag. More... | |
virtual bool | is_vertex_validation_supported () const |
Check if vertex validation is supported. More... | |
bool | has_vertex_validation () const |
Check vertex validation. More... | |
void | set_external_prng (mygsl::rng &prng_) |
Set the reference to an external PRNG. More... | |
bool | has_prng () const |
Check if a PRNG is available. More... | |
mygsl::rng & | grab_prng () |
Return a mutable reference to the available PRNG. More... | |
bool | has_geom_manager () const |
Check if a geometry manager is attached to the vertex generator. More... | |
void | set_geom_manager (const geomtools::manager &gmgr_) |
Set a geometry manager. More... | |
const geomtools::manager & | get_geom_manager () const |
Get the geometry manager attached to the vertex generator. More... | |
bool | has_total_weight () const |
Check if some weight info is attached to the vertex generator. More... | |
const weight_info & | get_total_weight () const |
Get the weight info attached to the vertex generator. More... | |
bool | is_time_generator () const |
Check if the generator also generates a random time associated to the vertex. More... | |
virtual bool | has_next_vertex () const |
Check if another vertex is available. More... | |
void | shoot_vertex (mygsl::rng &random_, geomtools::vector_3d &vertex_) |
Wrapper method for vertex randomization. More... | |
void | shoot_vertex (geomtools::vector_3d &vertex_) |
Wrapper method for vertex randomization. More... | |
geomtools::vector_3d | shoot_vertex (mygsl::rng &random_) |
Wrapper method for vertex randomization. More... | |
void | shoot_vertex_and_time (mygsl::rng &random_, geomtools::vector_3d &vertex_, double &time_) |
Wrapper method for vertex/time randomization. More... | |
void | shoot_vertex_and_time (geomtools::vector_3d &vertex_, double &time_) |
Wrapper method for vertex/time randomization. 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_, vg_dict_type &dictionary_) |
Initialization from a container of properties, a service manager and a dictionnary of vertex generators. More... | |
i_vertex_generator () | |
Constructor. More... | |
virtual | ~i_vertex_generator () |
Destructor. More... | |
virtual bool | is_initialized () const =0 |
Check initialization status. More... | |
virtual void | initialize (const datatools::properties &setup_, datatools::service_manager &service_manager_, vg_dict_type &dictionary_)=0 |
Main initialization interface method. More... | |
virtual void | reset ()=0 |
Reset method. 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... | |
datatools::logger::priority | get_logging_priority () const |
Return the logging priority threshold. More... | |
void | set_logging_priority (datatools::logger::priority) |
Set the logging priority threshold. 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 |
Static Public Member Functions | |
static void | ocd_support (datatools::object_configuration_description &, const std::string &label_="") |
OCD support. 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 Member Functions | |
void | _set_time_generator (bool) |
Set the time generator flag. More... | |
void | _initialize (const datatools::properties &setup_, datatools::service_manager &service_manager_) |
Internal initialization. More... | |
void | _reset () |
Internal reset. More... | |
weight_info & | _grab_total_weight () |
Return a mutable total weight information. More... | |
void | _set_total_weight (const weight_info &a_info) |
Set a total weight information. More... | |
void | _initialize_basics (const datatools::properties &setup_, datatools::service_manager &service_manager_) |
void | _initialize_geo_manager (const datatools::properties &setup_, datatools::service_manager &service_manager_) |
void | _initialize_vertex_validation (const datatools::properties &setup_, datatools::service_manager &service_manager_) |
vertex_validation & | _grab_vertex_validation () |
Return a reference to the embedded mutable vertex validation. More... | |
virtual void | _shoot_vertex (mygsl::rng &random_, geomtools::vector_3d &vertex_) |
Main vertex randomization interface method. More... | |
virtual void | _shoot_vertex_and_time (mygsl::rng &random_, geomtools::vector_3d &vertex_, double &time_) |
Main vertex randomization interface method (default: throw exception) More... | |
Protected Attributes | |
datatools::logger::priority | _logging_priority |
Logging priority threshold. More... | |
Additional Inherited Members | |
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... | |
The base interface class for all vertex generator classes.
genvtx::i_vertex_generator::i_vertex_generator | ( | ) |
Constructor.
|
virtual |
Destructor.
|
protected |
Return a mutable total weight information.
|
protected |
Return a reference to the embedded mutable vertex validation.
|
protected |
Internal initialization.
|
protected |
|
protected |
|
protected |
|
protected |
Internal reset.
|
protected |
Set the time generator flag.
|
protected |
Set a total weight information.
|
protectedvirtual |
Main vertex randomization interface method.
|
protectedvirtual |
Main vertex randomization interface method (default: throw exception)
void genvtx::i_vertex_generator::check_geom_setup_requirement | ( | const geomtools::manager * | gmgr_ | ) | const |
Check the geometry setup requirement with respect to a geometry manager.
const std::string& genvtx::i_vertex_generator::get_geo_label | ( | ) | const |
Return the geometry service's label.
const geomtools::manager& genvtx::i_vertex_generator::get_geom_manager | ( | ) | const |
Get the geometry manager attached to the vertex generator.
std::string genvtx::i_vertex_generator::get_geom_setup_requirement | ( | ) | const |
Return has a geometry setup requirement.
datatools::logger::priority genvtx::i_vertex_generator::get_logging_priority | ( | ) | const |
Return the logging priority threshold.
const std::string& genvtx::i_vertex_generator::get_name | ( | ) | const |
Return the name.
const weight_info& genvtx::i_vertex_generator::get_total_weight | ( | ) | const |
Get the weight info attached to the vertex generator.
mygsl::rng& genvtx::i_vertex_generator::grab_prng | ( | ) |
Return a mutable reference to the available PRNG.
bool genvtx::i_vertex_generator::has_external_prng | ( | ) | const |
Check is an external PRNG is used.
bool genvtx::i_vertex_generator::has_geo_label | ( | ) | const |
Check if the generator has a geometry service's label.
bool genvtx::i_vertex_generator::has_geom_manager | ( | ) | const |
Check if a geometry manager is attached to the vertex generator.
bool genvtx::i_vertex_generator::has_geom_setup_requirement | ( | ) | const |
Check if the generator has a geometry setup requirement.
bool genvtx::i_vertex_generator::has_name | ( | ) | const |
Check if a name is defined.
|
virtual |
Check if another vertex is available.
Reimplemented in genvtx::placement_vg, and genvtx::from_file_vg.
bool genvtx::i_vertex_generator::has_prng | ( | ) | const |
Check if a PRNG is available.
bool genvtx::i_vertex_generator::has_total_weight | ( | ) | const |
Check if some weight info is attached to the vertex generator.
bool genvtx::i_vertex_generator::has_vertex_validation | ( | ) | const |
Check vertex validation.
|
pure virtual |
Main initialization interface method.
|
virtual |
Simple initialization(no external resource)
|
virtual |
Initialization from a container of properties.
|
virtual |
Initialization from a container of properties, a service manager and a dictionnary of vertex generators.
|
virtual |
Initialization from a container of properties and a service manager.
bool genvtx::i_vertex_generator::is_debug | ( | ) | const |
Check the debug flag.
|
pure virtual |
Check initialization status.
Implemented in genvtx::box_model_vg, genvtx::cylinder_vg, genvtx::box_vg, genvtx::tube_vg, genvtx::sphere_vg, genvtx::sphere_model_vg, genvtx::polycone_model_vg, genvtx::polycone_vg, genvtx::tube_model_vg, genvtx::cylinder_model_vg, genvtx::combined_vg, genvtx::placement_vg, genvtx::from_file_vg, and genvtx::spot_vertex_generator.
bool genvtx::i_vertex_generator::is_time_generator | ( | ) | const |
Check if the generator also generates a random time associated to the vertex.
|
virtual |
Check if vertex validation is supported.
|
static |
OCD support.
|
pure virtual |
Reset method.
Implemented in genvtx::box_model_vg, genvtx::cylinder_vg, genvtx::box_vg, genvtx::tube_vg, genvtx::polycone_vg, genvtx::sphere_vg, genvtx::sphere_model_vg, genvtx::polycone_model_vg, genvtx::tube_model_vg, genvtx::cylinder_model_vg, genvtx::combined_vg, genvtx::placement_vg, genvtx::from_file_vg, and genvtx::spot_vertex_generator.
void genvtx::i_vertex_generator::set_debug | ( | bool | debug_ | ) |
Set the debug flag.
void genvtx::i_vertex_generator::set_external_prng | ( | mygsl::rng & | prng_ | ) |
Set the reference to an external PRNG.
void genvtx::i_vertex_generator::set_geo_label | ( | const std::string & | geo_label_ | ) |
Set the geometry service's label.
void genvtx::i_vertex_generator::set_geom_manager | ( | const geomtools::manager & | gmgr_ | ) |
Set a geometry manager.
void genvtx::i_vertex_generator::set_geom_setup_requirement | ( | const std::string & | geom_setup_requirement_ | ) |
Set has a geometry setup requirement.
void genvtx::i_vertex_generator::set_logging_priority | ( | datatools::logger::priority | ) |
Set the logging priority threshold.
void genvtx::i_vertex_generator::set_name | ( | const std::string & | ) |
Set the name.
void genvtx::i_vertex_generator::set_vertex_validation_support | ( | bool | ) |
Set vertex validation support flag.
void genvtx::i_vertex_generator::shoot_vertex | ( | mygsl::rng & | random_, |
geomtools::vector_3d & | vertex_ | ||
) |
Wrapper method for vertex randomization.
void genvtx::i_vertex_generator::shoot_vertex | ( | geomtools::vector_3d & | vertex_ | ) |
Wrapper method for vertex randomization.
geomtools::vector_3d genvtx::i_vertex_generator::shoot_vertex | ( | mygsl::rng & | random_ | ) |
Wrapper method for vertex randomization.
void genvtx::i_vertex_generator::shoot_vertex_and_time | ( | mygsl::rng & | random_, |
geomtools::vector_3d & | vertex_, | ||
double & | time_ | ||
) |
Wrapper method for vertex/time randomization.
void genvtx::i_vertex_generator::shoot_vertex_and_time | ( | geomtools::vector_3d & | vertex_, |
double & | time_ | ||
) |
Wrapper method for vertex/time randomization.
|
virtual |
Smart print.
Reimplemented from datatools::i_tree_dumpable.
Reimplemented in genvtx::box_model_vg, genvtx::cylinder_vg, genvtx::box_vg, genvtx::tube_vg, genvtx::sphere_vg, genvtx::polycone_vg, genvtx::sphere_model_vg, genvtx::i_from_model_vg, genvtx::polycone_model_vg, genvtx::tube_model_vg, genvtx::cylinder_model_vg, and genvtx::combined_vg.
|
protected |
Logging priority threshold.