16 #ifndef GENVTX_POLYCONE_VG_H 17 #define GENVTX_POLYCONE_VG_H 1 61 void set_angles(
double theta_min_,
double theta_max_);
67 void set_bulk(
int bulk_mask_,
double skin_thickness_);
79 void tree_dump(std::ostream & out_ = std::clog,
80 const std::string & title_ =
"",
81 const std::string & indent_ =
"",
82 bool inherit_ =
false)
const;
95 virtual void initialize(const ::datatools::properties &,
100 virtual void reset();
113 void _set_defaults_();
123 double _skin_thickness_;
126 double _sum_surface_weight_[4];
127 double _sum_bulk_weight_[2];
128 std::vector<bool> _active_frustra_;
129 std::vector<double> _volume_inner_frustra_;
130 std::vector<double> _volume_frustra_;
131 std::vector<double> _surface_inner_frustra_;
132 std::vector<double> _surface_outer_frustra_;
133 double _surface_bottom_;
134 double _surface_top_;
144 #endif // GENVTX_POLYCONE_VG_H void set_skin_thickness(double skin_thickness_)
Top-level namespace of the Bayeux/genvtx module library.
Definition: box_model_vg.h:32
void set_polycone(const geomtools::polycone &polycone_)
virtual ~polycone_vg()
Destructor.
void set_angles(double theta_min_, double theta_max_)
static const int MODE_INVALID
Definition: polycone_vg.h:41
bulk_bits
Definition: polycone_vg.h:46
static const int MODE_SURFACE
Definition: polycone_vg.h:43
Definition: polycone_vg.h:50
void set_active_all_frustrum()
void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
void set_bulk(int bulk_mask_, double skin_thickness_)
polycone_vg()
Constructor.
Definition: polycone_vg.h:49
virtual void initialize(const ::datatools::properties &, ::datatools::service_manager &, ::genvtx::vg_dict_type &)
Initialization.
static const int MODE_DEFAULT
Definition: polycone_vg.h:44
void set_skin_skip(double skin_skip_)
Definition: polycone_vg.h:47
const geomtools::polycone & get_polycone() const
virtual bool is_initialized() const
Check initialization status.
void set_surface_mask(int surface_mask_)
A vertex generator based on the geometry of a 3D polycone.
Definition: polycone_vg.h:37
void set_surface(int surface_mask_)
static const int MODE_BULK
Definition: polycone_vg.h:42
The base interface class for all vertex generator classes.
Definition: i_vertex_generator.h:59
void set_bulk_mask(int bulk_mask_)
#define GENVTX_VG_REGISTRATION_INTERFACE(GENVTX_CLASS_NAME)
Definition: vg_macros.h:46
Definition: polycone_vg.h:48
std::map< std::string, vg_entry_type > vg_dict_type
Definition: vg_tools.h:125
void set_active_frustrum(size_t index_, bool active_)
virtual void reset()
Reset.
virtual void _shoot_vertex(::mygsl::rng &random_, ::geomtools::vector_3d &vertex_)
Randomize vertex.
Pseudo random number generator.
Definition: rng.h:53