Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
geomtools::i_model Class Referenceabstract

The base class for geometry models. More...

#include <bayeux/geomtools/i_model.h>

Inheritance diagram for geomtools::i_model:
datatools::i_tree_dumpable geomtools::cylindric_extrusion_boxed_model geomtools::extruded_box_model geomtools::plate_with_hole_model geomtools::replicated_circular_model geomtools::simple_shaped_model geomtools::simple_world_model geomtools::spherical_extrusion_box_model geomtools::spherical_extrusion_cylinder_model

Public Types

typedef geomtools::models_col_type models_col_type
 The collection of geometry models: More...
 
- 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

model_with_internal_mesh_datagrab_meshes ()
 
const model_with_internal_mesh_dataget_meshes () const
 
bool is_constructed () const
 Check if the construction of the geometry model is completed. More...
 
bool is_phantom_solid () const
 Check if the geometry model is "phantom". More...
 
bool has_name () const
 Check if the name of the geometry model exists. More...
 
void set_name (const std::string &name_)
 Set the name of the geometry model. More...
 
const std::string & get_name () const
 Get the name of the geometry model. More...
 
const datatools::propertiesparameters () const
 Configuration parameters (should be get_) More...
 
datatools::propertiesparameters ()
 Configuration parameters (should be grab_) More...
 
 i_model (const std::string &dummy_="")
 Constructor. More...
 
virtual ~i_model ()
 Destructor. 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...
 
const geomtools::logical_volumeget_logical () const
 Get a non mutable reference to the embedded logical volume. More...
 
geomtools::logical_volumegrab_logical ()
 Get a mutable reference to the embedded logical volume. More...
 
virtual void construct (const std::string &name_, const datatools::properties &setup_, models_col_type *models_=0)
 Method that constructs the geometry model. More...
 
virtual void construct (const std::string &name_, const datatools::properties &setup_, const std::vector< std::string > &properties_prefixes_, models_col_type *models_)
 Main method that constructs the geometry model. More...
 
virtual std::string get_model_id () const =0
 Get the model ID. More...
 
datatools::logger::priority get_logging_priority () const
 Get the logging priority threshold. More...
 
void set_logging_priority (datatools::logger::priority)
 Set the logging priority threshold. More...
 
bool is_debug () const
 Check for debug logging priority threshold. More...
 
void set_debug (bool)
 Force the debug logging priority threshold. More...
 
bool has_shape_factory () const
 Check if an external shape factory is referenced. More...
 
void set_shape_factory (shape_factory &)
 Set a reference to an external shape factory. More...
 
shape_factorygrab_shape_factory ()
 Return a reference to an external shape factory. More...
 
const shape_factoryget_shape_factory () const
 Return a reference to an external shape factory. 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
 

Static Public Member Functions

static const std::string & solid_suffix ()
 
static const std::string & logical_suffix ()
 
static const std::string & physical_suffix ()
 
static const std::string & phantom_solid_flag ()
 
static const std::string & exported_properties_prefixes_key ()
 
static void init_ocd (datatools::object_configuration_description &ocd_)
 OCD support. More...
 
static std::string make_solid_name (const std::string &basename_)
 
static std::string make_logical_volume_name (const std::string &basename_)
 
static std::string make_physical_volume_name (const std::string &basename_)
 
static std::string make_physical_volume_name_per_item (const std::string &basename_, int i_)
 
static std::string make_physical_volume_name_per_item (const std::string &basename_, int i_, int j_)
 
static std::string make_physical_volume_name (const std::string &basename_, int nitems_)
 
static std::string make_physical_volume_name (const std::string &basename_, int ncols_, int nrows_)
 
static std::string extract_label_from_physical_volume_name (const std::string &physical_volume_name_)
 
- 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_)
 

Protected Member Functions

void _set_phantom_solid (bool)
 Set the phantom solid flag. More...
 
