Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Member Functions | Protected Member Functions | List of all members
geomtools::regular_3d_mesh_placement Class Reference

Regular 3D mesh placement of small daughter volumes with respect to a mother logical volume. More...

#include <bayeux/geomtools/regular_3d_mesh_placement.h>

Inheritance diagram for geomtools::regular_3d_mesh_placement:
geomtools::i_placement datatools::i_serializable datatools::i_tree_dumpable

Public Member Functions

bool is_valid () const
 Check the validity of the mesh placement. More...
 
void invalidate ()
 Invalidate the mesh placement. More...
 
void set_logging (datatools::logger::priority)
 Set the logging priprity threshold. More...
 
datatools::logger::priority get_logging () const
 Return the logging priprity threshold. More...
 
bool has_cache_file_path () const
 Check if a cache file path is set. More...
 
const std::string & get_cache_file_path () const
 Return the cache file path. More...
 
void set_cache_file_path (const std::string &)
 Set the cache file path. More...
 
void set_log_vol (const logical_volume &)
 
bool has_log_vol () const
 
void set_node_log_vol (const logical_volume &)
 
bool has_node_log_vol () const
 
void set_steps (double step_x_, double step_y_, double step_z_)
 
void set_starts (double x0_, double y0_, double z0_)
 
void set_stops (double x1_, double y1_, double z1_)
 
void set_step_x (double step_x_)
 
void set_step_y (double step_y_)
 
void set_step_z (double step_z_)
 
void set_start_x (double x0_)
 
void set_start_y (double y0_)
 
void set_start_z (double z0_)
 
void set_stop_x (double x1_)
 
void set_stop_y (double y1_)
 
void set_stop_z (double z1_)
 
void set_overlapping_flags (uint32_t)
 
uint32_t get_overlapping_flags () const
 
virtual bool has_only_one_rotation () const
 Check if the placement is based on one unique rotation. More...
 
virtual size_t get_dimension () const
 
virtual bool is_replica () const
 Check if the placement is a replica (GDML/Geant4 concept for multiple placement objects) More...
 
virtual size_t get_number_of_items () const
 Return the number of placement items. More...
 
virtual void get_placement (int item_, placement &p_) const
 Compute the placement at given item rank/index. More...
 
virtual size_t compute_index_map (std::vector< uint32_t > &map_, int item_) const
 Compute an array of indexes in a multidimensional frame from the item rank/index. More...
 
const placementget_basic_placement () const
 
 regular_3d_mesh_placement ()
 
virtual ~regular_3d_mesh_placement ()
 
bool is_initialized () const
 
void initialize ()
 
void initialize (const datatools::properties &config_)
 
virtual void reset ()
 
virtual void tree_dump (std::ostream &out_=std::clog, const std::string &title_="geomutils::regular_grid_placement", const std::string &indent_="", bool inherit_=false) const
 Smart print. More...
 
- Public Member Functions inherited from geomtools::i_placement
 i_placement ()
 Default constructor. More...
 
virtual ~i_placement ()
 Destructor. More...
 
bool is_multiple () const
 Check if the placement handles multiple positions. More...
 
placement get_placement (int item_) const
 Return the placement at given item rank/index. More...
 
placement get_placement_by_index (int item_) const
 Same as get_placement(int) but workaround method overloading for CAMP. More...
 
void compute_placement (int item_, placement &p_) const
 Compute the placement at given item rank/index. More...
 
- Public Member Functions inherited from datatools::i_serializable
 i_serializable ()
 Default constructor. More...
 
virtual ~i_serializable ()
 Destructor. More...
 
virtual const std::string & get_serial_tag () const =0
 Return the serialization string identifier of the class. 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 _load_cache (const std::string &cache_file_path_)
 
void _store_cache (const std::string &cache_file_path_)
 
void _set_defaults ()
 
void _init (const datatools::properties &config_)
 
void _fini ()
 

Additional Inherited Members

- 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...
 
- 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_)
 

Detailed Description

Regular 3D mesh placement of small daughter volumes with respect to a mother logical volume.

Constructor & Destructor Documentation

◆ regular_3d_mesh_placement()

geomtools::regular_3d_mesh_placement::regular_3d_mesh_placement ( )

◆ ~regular_3d_mesh_placement()

virtual geomtools::regular_3d_mesh_placement::~regular_3d_mesh_placement ( )
virtual

Member Function Documentation

◆ _fini()

void geomtools::regular_3d_mesh_placement::_fini ( )
protected

◆ _init()

void geomtools::regular_3d_mesh_placement::_init ( const datatools::properties config_)
protected

◆ _load_cache()

void geomtools::regular_3d_mesh_placement::_load_cache ( const std::string &  cache_file_path_)
protected

◆ _set_defaults()

void geomtools::regular_3d_mesh_placement::_set_defaults ( )
protected

◆ _store_cache()

void geomtools::regular_3d_mesh_placement::_store_cache ( const std::string &  cache_file_path_)
protected

◆ compute_index_map()

virtual size_t geomtools::regular_3d_mesh_placement::compute_index_map ( std::vector< uint32_t > &  map_,
int  item_ 
) const
virtual

Compute an array of indexes in a multidimensional frame from the item rank/index.

Implements geomtools::i_placement.

◆ get_basic_placement()

