TileCal description in GeoModel
Package structure
TileCal detector description consists of two main packages:
Geometry layouts
It is possible to build the following geometry layouts for TileCal
Interface to the CaloDetDescrElements
In TileCal the description of readout geometry consists of CaloDetDescrElements. The interface to these objects is provided by tile detector description manager:
...
typedef std::vector <CaloDetDescrElement*> calo_element_vec;
typedef calo_element_vec::size_type calo_element_vec_size;
typedef calo_element_vec::const_iterator calo_element_const_iterator;
...
calo_element_const_iterator tile_cell_begin() const // Cell begin()
{ return m_tile_cell_vec.begin(); }
calo_element_const_iterator tile_cell_end() const // Cell end()
{ return m_tile_cell_vec.end(); }
calo_element_vec_size tile_cell_size() const // Cell size()
{ return m_tile_cell_vec.size(); }
CaloDetDescrElement* get_cell_element(unsigned int cell_hash) const // GetCell (CellHash)
{ return m_tile_cell_vec[cell_hash]; }
CaloDetDescrElement* get_cell_element(const IdentifierHash cell_hash) const // GetCell (Hash)
{ return m_tile_cell_vec[(unsigned int)cell_hash]; }
CaloDetDescrElement* get_cell_element(const Identifier& cell_id) const // GetCell (ID)
{ return (*m_tile_cell_map.find((unsigned int)cell_id.get_compact())).second; }