void _mandatory_pre_construct (datatools::properties &setup_, models_col_type *models_)
 Mandatory pre construction. More...
 
virtual void _pre_construct (datatools::properties &setup_, models_col_type *models_)
 Pre-construction hook. More...
 
virtual void _at_construct (const std::string &name_, const datatools::properties &setup_, models_col_type *models_=0)=0
 The main construction hook. More...
 
virtual void _post_construct (datatools::properties &setup_, models_col_type *models_)
 Post-construction hook. More...
 
void _mandatory_post_construct (datatools::properties &setup_, models_col_type *models_)
 Mandatory post construction. More...
 

Protected Attributes

datatools::logger::priority _logging_priority
 Logging priority threshold. More...
 
bool _phantom_solid
 Special flag (not used yet) More...
 
geomtools::logical_volume _logical
 Top logical volume attached to the model. More...
 

Detailed Description

The base class for geometry models.

Member Typedef Documentation

◆ models_col_type

The collection of geometry models:

Constructor & Destructor Documentation

◆ i_model()

geomtools::i_model::i_model ( const std::string &  dummy_ = "")

Constructor.

◆ ~i_model()

virtual geomtools::i_model::~i_model ( )
virtual

Destructor.

Member Function Documentation

◆ _at_construct()

virtual void geomtools::i_model::_at_construct ( const std::string &  name_,
const datatools::properties setup_,
models_col_type models_ = 0 
)
protectedpure virtual

◆ _mandatory_post_construct()

void geomtools::i_model::_mandatory_post_construct ( datatools::properties setup_,
models_col_type models_ 
)
protected

Mandatory post construction.

◆ _mandatory_pre_construct()

void geomtools::i_model::_mandatory_pre_construct ( datatools::properties setup_,
models_col_type models_ 
)
protected

Mandatory pre construction.

◆ _post_construct()

virtual void geomtools::i_model::_post_construct ( datatools::properties setup_,
models_col_type models_ 
)
protectedvirtual

Post-construction hook.

Reimplemented in geomtools::simple_shaped_model, and geomtools::replicated_circular_model.

◆ _pre_construct()

virtual void geomtools::i_model::_pre_construct ( datatools::properties setup_,
models_col_type models_ 
)
protectedvirtual

Pre-construction hook.

Reimplemented in geomtools::simple_shaped_model, and geomtools::replicated_circular_model.

◆ _set_phantom_solid()

void geomtools::i_model::_set_phantom_solid ( bool  )
protected

Set the phantom solid flag.

◆ construct() [1/2]

virtual void geomtools::i_model::construct ( const std::string &  name_,
const datatools::properties setup_,
models_col_type models_ = 0 
)
virtual

Method that constructs the geometry model.

◆ construct() [2/2]

virtual void geomtools::i_model::construct ( const std::string &  name_,
const datatools::properties setup_,
const std::vector< std::string > &  properties_prefixes_,
models_col_type models_ 
)
virtual

Main method that constructs the geometry model.

◆ exported_properties_prefixes_key()

static const std::string& geomtools::i_model::exported_properties_prefixes_key ( )
static

◆ extract_label_from_physical_volume_name()

static std::string geomtools::i_model::extract_label_from_physical_volume_name ( const std::string &  physical_volume_name_)
static

◆ get_logging_priority()

datatools::logger::priority geomtools::i_model::get_logging_priority ( ) const

Get the logging priority threshold.

◆ get_logical()

const geomtools::logical_volume& geomtools::i_model::get_logical ( ) const

Get a non mutable reference to the embedded logical volume.

◆ get_meshes()

const model_with_internal_mesh_data& geomtools::i_model::get_meshes ( ) const

◆ get_model_id()

virtual std::string geomtools::i_model::get_model_id ( ) const
pure virtual

◆ get_name()

const std::string& geomtools::i_model::get_name ( ) const

Get the name of the geometry model.

◆ get_shape_factory()

