Bayeux  3.4.1
Core Foundation library for SuperNEMO
geomtools.h
Go to the documentation of this file.
1 /* Author(s): Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2010-10-28
4  * Last modified: 2010-10-28
5  *
6  * License:
7  *
8  * Description:
9  * The main header file from the 'geomtools' package.
10  *
11  * History:
12  *
13  */
14 
15 #ifndef GEOMTOOLS_GEOMTOOLS_H
16 #define GEOMTOOLS_GEOMTOOLS_H 1
17 
18 // Library's version:
20 
21 // Basic utilities:
22 #include <geomtools/clhep.h>
29 #include <geomtools/units.h>
31 #include <geomtools/utils.h>
33 // Handling of specific properties:
34 #include <geomtools/color.h>
35 #include <geomtools/visibility.h>
36 #include <geomtools/sensitive.h>
37 #include <geomtools/material.h>
38 
39 // Miscellaneous:
40 #include <geomtools/intersection.h> /* Data structure that describes the intersecting point between
41  * some surface and a segment */
42 #include <geomtools/i_stackable.h> /* Interface for solids that may be stacked with others */
43 
44 // Interfaces for 1D, 2D and 3D geometrical objects:
45 #include <geomtools/i_object_3d.h> /* 3D-object main interface */
46 #include <geomtools/i_shape_1d.h> /* 1D-shape interface */
47 #include <geomtools/i_shape_2d.h> /* 2D-shape interface */
48 #include <geomtools/i_shape_3d.h> /* 3D-shape interface */
49 
50 // Logical and physical volume (using some similar approach than in GEANT4)
51 #include <geomtools/logical_volume.h> /* Logical volume (ala GEANT4) */
52 #include <geomtools/physical_volume.h> /* Physical volume (ala GEANT4) */
53 
54 // Useful 3D solids (GDML/GEANT compatible):
55 #include <geomtools/box.h>
56 #include <geomtools/cylinder.h>
57 #include <geomtools/tube.h>
58 #include <geomtools/sphere.h>
59 #include <geomtools/polycone.h>
60 #include <geomtools/polyhedra.h>
61 #include <geomtools/tessellation.h>
62 //#include <geomtools/hexagon_box.h>
63 
64 // Useful 3D composite solids (GDML/GEANT compatible):
65 #include <geomtools/i_composite_shape_3d.h> /* Interface for solid shapes made of
66  * a logical combination of 2 shapes
67  */
70 #include <geomtools/union_3d.h>
71 
72 // 1D or 2D useful shapes:
73 #include <geomtools/polyline_3d.h>
74 #include <geomtools/disk.h>
75 #include <geomtools/circle.h>
76 #include <geomtools/rectangle.h>
77 #include <geomtools/helix_3d.h>
78 #include <geomtools/line_3d.h>
80 
81 // Placements:
82 #include <geomtools/i_placement.h> /* Interface for virtual placement objects */
83 #include <geomtools/placement.h> /* Basic (simple) unique placement with
84  * one translation and one rotation
85  */
86 #include <geomtools/multiple_placement.h> /* Placement object that handles several
87  * arbitrary placements for several 3D-objects
88  */
89 #include <geomtools/regular_grid_placement.h> /* Placement object that handles several
90  * placements for several 3D-objects
91  * using a regular 2D-grid pattern
92  */
93 #include <geomtools/regular_linear_placement.h> /* Placement object that handles several
94  * placements for several 3D-objects
95  * using a regular 1D-grid pattern
96  */
97 
98 // Geometry models:
99 #include <geomtools/i_model.h> /* the main interface for virtual geometry model objects */
100 #include <geomtools/i_boxed_model.h> // maybe obsolete thanks to the new 'i_stackable' concept
101 #include <geomtools/model_with_internal_items_tools.h> /* Tools to place several geometry model objects
102  * within a given geometry mother model
103  */
104 
105 // The model factory:
106 #include <geomtools/model_factory.h> /* A manager that can dynamically build a full tree of geometry models
107  * using directives from properties files (ASCII)
108  */
109 
110 // Some useful pre-defined models:
114 #include <geomtools/stacked_model.h>
120 
121 // IDs and mapping:
122 #include <geomtools/mapping_utils.h>
123 #include <geomtools/geom_id.h>
124 #include <geomtools/geom_info.h>
125 #include <geomtools/geom_map.h>
126 #include <geomtools/mapping.h>
127 #include <geomtools/id_mgr.h>
128 #include <geomtools/address_set.h>
129 #include <geomtools/id_selector.h>
130 
131 // Locators:
132 #include <geomtools/i_locator.h> // Geometry locator interface
133 #include <geomtools/smart_id_locator.h> // A smart geometry locator
134 
135 // GDML:
136 #include <geomtools/gdml_writer.h> // GDML streaming primitives
137 #include <geomtools/gdml_export.h> // GDML export manager
138 
139 // Gnuplot renderer:
140 #include <geomtools/gnuplot_draw.h> // Gnuplot streaming primitives
141 #include <geomtools/gnuplot_drawer.h> // Gnuplot renderer manager
142 #include <geomtools/gnuplot_i.h> // On the fly gnuplot rendering utilities
143 
144 #endif // GEOMTOOLS_GEOMTOOLS_H
145 
146 /*
147 ** Local Variables: --
148 ** mode: c++ --
149 ** c-file-style: "gnu" --
150 ** tab-width: 2 --
151 ** End: --
152 */