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

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

#include <bayeux/genvtx/polycone_vg.h>

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

Public Types

enum  bulk_bits { BULK_NONE = 0, BULK_BODY = datatools::bit_mask::bit00, BULK_CAVITY = datatools::bit_mask::bit01, BULK_ALL = (BULK_BODY | BULK_CAVITY) }
 
- 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

int get_mode () const
 
void set_mode (int mode_)
 
void set_surface_mask (int surface_mask_)
 
void set_bulk_mask (int bulk_mask_)
 
void set_angles (double theta_min_, double theta_max_)
 
void set_skin_skip (double skin_skip_)
 
void set_skin_thickness (double skin_thickness_)
 
void set_bulk (int bulk_mask_, double skin_thickness_)
 
void set_surface (int surface_mask_)
 
void set_active_frustrum (size_t index_, bool active_)
 
void set_active_all_frustrum ()
 
void set_polycone (const geomtools::polycone &polycone_)
 
const geomtools::polyconeget_polycone () const
 
void tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
 Smart print. More...
 
 polycone_vg ()
 Constructor. More...
 
virtual ~polycone_vg ()
 Destructor. More...
 
virtual bool is_initialized () const
 Check initialization status. More...
 
virtual void initialize (const ::datatools::properties &, ::datatools::service_manager &, ::genvtx::vg_dict_type &)
 Initialization. More...
 
virtual void reset ()
 Reset. 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

- 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 polycone.

Member Enumeration Documentation

◆ bulk_bits

Enumerator
BULK_NONE 
BULK_BODY 
BULK_CAVITY 
BULK_ALL 

Constructor & Destructor Documentation

◆ polycone_vg()

genvtx::polycone_vg::polycone_vg ( )

Constructor.

◆ ~polycone_vg()

virtual genvtx::polycone_vg::~polycone_vg ( )
virtual

Destructor.

Member Function Documentation

◆ _shoot_vertex()

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

Randomize vertex.

◆ get_mode()

int genvtx::polycone_vg::get_mode ( ) const

◆ get_polycone()

const geomtools::polycone& genvtx::polycone_vg::get_polycone ( ) const

◆ initialize()

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

Initialization.

◆ is_initialized()

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

Check initialization status.

Implements genvtx::i_vertex_generator.

◆ reset()

virtual void genvtx::polycone_vg::reset ( )
virtual

Reset.

Implements genvtx::i_vertex_generator.

◆ set_active_all_frustrum()

void genvtx::polycone_vg::set_active_all_frustrum ( )

◆ set_active_frustrum()

void genvtx::polycone_vg::set_active_frustrum ( size_t  index_,
bool  active_ 
)

◆ set_angles()

void genvtx::polycone_vg::set_angles ( double  theta_min_,
double  theta_max_ 
)

◆ set_bulk()

void genvtx::polycone_vg::set_bulk ( int  bulk_mask_,
double  skin_thickness_ 
)

◆ set_bulk_mask()

void genvtx::polycone_vg::set_bulk_mask ( int  bulk_mask_)

◆ set_mode()

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

◆ set_polycone()

void genvtx::polycone_vg::set_polycone ( const geomtools::polycone polycone_)

◆ set_skin_skip()

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

◆ set_skin_thickness()

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

◆ set_surface()

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

◆ set_surface_mask()

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

◆ tree_dump()

void genvtx::polycone_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::polycone_vg::MODE_BULK = 0
static

◆ MODE_DEFAULT

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

◆ MODE_INVALID

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

◆ MODE_SURFACE

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

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