Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
Top-level namespace of the Bayeux/geomtools module library. More...
Namespaces | |
intersection | |
Nested namespace of the Bayeux/geomtools module library (intersection) | |
stl | |
Nested namespace of the Bayeux/geomtools module library (STereoLithography) | |
Classes | |
class | address_set |
A set of indexes representing subaddresses in a geometry ID (see geomtools::geom_id) More... | |
class | angular_range |
Angular range. More... | |
class | base_hit |
The base class for hit objects that locate events in a geometry model. More... | |
class | base_locator |
class | blur_spot |
A blur spot is a measurement hit that may represents a vertex with 1D, 2D or 3D dimension. More... | |
class | bounding_data |
Bounding volume data for i_shape_3d derived solid shapes. More... | |
class | box |
The 3D shape model for a box. More... | |
class | circle |
A circular arc (1D shape) More... | |
struct | classified_segment |
A classified segment consists in a 3D segment with a first and a last point in an arbitrary reference frame and which is assigned a property that details if the segment lies inside a volume, outside a volume or is contained on the surface of a volume. More... | |
class | color |
Color. More... | |
class | composite_surface |
The abstract base class for all 2D shapes/surfaces. More... | |
class | cone |
Cone utilities. More... | |
struct | constants |
Some constants. More... | |
class | cylinder |
The 3D shape model for a cylinder. More... | |
class | cylindric_extrusion_boxed_model |
A geometry model implementing a box with a cylindrical extrusion, open on both bottom and top faces of the box. More... | |
class | cylindrical_sector |
A spherical sector (2D shape) More... | |
class | disk |
A disk/ring sector surface (2D shape) More... | |
class | display_data |
class | ellipse |
A circular arc (1D shape) More... | |
class | ellipsoid |
The 3D shape model for an ellipsoid. More... | |
class | ellipsoid_sector |
The 2D shape/surface model for an ellipsoid sector. More... | |
class | elliptical_cylinder |
The 3D shape model for an elliptical cylinder. More... | |
class | elliptical_cylinder_sector |
The 2D shape/surface model for an elliptical cylinder sector. More... | |
class | elliptical_sector |
A elliptical_sector sector surface (2D shape) More... | |
class | extruded_box |
The 3D shape model for an extruded box. More... | |
class | extruded_box_model |
A geometry model implementing a box with a cylindrical extrusion. More... | |
class | face_identifier |
Identifier of a face attached to a solid shape. More... | |
class | face_info |
Information about the nature and positioning of a face of the solid. More... | |
class | face_intercept_info |
The face_intercept_info class hosts the parameters of. More... | |
class | facet34 |
A triangle or convex quadrangle facet of a tessellated solid. More... | |
class | facet_segment |
A segment associated to a facet. More... | |
struct | facet_vertex |
A vertex (corner) of a triangle or quadrangle facet in a tessellated solid. More... | |
class | filled_utils |
struct | foot_point_on_quadric_finder |
Marching method to find the foot point of a point on the surface of a quadric. More... | |
class | gdml_export |
GDML export class. More... | |
class | gdml_writer |
GDML writer class used by the geomtools GDML export functionalities. More... | |
class | geom_id |
class | geom_info |
A record for geometry information about a physical volume in a virtual geometry. More... | |
class | geom_map |
class | geometry_service |
Generic geometry service. More... | |
class | geomtools_driver |
struct | geomtools_driver_params |
class | gnuplot_draw |
Drawing primitives for various solid shapes. More... | |
class | gnuplot_drawer |
An Gnuplot driver object responsible of the display of a virtual geometry. More... | |
class | grid_model |
A geometry model implementing a mother box volume with some daughter volumes positioned on a 2D grid. More... | |
struct | has_geom_type_predicate |
Predicate that tests if a geom_info object has a given geometry Id. More... | |
class | helix_3d |
An helix (1D shape) in a 3D space. More... | |
class | i_base_locator |
class | i_composite_shape_3d |
Base class for binary composite shapes. More... | |
class | i_find_intercept |
Abstract interface for all objects for which we can compute the intercept with a ray emitted from a point. More... | |
class | i_locator |
class | i_model |
The base class for geometry models. More... | |
class | i_object_3d |
Mother abstract class for all 3D object classes. More... | |
class | i_placement |
Abstract interface for all placement objects. More... | |
class | i_polygon |
Polygon 2D shape. More... | |
class | i_shape_1d |
The abstract base class for all 1D curves/shapes. More... | |
class | i_shape_2d |
The abstract base class for all 2D shapes/surfaces. More... | |
class | i_shape_3d |
Mother abstract class for all 3D solid shapes. More... | |
class | i_stackable |
Abstract base stackable object. More... | |
class | i_wires_3d_rendering |
brief Abstract interface for objects that can describe themselves as a collection of polylines for 3D rendering More... | |
class | i_wires_drawer |
Base class for all shape drawer objects in wires mode. More... | |
class | id_mgr |
class | id_selector |
A selector of geometry IDs using a specific geometry category. More... | |
class | intersection_3d |
Intersection of two 3D shapes. More... | |
struct | io |
I/O constants for the serialization of vector(2D/3D) and rotation objects. More... | |
class | line_3d |
An line/segment (1D shape) in a 3D space. More... | |
class | logical_volume |
A logical geometry volume (ala GDML) More... | |
class | manager |
Geometry manager for virtual geometry modelling. Main geometry manager for the modelisation of various experimental setups in the framework of the nuclear and particle physics experiments. More... | |
class | mapping |
The geometry ID mapping. More... | |
class | mapping_plugin |
A geometry manager plugin with embeded mapping with its specific mapping rules. More... | |
struct | mapping_utils |
Mapping utilities. More... | |
class | material |
class | materials_plugin |
A plugin for the geomtools' geometry manager that embeds an isotope/element/material manager. More... | |
class | model_factory |
The factory of geometry models. More... | |
class | model_with_internal_items_tools |
Handler for internal items. More... | |
class | model_with_internal_mesh_data |
Handler to add daughter volumes on a regular 3D mesh in a mother logical volume. More... | |
class | multiple_items_model |
A geometry model implementing a simple box with several daughter volumes. More... | |
class | multiple_placement |
Multiple placement with an arbitrary collection of single placements addressed by index. More... | |
class | overlapping |
Volume overlapping detection algorithms. More... | |
class | physical_volume |
A physical geometry volume (ala GDML) More... | |
class | placement |
The placement for a geometry volume with its translation and rotation with respect to some mother reference frame. More... | |
class | plane |
A plane (2D shape) in a 3D space. More... | |
class | plate_with_hole_model |
A geometry model implementing a box/plate with cylindrical hole This class is similar to the geomtools::cylindric_extrusion_boxed_model class. More... | |
struct | point_on_quadric_finder |
Marching method to find a point on the surface of a quadric. More... | |
class | polycone |
Polycone 3D solid shape. More... | |
class | polyhedra |
Polyhedra 3D solid shape. More... | |
class | polyline_3d |
A sequence of connected linear segments (3D) More... | |
class | quadrangle |
A quadrangle. More... | |
class | quadric |
A general quadric a 3D space. More... | |
class | rectangle |
A rectangular surface (2D shape) More... | |
class | regular_3d_mesh_placement |
Regular 3D mesh placement of small daughter volumes with respect to a mother logical volume. More... | |
class | regular_circular_placement |
Regular circular placement. More... | |
class | regular_grid_placement |
class | regular_linear_placement |
Regular linear placement. More... | |
class | regular_polygon |
A regular polygon. More... | |
class | replicated_boxed_model |
class | replicated_circular_model |
class | replicated_model |
class | right_circular_conical_frustrum |
Right circular conical frustrum (3D shape) More... | |
class | right_circular_conical_nappe |
Right circular conical nappe (2D shape) More... | |
class | right_polygonal_frustrum |
Right polygonal frustrum (3D shape) More... | |
class | rotated_boxed_model |
A geometry model implementing a box with an unique rotated boxed model. More... | |
class | rotation_wrapper_type |
Wrapper for rotation object. More... | |
class | sensitive |
class | shape_factory |
The factory of shapes. More... | |
class | simple_boxed_model |
A geometry model implementing a single box with no daughter volumes. More... | |
class | simple_polygon |
A simple polygon in the XY plane. More... | |
class | simple_shaped_model |
A geometry model implementing an unique simple 3D shape, possibly with internal/daughter volumes. More... | |
class | simple_world_model |
A geometry model implementing a top-level/world box volume with an unique setup daughter volume. More... | |
class | smart_id_locator |
Locator of geometry volumes by thier geometry Id. More... | |
class | sphere |
A spherical volume (3D solid) More... | |
class | spherical_extrusion_box_model |
A box volume with a spherical extrusion. More... | |
class | spherical_extrusion_cylinder_model |
A cylinder volume with a spherical extrusion. More... | |
class | spherical_sector |
A sperical sector (2D shape) More... | |
class | split_segment_wrt_shape |
This algorithm splits a segment, a polyline or a collection of polylines in a sequence of smaller segments that are classified as inside, outside or on surface of a given shape. More... | |
class | stackable |
Static methods and constants to handle stackable data/information. More... | |
class | stackable_data |
Data for stacking along X, Y and/or Z axis. More... | |
class | stacked_model |
A geometry model with some stacked boxed models along a specific axis (X, Y or Z) More... | |
class | subtraction_3d |
Subtraction of two 3D shapes. More... | |
class | surrounded_boxed_model |
A geometry model with a boxed model surrounded by up to 6 other models. More... | |
class | tessellated_solid |
Tessellated solid made of facets. More... | |
class | toroid_nappe |
A toroid nappe (2D shape) More... | |
class | torus |
The 3D shape model for a solid torus. More... | |
class | triangle |
A triangle. More... | |
class | tube |
The 3D shape model for a tube. More... | |
class | union_3d |
Union of two 3D shapes. More... | |
struct | version |
Describe the geomtools API version and features. More... | |
class | visibility |
Utilities to manipulate visibility properties. More... | |
class | wall_solid |
The 3D shape model for a wall solid. More... | |
Typedefs | |
typedef CLHEP::Hep2Vector | vector_2d |
Alias for the CLHEP 2D-vector class. More... | |
typedef CLHEP::Hep3Vector | vector_3d |
Alias for the CLHEP 3D-vector class. More... | |
typedef CLHEP::HepRotation | rotation_3d |
Alias for the CLHEP 3D-rotation class. More... | |
typedef rotation_3d | rotation |
Alias for the 3D-rotation class. More... | |
typedef std::map< std::string, i_model * > | models_col_type |
Type alias for dictionary of geometry model plain handles. More... | |
typedef i_model *(* | model_creator_type) (const std::string &name_, const datatools::properties &configuration_, models_col_type *models_) |
typedef std::map< std::string, model_creator_type > | model_creator_dict_type |
typedef elliptical_cylinder | elliptical_tube |
typedef std::vector< face_info > | face_info_collection_type |
Type alias for a collection of face information objects. More... | |
typedef std::map< geom_id, geom_info > | geom_info_dict_type |
Dictionary of geometry information objects (key type is: geomtools::geom_id) More... | |
typedef datatools::handle< i_shape_2d > | shape_2d_handle_type |
Type aliases for a handle to a 2D shape. More... | |
typedef shape_2d_handle_type | face_handle_type |
typedef line_3d | segment_3d |
Type alias for the line_3d class. More... | |
typedef model_with_internal_items_tools | MWIM |
typedef right_circular_conical_frustrum | conical_frustrum |
Type alias. More... | |
typedef right_circular_conical_nappe | conical_nappe |
Type alias. More... | |
typedef right_polygonal_frustrum | polygonal_frustrum |
Type alias. More... | |
typedef std::list< vector_2d > | basic_polyline_2d |
Alias for a list of 2D vertice as a 2D-polyline. More... | |
typedef std::pair< vector_3d, vector_3d > | basic_segment_3d |
Aliases for a segment made of two 3D vertice. More... | |
typedef basic_segment_3d | segment_type |
typedef std::list< vector_3d > | basic_polyline_3d |
Aliases for a list of 3D vertice as a 3D-polyline. More... | |
typedef std::list< vector_3d > | polyline_type |
typedef std::vector< vector_3d > | vertex_col_type |
Aliases for an ordered collection of 3D vertice. More... | |
typedef std::list< polyline_type > | wires_type |
Alias for a list of 3D-polylines. More... | |
typedef side_2d_type | edge_2d_type |
typedef rotation_wrapper_type | rotation_wrapper_t |
Type alias. More... | |
Functions | |
void | print_face_infos (const face_info_collection_type &, std::ostream &out_, const std::string &title_="", const std::string &indent_="") |
Smart print. More... | |
GEOMTOOLS_MODEL_CLASS_DECLARE (i_boxed_model) | |
void | transform_wire_to (const placement &p_, const polyline_type &wire_, polyline_type &tr_wire_) |
Transform a polyline. More... | |
void | transform_wires_to (const placement &p_, const wires_type &wires_, wires_type &tr_wires_) |
Transform a collection of polylines. More... | |
bool | parse_wires (std::istream &in_, wires_type &wires_) |
Parse a collection of polylines from an ASCII stream. More... | |
void | save_wires (std::ostream &out_, const wires_type &wires_, uint32_t flags_=0) |
Save a collection of polylines in an ASCII stream. More... | |
void | classify_in_out_segment (const segment_type &segment_, const i_shape_3d &shape_, const placement &shape_placement_, double step_, double tolerance_, std::list< classified_segment > &classified_) |
void | export_gdml (const materials::manager &, gdml_writer &gw_) |
void | export_gdml (const materials::manager &, std::ostream &out_) |
std::ostream & | operator<< (std::ostream &out_, const placement &) |
std::string | get_resource_dir (bool overriden_env=false) |
std::string | get_resource (const std::string &rname, bool overriden_env=false) |
bool | position_is_in (double position_, double start_position_, double delta_position_, double tolerance_=0.0, bool bounds_excluded_=false) |
Check if a position is inside a position interval. More... | |
bool | angle_is_in (double angle_, double start_angle_, double delta_angle_, double angular_tolerance_=0.0, bool bounds_excluded_=false) |
Check if an angle is inside an angular interval. More... | |
void | print_xy (std::ostream &out_, const vector_2d &p_, bool endl_=true) |
std::string | to_xy (const vector_2d &p_) |
std::string | vector_2d_to_xy (const vector_2d &p_) |
void | print_xy_stdout (const vector_2d &p_) |
void | print_xy_stderr (const vector_2d &p_) |
void | print_xyz (std::ostream &out_, const vector_3d &p_, bool endl_=true) |
void | print (std::ostream &out_, const vector_3d &p_) |
std::string | to_xyz (const vector_3d &p_) |
std::string | vector_3d_to_xyz (const vector_3d &p_) |
void | print_xyz_stdout (const vector_3d &p_) |
void | print_xyz_stderr (const vector_3d &p_) |
void | set_vector_2d (const std::vector< double > &source_, vector_2d &target_) |
void | set_vector_3d (const std::vector< double > &source_, vector_3d &target_) |
bool | parse (std::istream &in_, vector_3d &position_, bool nothing_more_=false) |
Parse a vector 3D object from an input stream. More... | |
bool | parse (const std::string &token_, vector_3d &position_) |
Parse a vector 3D object from an input string. More... | |
void | print_xy (std::ostream &out_, const basic_polyline_2d &p_, bool endl_=true) |
std::string | to_xy (const basic_polyline_2d &p_) |
std::string | basic_polyline_2d_to_xy (const basic_polyline_2d &p_) |
void | print_xy_stdout (const basic_polyline_2d &p_) |
void | print_xy_stderr (const basic_polyline_2d &p_) |
void | print_xyz (std::ostream &out_, const basic_polyline_3d &p_, bool endl_=true) |
std::string | to_xyz (const basic_polyline_3d &p_) |
std::string | basic_polyline_3d_to_xyz (const basic_polyline_3d &p_) |
void | print_xyz_stdout (const basic_polyline_3d &p_) |
void | print_xyz_stderr (const basic_polyline_3d &p_) |
direction_type | get_direction_from_label (const std::string &) |
std::string | get_direction_label (direction_type) |
std::string | shape_domain_flag_label (shape_domain_flags_type flag_) |
void | create (rotation_3d &rot_, double angle0_, double angle1_, double angle2_, euler_angles_type et_) |
void | create_zyz (rotation_3d &rot_, double phi_, double theta_, double delta_) |
void | create (rotation_3d &rot_, double phi_, double theta_, double delta_) |
void | create_zxz (rotation_3d &rot_, double phi_, double theta_, double psi_) |
Create a rotation using ZXZ Euler angles. More... | |
void | create_xyz (rotation_3d &rot_, double phi_, double theta_, double psi_) |
Create a rotation using XYZ Euler angles. More... | |
void | create_rotation_3d (rotation_3d &rot_, double phi_, double theta_, double delta_) |
void | create_rotation_from_zyz_euler_angles (rotation_3d &rot_, double phi_, double theta_, double delta_) |
void | create_rotation (rotation_3d &rot_, double phi_, double theta_, double delta_) |
bool | is_identity (const rotation_3d &rot_) |
Check if a rotation is the identity. More... | |
void | extract_xyz_euler_angle_from_rotation (const rotation_3d &rot_, double &a_, double &b_, double &c_) |
Extract the XYZ Euler angles from a rotation. More... | |
void | extract_zyz_euler_angle_from_rotation (const rotation_3d &rot_, double &a_, double &b_, double &c_) |
Extract the ZYZ Euler angles from a rotation. More... | |
bool | check_special_rotation_angle (int) |
double | get_special_rotation_angle (int) |
int | get_special_rotation_angle_from_label (const std::string &) |
std::string | get_special_rotation_angle_label (int) |
bool | check_rotation_axis (int) |
int | get_rotation_axis_from_label (const std::string &) |
std::string | get_rotation_label (int) |
void | create_rotation_from_axis (rotation_3d &rot_, int axis_, double angle_) |
void | create_rotation (rotation_3d &rot_, int axis_, double angle_) |
void | create_rotation (rotation_3d &rot_, int axis_, int special_angle_) |
void | create_rotation_from (rotation_3d &rot_, const std::string &) |
void | reset (rotation_3d &rot_) |
Invalidate a rotation 3D object. More... | |
void | reset_rotation_3d (rotation_3d &rot_) |
Invalidate a rotation 3D object. More... | |
void | tree_dump (const rotation_3d &rot_, std::ostream &out_, const std::string &title_="", const std::string &indent_="") |
Smart print for rotation 3D object. More... | |
void | invalidate (rotation_3d &rot_) |
Invalidate a rotation 3D object. More... | |
void | rectify (rotation_3d &rot_) |
Rectify a rotation 3D object. More... | |
void | invalidate_rotation_3d (rotation_3d &rot_) |
Invalidate a rotation 3D object. More... | |
bool | is_valid (const rotation_3d &rot_) |
Check if a rotation 3D object is valid. More... | |
bool | is_valid_rotation_3d (const rotation_3d &rot_) |
Check if a rotation 3D object is valid. More... | |
void | create (vector_3d &, double x_, double y_, double z_) |
Create/set coordinates of a vector 3D object (cartesian) More... | |
void | create_xyz (vector_3d &, double x_, double y_, double z_) |
Create/set coordinates of a vector 3D object (cartesian) More... | |
void | create_polar (vector_3d &, double r_, double theta_, double z_) |
Create/set coordinates of a vector 3D object (polar) More... | |
void | create_spherical (vector_3d &, double r_, double phi_, double theta_) |
Create/set coordinates of a vector 3D object (spherical) More... | |
void | set (vector_3d &vec_, double x_, double y_, double z_) |
Set coordinates of a vector 3D object (cartesian) More... | |
void | set_r_theta_phi (vector_3d &vec_, double r_, double theta_, double phi_) |
Set coordinates of a vector 3D object (spherical) More... | |
void | set_rho_phi_z (vector_3d &vec_, double rho_, double phi_, double z_) |
Set coordinates of a vector 3D object (polar) More... | |
void | zero (vector_3d &vec_) |
Zero a vector 3D object. More... | |
const vector_3d & | invalid_vector_3d () |
Return an invalid vector 3D object (static singleton) More... | |
void | invalidate (vector_3d &vec_) |
Invalidate a vector 3D object. More... | |
void | invalidate_vector_3d (vector_3d &vec_) |
Invalidate a vector 3D object. More... | |
bool | is_valid (const vector_3d &vec_) |
Check if a vector 3D object is valid. More... | |
bool | is_valid_vector_3d (const vector_3d &vec_) |
Check if a vector 3D object is valid. More... | |
bool | are_near (const vector_3d &vec1_, const vector_3d &vec2_, double tolerance_=constants::DEFAULT_TOLERANCE) |
Check if two vector 3D objects are close to each other given a tolerance. More... | |
bool | are_near_vector_3d (const vector_3d &vec1_, const vector_3d &vec2_, double tolerance_) |
Check if two vector 3D objects are close to each other given a tolerance. More... | |
void | set (vector_2d &vec_, double x_, double y_) |
Set coordinates of a vector 2D object (cartesian) More... | |
void | set_r_phi (vector_2d &vec_, double r_, double phi_) |
Set coordinates of a vector 2D object (polar) More... | |
void | zero (vector_2d &vec_) |
Zero a vector 2D object. More... | |
void | invalidate (vector_2d &vec_) |
Invalidate a vector 2D object. More... | |
void | invalidate_vector_2d (vector_2d &vec_) |
Invalidate a vector 2D object. More... | |
const vector_2d & | invalid_vector_2d () |
Return an invalid vector 2D object (static singleton) More... | |
bool | is_valid (const vector_2d &vec_) |
Check if a vector 2D object is valid. More... | |
bool | is_valid_vector_2d (const vector_2d &vec_) |
Check if a vector 2D object is valid. More... | |
void | vector_2d_to_vector_3d (const vector_2d &v2d_, vector_3d &v3d_) |
Convert a vector 2D object to a vector 3D object (export x and y coordinates, setting z to zero) More... | |
void | vector_3d_to_vector_2d (const vector_3d &v3d_, vector_2d &v2d_) |
Convert a vector 3D object to a vector 2D object (export only x and y coordinates) More... | |
void | make_phi_theta (vector_3d &vec_, double phi_, double theta_) |
Create a vector 3D object from spherical angular coordinates (magnitude is set to 1) More... | |
template<class ran_func > | |
void | randomize_direction (ran_func &ran_, vector_3d &ran_dir_) |
Isotropically randomize the direction of an unit vector. More... | |
template<class ran_func > | |
vector_3d | randomize_direction (ran_func &ran_) |
Isotropically randomize the direction of an unit vector. More... | |
template<class ran_func > | |
void | randomize_orthogonal_direction (ran_func &ran_, const vector_3d &dir_, vector_3d &ran_dir_) |
Isotropically randomize the direction of an unit vector orthogonal to a given direction. More... | |
template<class ran_func > | |
vector_3d | randomize_orthogonal_direction (ran_func &ran_, const vector_3d &ref_dir_) |
Isotropically randomize the direction of an unit vector orthogonal to a given direction. More... | |
void | compute_barycenter (const std::vector< vector_3d > &points_, vector_3d &barycenter_) |
vector_3d | compute_barycenter (const std::vector< vector_3d > &points_) |
void | compute_weighted_barycenter (const std::vector< vector_3d > &points_, const std::vector< double > &weights_, vector_3d &weighted_barycenter_) |
vector_3d | compute_weighted_barycenter (const std::vector< vector_3d > &points_, const std::vector< double > &weights_) |
Top-level namespace of the Bayeux/geomtools module library.
typedef std::list<vector_2d> geomtools::basic_polyline_2d |
Alias for a list of 2D vertice as a 2D-polyline.
typedef std::list<vector_3d> geomtools::basic_polyline_3d |
Aliases for a list of 3D vertice as a 3D-polyline.
typedef std::pair<vector_3d, vector_3d> geomtools::basic_segment_3d |
Aliases for a segment made of two 3D vertice.
Type alias.
Type alias.
typedef side_2d_type geomtools::edge_2d_type |
typedef std::vector<face_info> geomtools::face_info_collection_type |
Type alias for a collection of face information objects.
typedef std::map<geom_id, geom_info> geomtools::geom_info_dict_type |
Dictionary of geometry information objects (key type is: geomtools::geom_id)
typedef std::map<std::string, model_creator_type> geomtools::model_creator_dict_type |
typedef i_model*(* geomtools::model_creator_type) (const std::string &name_, const datatools::properties &configuration_, models_col_type *models_) |
typedef std::map<std::string, i_model *> geomtools::models_col_type |
Type alias for dictionary of geometry model plain handles.
Type alias.
typedef std::list<vector_3d> geomtools::polyline_type |
typedef rotation_3d geomtools::rotation |
Alias for the 3D-rotation class.
typedef CLHEP::HepRotation geomtools::rotation_3d |
Alias for the CLHEP 3D-rotation class.
Type alias.
typedef line_3d geomtools::segment_3d |
Type alias for the line_3d class.
Type aliases for a handle to a 2D shape.
typedef CLHEP::Hep2Vector geomtools::vector_2d |
Alias for the CLHEP 2D-vector class.
typedef CLHEP::Hep3Vector geomtools::vector_3d |
Alias for the CLHEP 3D-vector class.
typedef std::vector<vector_3d> geomtools::vertex_col_type |
Aliases for an ordered collection of 3D vertice.
typedef std::list<polyline_type> geomtools::wires_type |
Alias for a list of 3D-polylines.
enum geomtools::axis_type |
Direction type.
Type of Euler angles.
bool geomtools::angle_is_in | ( | double | angle_, |
double | start_angle_, | ||
double | delta_angle_, | ||
double | angular_tolerance_ = 0.0 , |
||
bool | bounds_excluded_ = false |
||
) |
Check if an angle is inside an angular interval.
bool geomtools::are_near | ( | const vector_3d & | vec1_, |
const vector_3d & | vec2_, | ||
double | tolerance_ = constants::DEFAULT_TOLERANCE |
||
) |
Check if two vector 3D objects are close to each other given a tolerance.
bool geomtools::are_near_vector_3d | ( | const vector_3d & | vec1_, |
const vector_3d & | vec2_, | ||
double | tolerance_ | ||
) |
Check if two vector 3D objects are close to each other given a tolerance.
std::string geomtools::basic_polyline_2d_to_xy | ( | const basic_polyline_2d & | p_ | ) |
std::string geomtools::basic_polyline_3d_to_xyz | ( | const basic_polyline_3d & | p_ | ) |
bool geomtools::check_rotation_axis | ( | int | ) |
bool geomtools::check_special_rotation_angle | ( | int | ) |
void geomtools::classify_in_out_segment | ( | const segment_type & | segment_, |
const i_shape_3d & | shape_, | ||
const placement & | shape_placement_, | ||
double | step_, | ||
double | tolerance_, | ||
std::list< classified_segment > & | classified_ | ||
) |
Split a given segment into a collection of classified segments with respect to a given 3D shape/solid volume.
void geomtools::compute_barycenter | ( | const std::vector< vector_3d > & | points_, |
vector_3d & | barycenter_ | ||
) |
Compute the barycenter of a collection of 3D points
Compute the barycenter of a collection of 3D points
void geomtools::compute_weighted_barycenter | ( | const std::vector< vector_3d > & | points_, |
const std::vector< double > & | weights_, | ||
vector_3d & | weighted_barycenter_ | ||
) |
Compute the weighted barycenter of a collection of 3D points
vector_3d geomtools::compute_weighted_barycenter | ( | const std::vector< vector_3d > & | points_, |
const std::vector< double > & | weights_ | ||
) |
Compute the weighted barycenter of a collection of 3D points
void geomtools::create | ( | rotation_3d & | rot_, |
double | angle0_, | ||
double | angle1_, | ||
double | angle2_, | ||
euler_angles_type | et_ | ||
) |
Create a rotation using Euler angles
rot_ | the rotation matrix to be initialized |
angle0_ | the first Euler angle |
angle1_ | the second Euler angle |
angle2_ | the third Euler angle |
et_ | the type of Euler angles |
void geomtools::create | ( | rotation_3d & | rot_, |
double | phi_, | ||
double | theta_, | ||
double | delta_ | ||
) |
Create a rotation (default is using ZYZ Euler angles)
rot_ | the rotation matrix to be initialized |
phi_ | the azimuthal angle |
theta_ | the polar/zenith angle |
delta_ | the tilt angle |
void geomtools::create | ( | vector_3d & | , |
double | x_, | ||
double | y_, | ||
double | z_ | ||
) |
Create/set coordinates of a vector 3D object (cartesian)
void geomtools::create_polar | ( | vector_3d & | , |
double | r_, | ||
double | theta_, | ||
double | z_ | ||
) |
Create/set coordinates of a vector 3D object (polar)
void geomtools::create_rotation | ( | rotation_3d & | rot_, |
double | phi_, | ||
double | theta_, | ||
double | delta_ | ||
) |
Create a rotation (default is using ZYZ Euler angles)
rot_ | the rotation matrix to be initialized |
phi_ | the azimuthal angle |
theta_ | the polar/zenith angle |
delta_ | the tilt angle |
void geomtools::create_rotation | ( | rotation_3d & | rot_, |
int | axis_, | ||
double | angle_ | ||
) |
void geomtools::create_rotation | ( | rotation_3d & | rot_, |
int | axis_, | ||
int | special_angle_ | ||
) |
void geomtools::create_rotation_3d | ( | rotation_3d & | rot_, |
double | phi_, | ||
double | theta_, | ||
double | delta_ | ||
) |
Create a rotation(default is using ZYZ Euler angles)
rot_ | the rotation matrix to be initialized |
phi_ | the azimuthal angle |
theta_ | the polar/zenith angle |
delta_ | the tilt angle |
void geomtools::create_rotation_from | ( | rotation_3d & | rot_, |
const std::string & | |||
) |
void geomtools::create_rotation_from_axis | ( | rotation_3d & | rot_, |
int | axis_, | ||
double | angle_ | ||
) |
void geomtools::create_rotation_from_zyz_euler_angles | ( | rotation_3d & | rot_, |
double | phi_, | ||
double | theta_, | ||
double | delta_ | ||
) |
Create a rotation (default is using ZYZ Euler angles)
rot_ | the rotation matrix to be initialized |
phi_ | the azimuthal angle |
theta_ | the polar/zenith angle |
delta_ | the tilt angle |
void geomtools::create_spherical | ( | vector_3d & | , |
double | r_, | ||
double | phi_, | ||
double | theta_ | ||
) |
Create/set coordinates of a vector 3D object (spherical)
void geomtools::create_xyz | ( | rotation_3d & | rot_, |
double | phi_, | ||
double | theta_, | ||
double | psi_ | ||
) |
Create a rotation using XYZ Euler angles.
void geomtools::create_xyz | ( | vector_3d & | , |
double | x_, | ||
double | y_, | ||
double | z_ | ||
) |
Create/set coordinates of a vector 3D object (cartesian)
void geomtools::create_zxz | ( | rotation_3d & | rot_, |
double | phi_, | ||
double | theta_, | ||
double | psi_ | ||
) |
Create a rotation using ZXZ Euler angles.
void geomtools::create_zyz | ( | rotation_3d & | rot_, |
double | phi_, | ||
double | theta_, | ||
double | delta_ | ||
) |
Create a rotation using ZYZ Euler angles
rot_ | the rotation matrix to be initialized |
phi_ | the azimuthal angle |
theta_ | the polar/zenith angle |
delta_ | the tilt angle |
void geomtools::export_gdml | ( | const materials::manager & | , |
gdml_writer & | gw_ | ||
) |
void geomtools::export_gdml | ( | const materials::manager & | , |
std::ostream & | out_ | ||
) |
void geomtools::extract_xyz_euler_angle_from_rotation | ( | const rotation_3d & | rot_, |
double & | a_, | ||
double & | b_, | ||
double & | c_ | ||
) |
Extract the XYZ Euler angles from a rotation.
void geomtools::extract_zyz_euler_angle_from_rotation | ( | const rotation_3d & | rot_, |
double & | a_, | ||
double & | b_, | ||
double & | c_ | ||
) |
Extract the ZYZ Euler angles from a rotation.
geomtools::GEOMTOOLS_MODEL_CLASS_DECLARE | ( | i_boxed_model | ) |
direction_type geomtools::get_direction_from_label | ( | const std::string & | ) |
std::string geomtools::get_direction_label | ( | direction_type | ) |
std::string geomtools::get_resource | ( | const std::string & | rname, |
bool | overriden_env = false |
||
) |
Return URL, i.e. a path, to named resource By default the encoded resource root, determined at compile time is used to search for the resource. This can be overriden by setting the GEOMTOOLS_RESOURCE_DIR environment variable to a path holding custom resources.
rname | name of resource, given as a path relative to resource root. |
overriden_env | flag to allow path overriding by the GEOMTOOLS_RESOURCE_DIR environment variable. |
std::string geomtools::get_resource_dir | ( | bool | overriden_env = false | ) |
Return URL, i.e. a path, to the base directory where resource files are installed
overriden_env | If set this flag trigger the search for the environment variable GEOMTOOLS_RESOURCE_DIR as a directory path on the filesystem as an alternative base directory for resources in place of the standard installation path |
int geomtools::get_rotation_axis_from_label | ( | const std::string & | ) |
std::string geomtools::get_rotation_label | ( | int | ) |
double geomtools::get_special_rotation_angle | ( | int | ) |
int geomtools::get_special_rotation_angle_from_label | ( | const std::string & | ) |
std::string geomtools::get_special_rotation_angle_label | ( | int | ) |
const vector_2d& geomtools::invalid_vector_2d | ( | ) |
Return an invalid vector 2D object (static singleton)
const vector_3d& geomtools::invalid_vector_3d | ( | ) |
Return an invalid vector 3D object (static singleton)
void geomtools::invalidate | ( | rotation_3d & | rot_ | ) |
Invalidate a rotation 3D object.
void geomtools::invalidate | ( | vector_3d & | vec_ | ) |
Invalidate a vector 3D object.
void geomtools::invalidate | ( | vector_2d & | vec_ | ) |
Invalidate a vector 2D object.
void geomtools::invalidate_rotation_3d | ( | rotation_3d & | rot_ | ) |
Invalidate a rotation 3D object.
void geomtools::invalidate_vector_2d | ( | vector_2d & | vec_ | ) |
Invalidate a vector 2D object.
void geomtools::invalidate_vector_3d | ( | vector_3d & | vec_ | ) |
Invalidate a vector 3D object.
bool geomtools::is_identity | ( | const rotation_3d & | rot_ | ) |
Check if a rotation is the identity.
bool geomtools::is_valid | ( | const rotation_3d & | rot_ | ) |
Check if a rotation 3D object is valid.
bool geomtools::is_valid | ( | const vector_3d & | vec_ | ) |
Check if a vector 3D object is valid.
bool geomtools::is_valid | ( | const vector_2d & | vec_ | ) |
Check if a vector 2D object is valid.
bool geomtools::is_valid_rotation_3d | ( | const rotation_3d & | rot_ | ) |
Check if a rotation 3D object is valid.
bool geomtools::is_valid_vector_2d | ( | const vector_2d & | vec_ | ) |
Check if a vector 2D object is valid.
bool geomtools::is_valid_vector_3d | ( | const vector_3d & | vec_ | ) |
Check if a vector 3D object is valid.
void geomtools::make_phi_theta | ( | vector_3d & | vec_, |
double | phi_, | ||
double | theta_ | ||
) |
Create a vector 3D object from spherical angular coordinates (magnitude is set to 1)
std::ostream& geomtools::operator<< | ( | std::ostream & | out_, |
const placement & | |||
) |
bool geomtools::parse | ( | std::istream & | in_, |
vector_3d & | position_, | ||
bool | nothing_more_ = false |
||
) |
Parse a vector 3D object from an input stream.
Supported format is:
where x, y and z are the cartesian coordinates in an arbitrary reference frame and the lenght unit is passed optionally as a character string representing the unit symbol. Examples:
bool geomtools::parse | ( | const std::string & | token_, |
vector_3d & | position_ | ||
) |
Parse a vector 3D object from an input string.
bool geomtools::parse_wires | ( | std::istream & | in_, |
wires_type & | wires_ | ||
) |
Parse a collection of polylines from an ASCII stream.
bool geomtools::position_is_in | ( | double | position_, |
double | start_position_, | ||
double | delta_position_, | ||
double | tolerance_ = 0.0 , |
||
bool | bounds_excluded_ = false |
||
) |
Check if a position is inside a position interval.
void geomtools::print | ( | std::ostream & | out_, |
const vector_3d & | p_ | ||
) |
void geomtools::print_face_infos | ( | const face_info_collection_type & | , |
std::ostream & | out_, | ||
const std::string & | title_ = "" , |
||
const std::string & | indent_ = "" |
||
) |
Smart print.
void geomtools::print_xy | ( | std::ostream & | out_, |
const vector_2d & | p_, | ||
bool | endl_ = true |
||
) |
void geomtools::print_xy | ( | std::ostream & | out_, |
const basic_polyline_2d & | p_, | ||
bool | endl_ = true |
||
) |
void geomtools::print_xy_stderr | ( | const vector_2d & | p_ | ) |
void geomtools::print_xy_stderr | ( | const basic_polyline_2d & | p_ | ) |
void geomtools::print_xy_stdout | ( | const vector_2d & | p_ | ) |
void geomtools::print_xy_stdout | ( | const basic_polyline_2d & | p_ | ) |
void geomtools::print_xyz | ( | std::ostream & | out_, |
const vector_3d & | p_, | ||
bool | endl_ = true |
||
) |
void geomtools::print_xyz | ( | std::ostream & | out_, |
const basic_polyline_3d & | p_, | ||
bool | endl_ = true |
||
) |
void geomtools::print_xyz_stderr | ( | const vector_3d & | p_ | ) |
void geomtools::print_xyz_stderr | ( | const basic_polyline_3d & | p_ | ) |
void geomtools::print_xyz_stdout | ( | const vector_3d & | p_ | ) |
void geomtools::print_xyz_stdout | ( | const basic_polyline_3d & | p_ | ) |
void geomtools::randomize_direction | ( | ran_func & | ran_, |
vector_3d & | ran_dir_ | ||
) |
Isotropically randomize the direction of an unit vector.
vector_3d geomtools::randomize_direction | ( | ran_func & | ran_ | ) |
Isotropically randomize the direction of an unit vector.
void geomtools::randomize_orthogonal_direction | ( | ran_func & | ran_, |
const vector_3d & | dir_, | ||
vector_3d & | ran_dir_ | ||
) |
Isotropically randomize the direction of an unit vector orthogonal to a given direction.
vector_3d geomtools::randomize_orthogonal_direction | ( | ran_func & | ran_, |
const vector_3d & | ref_dir_ | ||
) |
Isotropically randomize the direction of an unit vector orthogonal to a given direction.
void geomtools::rectify | ( | rotation_3d & | rot_ | ) |
Rectify a rotation 3D object.
void geomtools::reset | ( | rotation_3d & | rot_ | ) |
Invalidate a rotation 3D object.
void geomtools::reset_rotation_3d | ( | rotation_3d & | rot_ | ) |
Invalidate a rotation 3D object.
void geomtools::save_wires | ( | std::ostream & | out_, |
const wires_type & | wires_, | ||
uint32_t | flags_ = 0 |
||
) |
Save a collection of polylines in an ASCII stream.
void geomtools::set | ( | vector_3d & | vec_, |
double | x_, | ||
double | y_, | ||
double | z_ | ||
) |
Set coordinates of a vector 3D object (cartesian)
void geomtools::set | ( | vector_2d & | vec_, |
double | x_, | ||
double | y_ | ||
) |
Set coordinates of a vector 2D object (cartesian)
void geomtools::set_r_phi | ( | vector_2d & | vec_, |
double | r_, | ||
double | phi_ | ||
) |
Set coordinates of a vector 2D object (polar)
void geomtools::set_r_theta_phi | ( | vector_3d & | vec_, |
double | r_, | ||
double | theta_, | ||
double | phi_ | ||
) |
Set coordinates of a vector 3D object (spherical)
void geomtools::set_rho_phi_z | ( | vector_3d & | vec_, |
double | rho_, | ||
double | phi_, | ||
double | z_ | ||
) |
Set coordinates of a vector 3D object (polar)
void geomtools::set_vector_2d | ( | const std::vector< double > & | source_, |
vector_2d & | target_ | ||
) |
void geomtools::set_vector_3d | ( | const std::vector< double > & | source_, |
vector_3d & | target_ | ||
) |
std::string geomtools::shape_domain_flag_label | ( | shape_domain_flags_type | flag_ | ) |
std::string geomtools::to_xy | ( | const vector_2d & | p_ | ) |
std::string geomtools::to_xy | ( | const basic_polyline_2d & | p_ | ) |
std::string geomtools::to_xyz | ( | const vector_3d & | p_ | ) |
std::string geomtools::to_xyz | ( | const basic_polyline_3d & | p_ | ) |
void geomtools::transform_wire_to | ( | const placement & | p_, |
const polyline_type & | wire_, | ||
polyline_type & | tr_wire_ | ||
) |
Transform a polyline.
void geomtools::transform_wires_to | ( | const placement & | p_, |
const wires_type & | wires_, | ||
wires_type & | tr_wires_ | ||
) |
Transform a collection of polylines.
void geomtools::tree_dump | ( | const rotation_3d & | rot_, |
std::ostream & | out_, | ||
const std::string & | title_ = "" , |
||
const std::string & | indent_ = "" |
||
) |
Smart print for rotation 3D object.
Convert a vector 2D object to a vector 3D object (export x and y coordinates, setting z to zero)
std::string geomtools::vector_2d_to_xy | ( | const vector_2d & | p_ | ) |
Convert a vector 3D object to a vector 2D object (export only x and y coordinates)
std::string geomtools::vector_3d_to_xyz | ( | const vector_3d & | p_ | ) |
void geomtools::zero | ( | vector_3d & | vec_ | ) |
Zero a vector 3D object.
void geomtools::zero | ( | vector_2d & | vec_ | ) |
Zero a vector 2D object.