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

A vertex generator based on the geometry of a 3D box. More...

#include <bayeux/genvtx/box_vg.h>

Inheritance diagram for genvtx::box_vg:
genvtx::i_vertex_generator datatools::i_tree_dumpable

Public Member Functions

int get_mode () const
 Return mode. More...
 
void set_mode (int mode_)
 Set mode. More...
 
void set_surface_mask (int surface_mask_)
 Set the surface mask. More...
 
void set_skin_skip (double skin_skip_)
 Set the skin skip distance. More...
 
void set_skin_thickness (double skin_thickness_)
 Set the skin thickness. More...
 
void set_bulk (double skin_thickness_)
 Set bulk mode. More...
 
void set_surface (int surface_mask_)
 Set surface mode. More...
 
void set_box (const geomtools::box &box_)
 Set the embedded cylinder. More...
 
const geomtools::boxget_box () const
 Return a const referece to the embedded cylinder. More...
 
bool has_box_ref () const
 Check if a referenced cylinder is available. More...
 
void set_box_ref (const geomtools::box &box_)
 Set the reference to an external cylinder. More...
 
const geomtools::boxget_box_ref () const
 Return a const reference to the referenced external cylinder. More...
 
bool has_box_safe () const
 Check if a safe referenced cylinder is available. More...
 
const geomtools::boxget_box_safe () const
 Return a safe const reference to the cylinder. More...
 
bool has_logical () const
 Check if a referenced logical is available. More...
 
void set_logical (const geomtools::logical_volume &)
 Set the reference to an external logical. More...
 
void reset_logical ()
 Reset the reference to an external logical. More...
 
void tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
 Smart print. More...
 
 box_vg ()
 Constructor. More...
 
virtual ~box_vg ()
 Destructor. More...
 
virtual void initialize (const ::datatools::properties &, ::datatools::service_manager &, ::genvtx::vg_dict_type &)
 Initialization. More...
 
virtual void reset ()
 Reset. More...
 
virtual bool is_initialized () const
 Check initialization status. More...
 
- Public Member Functions inherited from genvtx::i_vertex_generator
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 void initialize (const datatools::properties &setup_, datatools::service_manager &service_manager_, vg_dict_type &dictionary_)=0
 Main initialization interface method. 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 Attributes

static const int MODE_INVALID = -1
 
static const int MODE_BULK = 0
 
static const int MODE_SURFACE = 1
 
static const int MODE_DEFAULT = MODE_BULK
 

Protected Member Functions

virtual void _shoot_vertex (::mygsl::rng &random_, ::geomtools::vector_3d &vertex_)
 Randomize vertex. More...
 
- Protected Member Functions inherited from genvtx::i_vertex_generator
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...
 

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...
 
- Static Public Member Functions inherited from genvtx::i_vertex_generator
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 Attributes inherited from genvtx::i_vertex_generator
datatools::logger::priority _logging_priority
 Logging priority threshold. More...
 

Detailed Description

A vertex generator based on the geometry of a 3D box.

Constructor & Destructor Documentation

◆ box_vg()

genvtx::box_vg::box_vg ( )

Constructor.

◆ ~box_vg()

virtual genvtx::box_vg::~box_vg ( )
virtual

Destructor.

Member Function Documentation

◆ _shoot_vertex()

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

Randomize vertex.

◆ get_box()

const geomtools::box& genvtx::box_vg::get_box ( ) const

Return a const referece to the embedded cylinder.

◆ get_box_ref()

const geomtools::box& genvtx::box_vg::get_box_ref ( ) const

Return a const reference to the referenced external cylinder.

◆ get_box_safe()

const geomtools::box& genvtx::box_vg::get_box_safe ( ) const

Return a safe const reference to the cylinder.

◆ get_mode()

int genvtx::box_vg::get_mode ( ) const

Return mode.

◆ has_box_ref()

bool genvtx::box_vg::has_box_ref ( ) const

Check if a referenced cylinder is available.

◆ has_box_safe()

bool genvtx::box_vg::has_box_safe ( ) const

Check if a safe referenced cylinder is available.

◆ has_logical()

bool genvtx::box_vg::has_logical ( ) const

Check if a referenced logical is available.

◆ initialize()

virtual void genvtx::box_vg::initialize ( const ::datatools::properties ,
::datatools::service_manager ,
::genvtx::vg_dict_type  
)
virtual

Initialization.

◆ is_initialized()

virtual bool genvtx::box_vg::is_initialized ( ) const
virtual

Check initialization status.

Implements genvtx::i_vertex_generator.

◆ reset()

virtual void genvtx::box_vg::reset ( )
virtual

Reset.

Implements genvtx::i_vertex_generator.

◆ reset_logical()

void genvtx::box_vg::reset_logical ( )

Reset the reference to an external logical.

◆ set_box()

void genvtx::box_vg::set_box ( const geomtools::box box_)

Set the embedded cylinder.

◆ set_box_ref()

void genvtx::box_vg::set_box_ref ( const geomtools::box box_)

Set the reference to an external cylinder.

◆ set_bulk()

void genvtx::box_vg::set_bulk ( double  skin_thickness_)

Set bulk mode.

◆ set_logical()

void genvtx::box_vg::set_logical ( const geomtools::logical_volume )

Set the reference to an external logical.

◆ set_mode()

void genvtx::box_vg::set_mode ( int  mode_)

Set mode.

◆ set_skin_skip()

void genvtx::box_vg::set_skin_skip ( double  skin_skip_)

Set the skin skip distance.

◆ set_skin_thickness()

void genvtx::box_vg::set_skin_thickness ( double  skin_thickness_)

Set the skin thickness.

◆ set_surface()

void genvtx::box_vg::set_surface ( int  surface_mask_)

Set surface mode.

◆ set_surface_mask()

void genvtx::box_vg::set_surface_mask ( int  surface_mask_)

Set the surface mask.

◆ tree_dump()

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

Smart print.

Reimplemented from genvtx::i_vertex_generator.

Member Data Documentation

◆ MODE_BULK

const int genvtx::box_vg::MODE_BULK = 0
static

◆ MODE_DEFAULT

const int genvtx::box_vg::MODE_DEFAULT = MODE_BULK
static

◆ MODE_INVALID

const int genvtx::box_vg::MODE_INVALID = -1
static

◆ MODE_SURFACE

const int genvtx::box_vg::MODE_SURFACE = 1
static

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