16 #ifndef GENVTX_CYLINDER_VG_H 17 #define GENVTX_CYLINDER_VG_H 1 66 void set_bulk (
double skin_thickness_);
102 void tree_dump (std::ostream & out_ = std::clog,
103 const std::string & title_ =
"",
104 const std::string & indent_ =
"",
105 bool inherit_ =
false)
const;
114 virtual void initialize(const ::datatools::properties &,
119 virtual void reset();
138 void _set_defaults_ ();
149 double _skin_thickness_;
150 double _sum_weight_[3];
160 #endif // GENVTX_CYLINDER_VG_H int get_mode() const
Return mode.
static const int MODE_BULK
Definition: cylinder_vg.h:46
const geomtools::cylinder & get_cylinder() const
Return a const referece to the embedded cylinder.
virtual void reset()
Reset.
virtual ~cylinder_vg()
Destructor.
Top-level namespace of the Bayeux/genvtx module library.
Definition: box_model_vg.h:32
const geomtools::cylinder & get_cylinder_ref() const
Return a const reference to the referenced external cylinder.
bool has_cylinder_ref() const
Check if a referenced cylinder is available.
void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
void set_cylinder_ref(const geomtools::cylinder &cylinder_)
Set the reference to an external cylinder.
static const int MODE_SURFACE
Definition: cylinder_vg.h:47
static const int MODE_DEFAULT
Definition: cylinder_vg.h:48
void set_surface_mask(int surface_mask_)
Set the surface mask.
void set_skin_skip(double skin_skip_)
Set the skin skip distance.
const geomtools::cylinder & get_cylinder_safe() const
Return a safe const reference to the cylinder.
virtual void _shoot_vertex(::mygsl::rng &random_, ::geomtools::vector_3d &vertex_)
Randomize vertex.
void set_skin_thickness(double skin_thickness_)
Set the skin thickness.
bool has_cylinder_safe() const
Check if a safe referenced cylinder is available.
static const int MODE_INVALID
Definition: cylinder_vg.h:45
cylinder_vg()
Constructor.
virtual void initialize(const ::datatools::properties &, ::datatools::service_manager &, ::genvtx::vg_dict_type &)
Initialization.
void set_surface(int surface_mask_)
Set surface mode.
void set_logical(const geomtools::logical_volume &)
Set the reference to an external logical.
The base interface class for all vertex generator classes.
Definition: i_vertex_generator.h:59
virtual bool is_initialized() const
Check initialization status.
#define GENVTX_VG_REGISTRATION_INTERFACE(GENVTX_CLASS_NAME)
Definition: vg_macros.h:46
bool has_logical() const
Check if a referenced logical is available.
A vertex generator based on the geometry of a 3D cylinder.
Definition: cylinder_vg.h:41
std::map< std::string, vg_entry_type > vg_dict_type
Definition: vg_tools.h:125
void reset_logical()
Reset the reference to an external logical.
void set_cylinder(const geomtools::cylinder &cylinder_)
Set the embedded cylinder.
void set_bulk(double skin_thickness_)
Set bulk mode.
Pseudo random number generator.
Definition: rng.h:53
void set_mode(int mode_)
Set mode.