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; }


Thank you for your feedback sent to Vakho Tsulaia and Joe Boudreau.