Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
genvtx::i_vertex_generator Class Referenceabstract

The base interface class for all vertex generator classes. More...

#include <bayeux/genvtx/i_vertex_generator.h>

Inheritance diagram for genvtx::i_vertex_generator:
datatools::i_tree_dumpable genvtx::box_vg genvtx::combined_vg genvtx::cylinder_vg genvtx::from_file_vg genvtx::i_from_model_vg genvtx::placement_vg genvtx::polycone_vg genvtx::sphere_vg genvtx::spot_vertex_generator genvtx::tube_vg

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::rnggrab_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::managerget_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_infoget_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...
 

Detailed Description

The base interface class for all vertex generator classes.

Constructor & Destructor Documentation

◆ i_vertex_generator()

genvtx::i_vertex_generator::i_vertex_generator ( )

Constructor.

◆ ~i_vertex_generator()

virtual genvtx::i_vertex_generator::~i_vertex_generator ( )
virtual

Destructor.

Member Function Documentation

◆ _grab_total_weight()

weight_info& genvtx::i_vertex_generator::_grab_total_weight ( )
protected

Return a mutable total weight information.

◆ _grab_vertex_validation()

vertex_validation& genvtx::i_vertex_generator::_grab_vertex_validation ( )
protected

Return a reference to the embedded mutable vertex validation.

◆ _initialize()

void genvtx::i_vertex_generator::_initialize ( const datatools::properties setup_,
datatools::service_manager service_manager_ 
)
protected

Internal initialization.

◆ _initialize_basics()

void genvtx::i_vertex_generator::_initialize_basics ( const datatools::properties setup_,
datatools::service_manager service_manager_ 
)
protected

◆ _initialize_geo_manager()

void genvtx::i_vertex_generator::_initialize_geo_manager ( const datatools::properties setup_,
datatools::service_manager service_manager_ 
)
protected

◆ _initialize_vertex_validation()

void genvtx::i_vertex_generator::_initialize_vertex_validation ( const datatools::properties setup_,
datatools::service_manager service_manager_ 
)
protected

◆ _reset()

void genvtx::i_vertex_generator::_reset ( )
protected

Internal reset.

◆ _set_time_generator()

void genvtx::i_vertex_generator::_set_time_generator ( bool  )
protected

Set the time generator flag.

◆ _set_total_weight()

void genvtx::i_vertex_generator::_set_total_weight ( const weight_info a_info)
protected

Set a total weight information.

◆ _shoot_vertex()

virtual void genvtx::i_vertex_generator::_shoot_vertex ( mygsl::rng random_,
geomtools::vector_3d vertex_ 
)
protectedvirtual

Main vertex randomization interface method.

◆ _shoot_vertex_and_time()

virtual void genvtx::i_vertex_generator::_shoot_vertex_and_time ( mygsl::rng random_,
geomtools::vector_3d vertex_,
double &  time_ 
)
protectedvirtual

Main vertex randomization interface method (default: throw exception)

◆ check_geom_setup_requirement()

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.

◆ get_geo_label()

const std::string& genvtx::i_vertex_generator::get_geo_label ( ) const

Return the geometry service's label.

◆ get_geom_manager()

const geomtools::manager& genvtx::i_vertex_generator::get_geom_manager ( ) const

Get the geometry manager attached to the vertex generator.

◆ get_geom_setup_requirement()

std::string genvtx::i_vertex_generator::get_geom_setup_requirement ( ) const

Return has a geometry setup requirement.

◆ get_logging_priority()

datatools::logger::priority genvtx::i_vertex_generator::get_logging_priority ( ) const

Return the logging priority threshold.

◆ get_name()

const std::string& genvtx::i_vertex_generator::get_name ( ) const

Return the name.

◆ get_total_weight()

const weight_info& genvtx::i_vertex_generator::get_total_weight ( ) const

Get the weight info attached to the vertex generator.

◆ grab_prng()

mygsl::rng& genvtx::i_vertex_generator::grab_prng ( )

Return a mutable reference to the available PRNG.

◆ has_external_prng()

bool genvtx::i_vertex_generator::has_external_prng ( ) const

Check is an external PRNG is used.

◆ has_geo_label()

bool genvtx::i_vertex_generator::has_geo_label ( ) const

Check if the generator has a geometry service's label.

◆ has_geom_manager()

bool genvtx::i_vertex_generator::has_geom_manager ( ) const

Check if a geometry manager is attached to the vertex generator.

◆ has_geom_setup_requirement()

bool genvtx::i_vertex_generator::has_geom_setup_requirement ( ) const

Check if the generator has a geometry setup requirement.

◆ has_name()

bool genvtx::i_vertex_generator::has_name ( ) const

Check if a name is defined.

◆ has_next_vertex()

virtual bool genvtx::i_vertex_generator::has_next_vertex ( ) const
virtual

