16 #ifndef GENVTX_COMBINED_VG_H 17 #define GENVTX_COMBINED_VG_H 1 51 const std::string & a_name,
52 double a_weight = 1.0);
55 virtual void tree_dump (std::ostream & out_ = std::clog,
56 const std::string & title_ =
"",
57 const std::string & indent_ =
"",
58 bool inherit_ =
false)
const;
67 virtual void initialize(const ::datatools::properties &,
96 void _set_defaults_ ();
101 std::vector<entry_type> _entries_;
117 #endif // GENVTX_COMBINED_VG_H double cumulated_weight
Cumulated weight of the generator.
Definition: combined_vg.h:43
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 void _shoot_vertex(::mygsl::rng &random_, ::geomtools::vector_3d &vertex_)
Randomize vertex.
entry_type()
Default constructor.
combined_vg()
Constructor.
virtual void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
virtual bool is_initialized() const
Check initialization status.
DOCD_CLASS_DECLARATION(my::algo)
Declaration of the OCD support for the my::algo class.
genvtx::vg_handle_type vg_handle
Definition: combined_vg.h:44
virtual ~combined_vg()
Destructor.
virtual void reset()
Reset.
double weight
Weight of the generator (branching ratio)
Definition: combined_vg.h:42
Utilities for logging information.
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
Macros to automatically register vertex generator class.
Entry for a vertex generator to be combined.
Definition: combined_vg.h:39
void _shoot_vertex_combined(mygsl::rng &random_, geomtools::vector_3d &vertex_)
Main algorithm.
std::map< std::string, vg_entry_type > vg_dict_type
Definition: vg_tools.h:125
A vertex generator that combined several vertex generators wuth specific weighting rules.
Definition: combined_vg.h:33
void add_generator(genvtx::vg_handle_type &a_vg, const std::string &a_name, double a_weight=1.0)
Add a generator to be combined.
Pseudo random number generator.
Definition: rng.h:53
std::string name
Name of the generator.
Definition: combined_vg.h:41