Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
A point of interest (POI) in the geometry. More...
#include <bayeux/mctools/biasing/point_of_interest.h>
Public Types | |
enum | attractive_shape_type { ATTRACTIVE_SHAPE_INVALID = 0, ATTRACTIVE_SHAPE_SPHERE = 1, ATTRACTIVE_SHAPE_DISC = 2 } |
Public Types inherited from datatools::i_tree_dumpable | |
enum | ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 } |
Enumeration for standard output streams. More... | |
Public Member Functions | |
point_of_interest () | |
Default constructor. More... | |
void | set_name (const std::string &) |
Set the name. More... | |
const std::string & | get_name () const |
Return the name. More... | |
void | set_position (const geomtools::vector_3d &) |
Set the position. More... | |
const geomtools::vector_3d & | get_position () const |
Return the position. More... | |
geomtools::vector_3d & | grab_position () |
Return the position. More... | |
void | set_orientation (const geomtools::vector_3d &) |
Set the orientation. More... | |
const geomtools::vector_3d & | get_orientation () const |
Return the orientation. More... | |
void | set_attractivity (double) |
Set the attractivity. More... | |
double | get_attractivity () const |
Return the attractivity. More... | |
bool | has_attractivity () const |
Check if the point of interest has a defined attractivity. More... | |
bool | is_attractive () const |
Check if the point of interest is attractive. More... | |
bool | is_repulsive () const |
Check if the point of interest is repulsive. More... | |
bool | is_neutral () const |
Check if the point of interest has zero attractivity. More... | |
void | set_radius (double) |
Set the radius. More... | |
double | get_radius () const |
Return the radius. More... | |
bool | is_valid () const |
Check validity. More... | |
void | invalidate () |
Invalidate. More... | |
void | initialize (const datatools::properties &config_, const geomtools::manager *geomgr_=0) |
Initialization. More... | |
virtual void | tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const |
Smart print. More... | |
bool | hit (const geomtools::vector_3d &source_, const geomtools::vector_3d &direction_) const |
Check if a linear trajectory coming from a given source with a given direction traverse the sphere. More... | |
Public Member Functions inherited from datatools::i_tree_dumpable | |
i_tree_dumpable () | |
Constructor. More... | |
virtual | ~i_tree_dumpable () |
Destructor. More... | |
virtual void | print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const |
Main new interface method for printing. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const |
Printing with jsonized options. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const |
Printing with jsonized options. More... | |
void | tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const |
void | tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const |
void | smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const |
Protected Member Functions | |
void | _set_default () |
Set the default attributes. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from datatools::i_tree_dumpable | |
static const boost::property_tree::ptree & | empty_options () |
static boost::property_tree::ptree | make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false) |
static std::ostream & | last_skip_tag (std::ostream &out_) |
static std::ostream & | skip_tag (std::ostream &out_) |
static std::ostream & | last_tag (std::ostream &out_) |
static std::ostream & | tag (std::ostream &out_) |
A point of interest (POI) in the geometry.
A point of interest (POI) is defined by a special position of the geometry setup associated to a radius that defines a fiducial spherical region around that position. More, a POI is given an attractivity value that reflects that the POI is attractive (positive values) or repulsive (negative value) typically with respect to the tracking of simulated particles. A zero attractivity qualifies a neutral POI.
The concept of POI allows to define some favoured tracking direction while propagating particles within the geometry. It can be used to configure biasing algorithms.
TO DO: Use a 2D/3D oriented blur_spot for better flexibility
mctools::biasing::point_of_interest::point_of_interest | ( | ) |
Default constructor.
|
protected |
Set the default attributes.
double mctools::biasing::point_of_interest::get_attractivity | ( | ) | const |
Return the attractivity.
const std::string& mctools::biasing::point_of_interest::get_name | ( | ) | const |
Return the name.
const geomtools::vector_3d& mctools::biasing::point_of_interest::get_orientation | ( | ) | const |
Return the orientation.
const geomtools::vector_3d& mctools::biasing::point_of_interest::get_position | ( | ) | const |
Return the position.
double mctools::biasing::point_of_interest::get_radius | ( | ) | const |
Return the radius.
geomtools::vector_3d& mctools::biasing::point_of_interest::grab_position | ( | ) |
Return the position.
bool mctools::biasing::point_of_interest::has_attractivity | ( | ) | const |
Check if the point of interest has a defined attractivity.
bool mctools::biasing::point_of_interest::hit | ( | const geomtools::vector_3d & | source_, |
const geomtools::vector_3d & | direction_ | ||
) | const |
Check if a linear trajectory coming from a given source with a given direction traverse the sphere.
void mctools::biasing::point_of_interest::initialize | ( | const datatools::properties & | config_, |
const geomtools::manager * | geomgr_ = 0 |
||
) |
Initialization.
void mctools::biasing::point_of_interest::invalidate | ( | ) |
Invalidate.
bool mctools::biasing::point_of_interest::is_attractive | ( | ) | const |
Check if the point of interest is attractive.
bool mctools::biasing::point_of_interest::is_neutral | ( | ) | const |
Check if the point of interest has zero attractivity.
bool mctools::biasing::point_of_interest::is_repulsive | ( | ) | const |
Check if the point of interest is repulsive.
bool mctools::biasing::point_of_interest::is_valid | ( | ) | const |
Check validity.
void mctools::biasing::point_of_interest::set_attractivity | ( | double | ) |
Set the attractivity.
void mctools::biasing::point_of_interest::set_name | ( | const std::string & | ) |
Set the name.
void mctools::biasing::point_of_interest::set_orientation | ( | const geomtools::vector_3d & | ) |
Set the orientation.
void mctools::biasing::point_of_interest::set_position | ( | const geomtools::vector_3d & | ) |
Set the position.
void mctools::biasing::point_of_interest::set_radius | ( | double | ) |
Set the radius.
|
virtual |
Smart print.
Reimplemented from datatools::i_tree_dumpable.