5#ifndef TILEDETDESCR_TILEDETDESCRMANAGER_H
6#define TILEDETDESCR_TILEDETDESCRMANAGER_H
8#include "GeoModelKernel/GeoVDetectorManager.h"
58 typedef std::map <unsigned int, TileDetDescrRegion*, std::less<unsigned int> >
tile_region_map;
59 typedef std::map <unsigned int, CaloDetDescriptor*, std::less<int> >
scalo_descr_map;
60 typedef std::map <unsigned int, CaloDetDescriptor*, std::less<unsigned int> >
calo_descr_map;
61 typedef std::map <unsigned int, CaloDetDescrElement*, std::less<unsigned int> >
calo_element_map;
62 typedef std::map <unsigned int, TileCellDim*, std::less<unsigned int> >
cell_dim_map;
71 virtual PVConstLink
getTreeTop(
unsigned int i)
const override;
86 { tile_region_map::const_iterator it =
m_tile_region_map.find(region_id.get_identifier32().get_compact());
122 { scalo_descr_map::const_iterator it =
m_calo_descr_map.find((
int)sample*side);
141 { calo_descr_map::const_iterator it =
m_tile_module_map.find(module_id.get_identifier32().get_compact());
163 { calo_element_map::const_iterator it =
m_tile_cell_map.find(cell_id.get_identifier32().get_compact());
164 if (it !=
m_tile_cell_map.end() )
return (*it).second;
else return NULL;
235 return eta + zshift * tanh(
eta) * tan(2 * atan(exp(-
eta))) / Rcen;
Scalar eta() const
pseudorapidity method
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
std::shared_ptr< TileDddbManager > TileDddbManager_ptr
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Helper class for offline cell identifiers.
CaloSampling::CaloSample CaloSample
This class groups all DetDescr information related to a CaloCell.
This is a base class for LAr and Tile Descriptors The primary goal is to speed up loops over all the ...
This is a "hash" representation of an Identifier.
This class provides access to constants in the Geometry DB.
void add_calodescr(CaloDetDescriptor *descriptor)
calo_descr_map m_tile_module_map
std::vector< PVConstLink > m_treeTops
std::map< unsigned int, CaloDetDescriptor *, std::less< int > > scalo_descr_map
calo_element_map m_tile_cell_map
calo_descr_vec::size_type calo_descr_vec_size
tile_region_const_iterator tile_region_begin() const
virtual PVConstLink getTreeTop(unsigned int i) const override
calo_element_const_iterator tile_cell_end() const
tile_region_map m_tile_region_map
calo_element_vec::const_iterator calo_element_const_iterator
virtual unsigned int getNumTreeTops() const override
tile_region_vec::size_type tile_region_vec_size
CaloDetDescriptor * get_module_element(const IdentifierHash module_hash) const
cell_dim_map m_cell_dim_map
const TileID * get_id() const
calo_element_const_iterator tile_cell_begin() const
calo_element_vec_size tile_cell_size() const
scalo_descr_map m_calo_descr_map
void add_cellDim(int section, int side, int tower, int sample, TileCellDim *cellDim)
double shiftEta(double eta, double Rcen, double zshift)
tile_descr_const_iterator tile_descriptors_begin() const
calo_descr_const_iterator tile_module_end() const
tile_descr_vec_size tile_descriptors_size() const
tile_descr_const_iterator tile_descriptors_end() const
std::vector< TileDetDescriptor * > tile_descr_vec
std::map< unsigned int, CaloDetDescriptor *, std::less< unsigned int > > calo_descr_map
std::vector< CaloDetDescriptor * > calo_descr_vec
TileDddbManager * getDbManager() const
TileDetDescrManager(const TileDetDescrManager &right)
calo_descr_const_iterator tile_module_begin() const
void set_helper(const TileID *id)
const TileDetDescrManager & operator=(const TileDetDescrManager &right)
const CaloCell_ID * m_cell_id
tile_descr_vec m_tile_descr_vec
CaloDetDescriptor * get_module_element(const Identifier &module_id) const
const TileHWID * m_tile_hwid
void add_module(IdentifierHash idhash, CaloDetDescriptor *module)
calo_descr_const_iterator calo_descriptors_end() const
tile_region_vec_size tile_region_size() const
calo_element_vec m_tile_cell_vec
CaloDetDescrElement * get_cell_element(unsigned int cell_hash) const
void add(TileDetDescrRegion *region)
calo_descr_vec m_calo_descr_vec
CaloDetDescriptor * get_calo_descriptor(CaloCell_ID::CaloSample sample, int side) const
tile_region_vec m_tile_region_vec
TileDddbManager_ptr m_dbManager
std::vector< CaloDetDescrElement * > calo_element_vec
tile_descr_vec::const_iterator tile_descr_const_iterator
void add_cell(CaloDetDescrElement *cell)
calo_element_vec::size_type calo_element_vec_size
std::map< unsigned int, TileDetDescrRegion *, std::less< unsigned int > > tile_region_map
CaloDetDescrElement * get_cell_element(const Identifier &cell_id) const
void set_helper(const CaloCell_ID *id)
calo_descr_vec_size tile_module_size() const
void set_helper(const TileHWID *id)
calo_descr_vec_size calo_descriptors_size() const
tile_region_vec::const_iterator tile_region_const_iterator
static const double vBarrelCells[23]
std::map< unsigned int, CaloDetDescrElement *, std::less< unsigned int > > calo_element_map
std::vector< TileDetDescrRegion * > tile_region_vec
tile_region_const_iterator tile_region_end() const
static const double vItcGapCells[6]
calo_descr_vec::const_iterator calo_descr_const_iterator
calo_descr_const_iterator calo_descriptors_begin() const
static const double vExtendedCells[12]
TileDetDescrRegion * find_tile_region(const Identifier ®ion_id) const
const TileHWID * get_hwid() const
TileDetDescrManager(TileDddbManager_ptr dbManager)
Z-shift for ext.barrel introduced with Z-shift > 0, eta coordinate of the cell is shifted by Deta = t...
void addTreeTop(PVConstLink)
calo_descr_vec m_tile_module_vec
TileCellDim * get_cell_dim(const Identifier &cell_id) const
tile_descr_vec::size_type tile_descr_vec_size
std::map< unsigned int, TileCellDim *, std::less< unsigned int > > cell_dim_map
CaloDetDescrElement * get_cell_element(const IdentifierHash cell_hash) const
Helper class for TileCal online (hardware) identifiers.
Helper class for TileCal offline identifiers.