Check if another vertex is available.

Reimplemented in genvtx::placement_vg, and genvtx::from_file_vg.

◆ has_prng()

bool genvtx::i_vertex_generator::has_prng ( ) const

Check if a PRNG is available.

◆ has_total_weight()

bool genvtx::i_vertex_generator::has_total_weight ( ) const

Check if some weight info is attached to the vertex generator.

◆ has_vertex_validation()

bool genvtx::i_vertex_generator::has_vertex_validation ( ) const

Check vertex validation.

◆ initialize()

virtual void genvtx::i_vertex_generator::initialize ( const datatools::properties setup_,
datatools::service_manager service_manager_,
vg_dict_type dictionary_ 
)
pure virtual

Main initialization interface method.

◆ initialize_simple()

virtual void genvtx::i_vertex_generator::initialize_simple ( )
virtual

Simple initialization(no external resource)

◆ initialize_standalone()

virtual void genvtx::i_vertex_generator::initialize_standalone ( const datatools::properties setup_)
virtual

Initialization from a container of properties.

◆ initialize_with_dictionary_only()

virtual void genvtx::i_vertex_generator::initialize_with_dictionary_only ( const datatools::properties setup_,
vg_dict_type dictionary_ 
)
virtual

Initialization from a container of properties, a service manager and a dictionnary of vertex generators.

◆ initialize_with_service_only()

virtual void genvtx::i_vertex_generator::initialize_with_service_only ( const datatools::properties setup_,
datatools::service_manager service_manager_ 
)
virtual

Initialization from a container of properties and a service manager.

◆ is_debug()

bool genvtx::i_vertex_generator::is_debug ( ) const

Check the debug flag.

◆ is_initialized()

virtual bool genvtx::i_vertex_generator::is_initialized ( ) const
pure virtual

◆ is_time_generator()

bool genvtx::i_vertex_generator::is_time_generator ( ) const

Check if the generator also generates a random time associated to the vertex.

◆ is_vertex_validation_supported()

virtual bool genvtx::i_vertex_generator::is_vertex_validation_supported ( ) const
virtual

Check if vertex validation is supported.

◆ ocd_support()

static void genvtx::i_vertex_generator::ocd_support ( datatools::object_configuration_description ,
const std::string &  label_ = "" 
)
static

OCD support.

◆ reset()

virtual void genvtx::i_vertex_generator::reset ( )
pure virtual

◆ set_debug()

void genvtx::i_vertex_generator::set_debug ( bool  debug_)

Set the debug flag.

◆ set_external_prng()

void genvtx::i_vertex_generator::set_external_prng ( mygsl::rng prng_)

Set the reference to an external PRNG.

◆ set_geo_label()

void genvtx::i_vertex_generator::set_geo_label ( const std::string &  geo_label_)

Set the geometry service's label.

◆ set_geom_manager()

void genvtx::i_vertex_generator::set_geom_manager ( const geomtools::manager gmgr_)

Set a geometry manager.

◆ set_geom_setup_requirement()

void genvtx::i_vertex_generator::set_geom_setup_requirement ( const std::string &  geom_setup_requirement_)

Set has a geometry setup requirement.

◆ set_logging_priority()

void genvtx::i_vertex_generator::set_logging_priority ( datatools::logger::priority  )

Set the logging priority threshold.

◆ set_name()

void genvtx::i_vertex_generator::set_name ( const std::string &  )

Set the name.

◆ set_vertex_validation_support()

void genvtx::i_vertex_generator::set_vertex_validation_support ( bool  )

Set vertex validation support flag.

◆ shoot_vertex() [1/3]

void genvtx::i_vertex_generator::shoot_vertex ( mygsl::rng random_,
geomtools::vector_3d vertex_ 
)

Wrapper method for vertex randomization.

◆ shoot_vertex() [2/3]

void genvtx::i_vertex_generator::shoot_vertex ( geomtools::vector_3d vertex_)

Wrapper method for vertex randomization.

◆ shoot_vertex() [3/3]

geomtools::vector_3d genvtx::i_vertex_generator::shoot_vertex ( mygsl::rng random_)

Wrapper method for vertex randomization.

◆ shoot_vertex_and_time() [1/2]

void genvtx::i_vertex_generator::shoot_vertex_and_time ( mygsl::rng random_,
geomtools::vector_3d vertex_,
double &  time_ 
)

Wrapper method for vertex/time randomization.

◆ shoot_vertex_and_time() [2/2]

void genvtx::i_vertex_generator::shoot_vertex_and_time ( geomtools::vector_3d vertex_,
double &  time_ 
)

Wrapper method for vertex/time randomization.

◆ tree_dump()

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

Member Data Documentation

◆ _logging_priority

datatools::logger::priority genvtx::i_vertex_generator::_logging_priority
protected

Logging priority threshold.


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