Bayeux  3.4.1
Core Foundation library for SuperNEMO
Namespaces | Classes | Typedefs | Functions
genvtx Namespace Reference

Top-level namespace of the Bayeux/genvtx module library. More...

Namespaces

 detail
 Nested private namespace of the Bayeux/genvtx module library (detail)
 

Classes

class  box_model_vg
 A vertex generator based on a boxed geometry model. More...
 
class  box_vg
 A vertex generator based on the geometry of a 3D box. More...
 
class  combined_vg
 A vertex generator that combined several vertex generators wuth specific weighting rules. More...
 
class  cylinder_model_vg
 A vertex generator based on a cylindric geometry model. More...
 
class  cylinder_vg
 A vertex generator based on the geometry of a 3D cylinder. More...
 
class  from_file_vg
 Generate vertex from a file storing precomputed vertexes. More...
 
class  genvtx_driver
 The genvtx driver. More...
 
struct  genvtx_driver_params
 Genvtx driver configuration parameters. More...
 
class  i_from_model_vg
 An abstract vertex generator based on a geometry model. More...
 
class  i_vertex_generator
 The base interface class for all vertex generator classes. More...
 
class  in_materials_vertex_validator
 The vertex validation. More...
 
class  manager
 Vertex generator manager. More...
 
class  not_in_daughters_vertex_validator
 Vertex validator that select only vertex shoot from a given volume but not in its daughter volumes. More...
 
struct  origin_definition
 
class  placement_vg
 A vertex generator that changes the placement (translation/rotation) of another vertex generator. More...
 
class  polycone_model_vg
 A vertex generator based on a polycone geometry model. More...
 
class  polycone_vg
 A vertex generator based on the geometry of a 3D polycone. More...
 
struct  right_circular_conical_frustrum
 
class  sphere_model_vg
 A vertex generator based on a spherical geometry model. More...
 
class  sphere_vg
 Vertex generator from a sphere. More...
 
class  spot_vertex_generator
 Vertex generator from a single point. More...
 
class  tube_model_vg
 A vertex generator based on a tube geometry model. More...
 
class  tube_vg
 A vertex generator based on the geometry of a 3D tube. More...
 
struct  utils
 Utilities for vertex generators. More...
 
struct  version
 Describe the genvtx API version and features. More...
 
class  vertex_validation
 The vertex validation. More...
 
class  vg_entry_type
 
class  vg_tools
 
struct  weight_entry_type
 Weight data for combined vertex generators. More...
 
struct  weight_info
 Information about the weighting of combined vertex generators. More...
 

Typedefs

typedef datatools::handle< i_vertex_generatorvg_handle_type
 
typedef std::map< std::string, vg_entry_typevg_dict_type
 
typedef from_file_vg from_file_vertex_generator
 

Functions

geomtools::vector_3d quadrangle_random_surface (const geomtools::vector_3d &vtx0_, const geomtools::vector_3d &vtx1_, const geomtools::vector_3d &vtx2_, const geomtools::vector_3d &vtx3_, mygsl::rng &random_, double &area012_, double &area230_)
 
geomtools::vector_3d ring_random_surface (mygsl::rng &random_, double outer_radius_, double inner_radius_=0.0, double thickness_=0.0, double theta1_=0.0, double theta2_=M_PI)
 
void randomize_sphere (mygsl::rng &random_, double r1_, double r2_, double theta1_, double theta2_, double phi1_, double phi2_, geomtools::vector_3d &vertex_)
 
geomtools::vector_3d triangle_random_surface (const geomtools::vector_3d &vtx0_, const geomtools::vector_3d &vtx1_, const geomtools::vector_3d &vtx2_, mygsl::rng &random_)
 

Detailed Description

Top-level namespace of the Bayeux/genvtx module library.

Typedef Documentation

◆ from_file_vertex_generator

◆ vg_dict_type

typedef std::map<std::string, vg_entry_type> genvtx::vg_dict_type

◆ vg_handle_type

Function Documentation

◆ quadrangle_random_surface()

geomtools::vector_3d genvtx::quadrangle_random_surface ( const geomtools::vector_3d vtx0_,
const geomtools::vector_3d vtx1_,
const geomtools::vector_3d vtx2_,
const geomtools::vector_3d vtx3_,
mygsl::rng random_,
double &  area012_,
double &  area230_ 
)

◆ randomize_sphere()

void genvtx::randomize_sphere ( mygsl::rng random_,
double  r1_,
double  r2_,
double  theta1_,
double  theta2_,
double  phi1_,
double  phi2_,
geomtools::vector_3d vertex_ 
)

◆ ring_random_surface()

geomtools::vector_3d genvtx::ring_random_surface ( mygsl::rng random_,
double  outer_radius_,
double  inner_radius_ = 0.0,
double  thickness_ = 0.0,
double  theta1_ = 0.0,
double  theta2_ = M_PI 
)

◆ triangle_random_surface()

geomtools::vector_3d genvtx::triangle_random_surface ( const geomtools::vector_3d vtx0_,
const geomtools::vector_3d vtx1_,
const geomtools::vector_3d vtx2_,
mygsl::rng random_ 
)