const shape_factory& geomtools::i_model::get_shape_factory ( ) const

Return a reference to an external shape factory.

◆ grab_logical()

geomtools::logical_volume& geomtools::i_model::grab_logical ( )

Get a mutable reference to the embedded logical volume.

◆ grab_meshes()

model_with_internal_mesh_data& geomtools::i_model::grab_meshes ( )

◆ grab_shape_factory()

shape_factory& geomtools::i_model::grab_shape_factory ( )

Return a reference to an external shape factory.

◆ has_name()

bool geomtools::i_model::has_name ( ) const

Check if the name of the geometry model exists.

◆ has_shape_factory()

bool geomtools::i_model::has_shape_factory ( ) const

Check if an external shape factory is referenced.

◆ init_ocd()

static void geomtools::i_model::init_ocd ( datatools::object_configuration_description ocd_)
static

OCD support.

◆ is_constructed()

bool geomtools::i_model::is_constructed ( ) const

Check if the construction of the geometry model is completed.

◆ is_debug()

bool geomtools::i_model::is_debug ( ) const

Check for debug logging priority threshold.

◆ is_phantom_solid()

bool geomtools::i_model::is_phantom_solid ( ) const

Check if the geometry model is "phantom".

◆ logical_suffix()

static const std::string& geomtools::i_model::logical_suffix ( )
static

◆ make_logical_volume_name()

static std::string geomtools::i_model::make_logical_volume_name ( const std::string &  basename_)
static

◆ make_physical_volume_name() [1/3]

static std::string geomtools::i_model::make_physical_volume_name ( const std::string &  basename_)
static

◆ make_physical_volume_name() [2/3]

static std::string geomtools::i_model::make_physical_volume_name ( const std::string &  basename_,
int  nitems_ 
)
static

◆ make_physical_volume_name() [3/3]

static std::string geomtools::i_model::make_physical_volume_name ( const std::string &  basename_,
int  ncols_,
int  nrows_ 
)
static

◆ make_physical_volume_name_per_item() [1/2]

static std::string geomtools::i_model::make_physical_volume_name_per_item ( const std::string &  basename_,
int  i_ 
)
static

◆ make_physical_volume_name_per_item() [2/2]

static std::string geomtools::i_model::make_physical_volume_name_per_item ( const std::string &  basename_,
int  i_,
int  j_ 
)
static

◆ make_solid_name()

static std::string geomtools::i_model::make_solid_name ( const std::string &  basename_)
static

◆ parameters() [1/2]

const datatools::properties& geomtools::i_model::parameters ( ) const

Configuration parameters (should be get_)

◆ parameters() [2/2]

datatools::properties& geomtools::i_model::parameters ( )

Configuration parameters (should be grab_)

◆ phantom_solid_flag()

static const std::string& geomtools::i_model::phantom_solid_flag ( )
static

◆ physical_suffix()

static const std::string& geomtools::i_model::physical_suffix ( )
static

◆ set_debug()

void geomtools::i_model::set_debug ( bool  )

Force the debug logging priority threshold.

◆ set_logging_priority()

void geomtools::i_model::set_logging_priority ( datatools::logger::priority  )

Set the logging priority threshold.

◆ set_name()

void geomtools::i_model::set_name ( const std::string &  name_)

Set the name of the geometry model.

◆ set_shape_factory()

void geomtools::i_model::set_shape_factory ( shape_factory )

Set a reference to an external shape factory.

◆ solid_suffix()

static const std::string& geomtools::i_model::solid_suffix ( )
static

◆ tree_dump()

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

Member Data Documentation

◆ _logging_priority

datatools::logger::priority geomtools::i_model::_logging_priority
protected

Logging priority threshold.

◆ _logical

geomtools::logical_volume geomtools::i_model::_logical
protected

Top logical volume attached to the model.

◆ _phantom_solid

bool geomtools::i_model::_phantom_solid
protected

Special flag (not used yet)


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