Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Member Functions | List of all members
geomtools::i_placement Class Referenceabstract

Abstract interface for all placement objects. More...

#include <bayeux/geomtools/i_placement.h>

Inheritance diagram for geomtools::i_placement:
datatools::i_serializable datatools::i_tree_dumpable geomtools::multiple_placement geomtools::placement geomtools::regular_3d_mesh_placement geomtools::regular_circular_placement geomtools::regular_grid_placement geomtools::regular_linear_placement

Public Member Functions

 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...
 
virtual bool has_only_one_rotation () const
 Check if the placement is based on one unique rotation. More...
 
virtual size_t get_dimension () const =0
 
virtual size_t get_number_of_items () const =0
 Return the number of placement items. More...
 
virtual size_t compute_index_map (std::vector< uint32_t > &map_, int item_) const =0
 Compute an array of indexes in a multidimensional frame from the item rank/index. More...
 
virtual bool is_replica () const =0
 Check if the placement is a replica (GDML/Geant4 concept for multiple placement objects) More...
 
virtual void get_placement (int item_, placement &p_) const =0
 Compute the placement at given item rank/index. More...
 
void compute_placement (int item_, placement &p_) const
 Compute the placement at given item rank/index. 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...
 
- 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
 

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

Abstract interface for all placement objects.

Constructor & Destructor Documentation

◆ i_placement()

geomtools::i_placement::i_placement ( )

Default constructor.

◆ ~i_placement()

virtual geomtools::i_placement::~i_placement ( )
virtual

Destructor.

Member Function Documentation

◆ compute_index_map()

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

◆ compute_placement()

void geomtools::i_placement::compute_placement ( int  item_,
placement p_ 
) const

Compute the placement at given item rank/index.

◆ get_dimension()

virtual size_t geomtools::i_placement::get_dimension ( ) const
pure 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

Implemented in geomtools::placement, geomtools::regular_grid_placement, geomtools::regular_3d_mesh_placement, geomtools::regular_linear_placement, geomtools::multiple_placement, and geomtools::regular_circular_placement.

◆ get_number_of_items()

virtual size_t geomtools::i_placement::get_number_of_items ( ) const
pure virtual

◆ get_placement() [1/2]

placement geomtools::i_placement::get_placement ( int  item_) const

Return the placement at given item rank/index.

◆ get_placement() [2/2]

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

◆ get_placement_by_index()

placement geomtools::i_placement::get_placement_by_index ( int  item_) const

Same as get_placement(int) but workaround method overloading for CAMP.

◆ has_only_one_rotation()

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

◆ is_multiple()

bool geomtools::i_placement::is_multiple ( ) const

Check if the placement handles multiple positions.

◆ is_replica()

virtual bool geomtools::i_placement::is_replica ( ) const
pure virtual

◆ tree_dump()

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

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