Bayeux  3.4.1
Core Foundation library for SuperNEMO
conical_frustrum_random_tools.h
Go to the documentation of this file.
1 /* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2012-09-26
4  * Last modified: 2014-04-09
5  *
6  * License:
7  *
8  * Description:
9  *
10  * Algorithms to randomize points on the surface or volume of a conical_frustrum
11  *
12  * History:
13  *
14  *
15  */
16 
17 #ifndef GENVTX_CONICAL_FRUSTRUM_RANDOM_TOOLS_H
18 #define GENVTX_CONICAL_FRUSTRUM_RANDOM_TOOLS_H 1
19 
20 // Standard library
21 #include <cmath>
22 
23 // Third party
24 // - geomtools
25 #include <geomtools/utils.h>
26 // - mygsl
27 #include <mygsl/rng.h>
28 
29 namespace genvtx {
30 
32 
34  static
36  random_surface (mygsl::rng & random_,
37  double radius1_,
38  double radius2_,
39  double length_,
40  double thickness_ = 0.0,
41  double theta1_ = 0.0,
42  double theta2_ = M_PI);
43 
45  static
47  random_volume (mygsl::rng & random_,
48  double a1_,
49  double b1_,
50  double a2_,
51  double b2_,
52  double length_,
53  double thickness_ = 0.0,
54  double theta1_ = 0.0,
55  double theta2_ = M_PI);
56 
57  };
58 
59 } // end of namespace genvtx
60 
61 #endif // GENVTX_CONICAL_FRUSTRUM_RANDOM_TOOLS_H
62 
63 /*
64 ** Local Variables: --
65 ** mode: c++ --
66 ** c-file-style: "gnu" --
67 ** tab-width: 2 --
68 ** End: --
69 */
Top-level namespace of the Bayeux/genvtx module library.
Definition: box_model_vg.h:32
static geomtools::vector_3d random_volume(mygsl::rng &random_, double a1_, double b1_, double a2_, double b2_, double length_, double thickness_=0.0, double theta1_=0.0, double theta2_=M_PI)
Randomize points from the volume of a right circular conical frustrum.
static geomtools::vector_3d random_surface(mygsl::rng &random_, double radius1_, double radius2_, double length_, double thickness_=0.0, double theta1_=0.0, double theta2_=M_PI)
Randomize points from the surface of a right circular conical frustrum.
CLHEP::Hep3Vector vector_3d
Alias for the CLHEP 3D-vector class.
Definition: clhep.h:63
Definition: conical_frustrum_random_tools.h:31
Pseudo random number generator.
Definition: rng.h:53