Bayeux  3.4.1
Core Foundation library for SuperNEMO
spot_vertex_generator.h
Go to the documentation of this file.
1 /* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2010-02-12
4  * Last modified: 2014-04-09
5  *
6  * License:
7  *
8  * Description:
9  * Spot vertex generator
10  *
11  * History:
12  *
13  */
14 
15 #ifndef GENVTX_SPOT_VERTEX_GENERATOR_H
16 #define GENVTX_SPOT_VERTEX_GENERATOR_H 1
17 
18 // This project:
20 
21 namespace datatools {
22  class properties;
23 }
24 
25 namespace genvtx {
26 
29  {
30 
31  public:
32 
33  const geomtools::vector_3d & get_spot () const;
34 
35  void set_spot (double x_, double y_, double z_);
36 
37  void set_spot (const geomtools::vector_3d &);
38 
41 
43  spot_vertex_generator (double x_, double y_, double z_);
44 
47 
49  virtual ~spot_vertex_generator();
50 
52  virtual void initialize(const ::datatools::properties &,
55 
57  virtual void reset();
58 
60  virtual bool is_initialized() const;
61 
62  protected :
63 
65  virtual void _shoot_vertex(::mygsl::rng & random_, ::geomtools::vector_3d & vertex_);
66 
67  private:
68 
69  geomtools::vector_3d _spot_;
70 
74 
75  };
76 
77 } // end of namespace genvtx
78 
79 /***************
80  * OCD support *
81  ***************/
82 #include <datatools/ocd_macros.h>
84 
85 #endif // GENVTX_SPOT_VERTEX_GENERATOR_H
86 
87 /*
88 ** Local Variables: --
89 ** mode: c++ --
90 ** c-file-style: "gnu" --
91 ** tab-width: 2 --
92 ** End: --
93 */
virtual void reset()
Reset.
virtual void initialize(const ::datatools::properties &, ::datatools::service_manager &, ::genvtx::vg_dict_type &)
Initialization.
Top-level namespace of the Bayeux/genvtx module library.
Definition: box_model_vg.h:32
virtual bool is_initialized() const
Check initialization status.
Vertex generator from a single point.
Definition: spot_vertex_generator.h:28
virtual ~spot_vertex_generator()
Destructor.
spot_vertex_generator()
Constructor.
virtual void _shoot_vertex(::mygsl::rng &random_, ::geomtools::vector_3d &vertex_)
Randomize vertex.
DOCD_CLASS_DECLARATION(my::algo)
Declaration of the OCD support for the my::algo class.
void set_spot(double x_, double y_, double z_)
const geomtools::vector_3d & get_spot() const
CLHEP::Hep3Vector vector_3d
Alias for the CLHEP 3D-vector class.
Definition: clhep.h:63
The Bayeux/datatools library top-level namespace.
Definition: algo.h:13
The base interface class for all vertex generator classes.
Definition: i_vertex_generator.h:59
#define GENVTX_VG_REGISTRATION_INTERFACE(GENVTX_CLASS_NAME)
Definition: vg_macros.h:46
std::map< std::string, vg_entry_type > vg_dict_type
Definition: vg_tools.h:125
Service management class.
Definition: service_manager.h:57
Pseudo random number generator.
Definition: rng.h:53