const placement& geomtools::regular_3d_mesh_placement::get_basic_placement ( ) const

◆ get_cache_file_path()

const std::string& geomtools::regular_3d_mesh_placement::get_cache_file_path ( ) const

Return the cache file path.

◆ get_dimension()

virtual size_t geomtools::regular_3d_mesh_placement::get_dimension ( ) const
virtual

Return the dimension of the placement object

A single unique placement is of dimension 0 A multiple placement replicated along a given axis is of dimension 0 A multiple placement replicated along a 2D mesh addresses by X-Y grid coordinates is of dimension 2

Implements geomtools::i_placement.

◆ get_logging()

datatools::logger::priority geomtools::regular_3d_mesh_placement::get_logging ( ) const

Return the logging priprity threshold.

◆ get_number_of_items()

virtual size_t geomtools::regular_3d_mesh_placement::get_number_of_items ( ) const
virtual

Return the number of placement items.

Implements geomtools::i_placement.

◆ get_overlapping_flags()

uint32_t geomtools::regular_3d_mesh_placement::get_overlapping_flags ( ) const

◆ get_placement()

virtual void geomtools::regular_3d_mesh_placement::get_placement ( int  item_,
placement p_ 
) const
virtual

Compute the placement at given item rank/index.

Implements geomtools::i_placement.

◆ has_cache_file_path()

bool geomtools::regular_3d_mesh_placement::has_cache_file_path ( ) const

Check if a cache file path is set.

◆ has_log_vol()

bool geomtools::regular_3d_mesh_placement::has_log_vol ( ) const

◆ has_node_log_vol()

bool geomtools::regular_3d_mesh_placement::has_node_log_vol ( ) const

◆ has_only_one_rotation()

virtual bool geomtools::regular_3d_mesh_placement::has_only_one_rotation ( ) const
virtual

Check if the placement is based on one unique rotation.

Reimplemented from geomtools::i_placement.

◆ initialize() [1/2]

void geomtools::regular_3d_mesh_placement::initialize ( )

◆ initialize() [2/2]

void geomtools::regular_3d_mesh_placement::initialize ( const datatools::properties config_)

◆ invalidate()

void geomtools::regular_3d_mesh_placement::invalidate ( )

Invalidate the mesh placement.

◆ is_initialized()

bool geomtools::regular_3d_mesh_placement::is_initialized ( ) const

◆ is_replica()

virtual bool geomtools::regular_3d_mesh_placement::is_replica ( ) const
virtual

Check if the placement is a replica (GDML/Geant4 concept for multiple placement objects)

Implements geomtools::i_placement.

◆ is_valid()

bool geomtools::regular_3d_mesh_placement::is_valid ( ) const

Check the validity of the mesh placement.

◆ reset()

virtual void geomtools::regular_3d_mesh_placement::reset ( )
virtual

◆ set_cache_file_path()

void geomtools::regular_3d_mesh_placement::set_cache_file_path ( const std::string &  )

Set the cache file path.

◆ set_log_vol()

void geomtools::regular_3d_mesh_placement::set_log_vol ( const logical_volume )

◆ set_logging()

void geomtools::regular_3d_mesh_placement::set_logging ( datatools::logger::priority  )

Set the logging priprity threshold.

◆ set_node_log_vol()

void geomtools::regular_3d_mesh_placement::set_node_log_vol ( const logical_volume )

◆ set_overlapping_flags()

void geomtools::regular_3d_mesh_placement::set_overlapping_flags ( uint32_t  )

◆ set_start_x()

void geomtools::regular_3d_mesh_placement::set_start_x ( double  x0_)

◆ set_start_y()

void geomtools::regular_3d_mesh_placement::set_start_y ( double  y0_)

◆ set_start_z()

void geomtools::regular_3d_mesh_placement::set_start_z ( double  z0_)

◆ set_starts()

void geomtools::regular_3d_mesh_placement::set_starts ( double  x0_,
double  y0_,
double  z0_ 
)

◆ set_step_x()

void geomtools::regular_3d_mesh_placement::set_step_x ( double  step_x_)

◆ set_step_y()

void geomtools::regular_3d_mesh_placement::set_step_y ( double  step_y_)

◆ set_step_z()

void geomtools::regular_3d_mesh_placement::set_step_z ( double  step_z_)

◆ set_steps()

void geomtools::regular_3d_mesh_placement::set_steps ( double  step_x_,
double  step_y_,
double  step_z_ 
)

◆ set_stop_x()

void geomtools::regular_3d_mesh_placement::set_stop_x ( double  x1_)

◆ set_stop_y()

void geomtools::regular_3d_mesh_placement::set_stop_y ( double  y1_)

◆ set_stop_z()

void geomtools::regular_3d_mesh_placement::set_stop_z ( double  z1_)

◆ set_stops()

void geomtools::regular_3d_mesh_placement::set_stops ( double  x1_,
double  y1_,
double  z1_ 
)

◆ tree_dump()

virtual void geomtools::regular_3d_mesh_placement::tree_dump ( std::ostream &  out_ = std::clog,
const std::string &  title_ = "geomutils::regular_grid_placement",
const std::string &  indent_ = "",
bool  inherit_ = false 
) const
virtual

Smart print.

Reimplemented from geomtools::i_placement.


The documentation for this class was generated from the following file: