|
ATLAS Offline Software
|
Go to the documentation of this file.
2 #ifndef CALOREC_CALOTOWERGEOMETRY_H
3 #define CALOREC_CALOTOWERGEOMETRY_H
11 #include "CaloDetDescr/CaloDetDescrElement.h"
14 #include "GaudiKernel/MsgStream.h"
102 elementmap_t::const_iterator
begin()
const;
103 elementmap_t::const_iterator
end()
const;
177 #include "AthenaKernel/CondCont.h"
double m_fcal2Yslice
Number of y slices for cells in FCal2.
size_t size() const
Size of internal look-up table.
Scalar phi() const
phi method
double f_cellEta(IdentifierHash cellHash) const
Retrieve calorimeter cell pseudorapidity for a given cell hash identifier.
double towerPhiLocal(index_t phiIndex) const
Return azimuth from local index (bin center)
bool isInvalidEtaIndex(index_t idx) const
Returns true if argument is not a valid pseudorapidity index.
Scalar eta() const
pseudorapidity method
bool isInvalidTowerIndex(index_t idx) const
Returns true if argument is not a valid tower index.
double etaWidth() const
Width of pseudorapidity bin
double m_towerEtaWidth
Width of tower bin in pseudorapidity.
IdentifierHash::value_type index_t
Type for scalar (pseudorapidity,azimuth) index (is an unsigned int type)
StatusCode access(IdentifierHash cellHash, std::vector< index_t > &towerIdx, std::vector< double > &towerWghts) const
Retrieve the list of towers associated with a calorimeter cell referenced its hash identifier.
double phiMax() const
Upper boundary of azimuth.
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
double m_fcal1Yslice
Number of y slices for cells in FCal1.
std::vector< element_t > elementvector_t
Type for list of elements holding tower index and list of weights.
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
uint_t phiBins() const
Number of azimuth bins.
bool isInvalidPhiIndex(index_t idx) const
Returns true if argumant is not a valid azimuth index.
StatusCode f_setupTowerGridProj(const CaloDetDescrElement *pCaloDDE, MsgStream &msg)
Internally used function mapping a projective cell onto the tower grid.
const CaloDetDescrManager * m_caloDDM
Pointer to calorimeter detector description.
double m_towerEtaMax
Upper boundary .
double phiMin() const
Lower boundary of azimuth.
double towerPhi(index_t towerIndex) const
Return azimuth from global tower index (bin center)
const CaloDetDescrElement * f_caloDDE(IdentifierHash cellHash) const
Retrieve calorimeter detector description element for a given cell hash identifier.
std::vector< elementvector_t > elementmap_t
Type for lists of lists of elements (lookup table type)
uint_t m_towerBins
Maximum number of towers.
double towerArea() const
Area of individual tower.
double etaMin() const
Lower boundary of pseudorapidity range.
elementmap_t::const_iterator end() const
Iterator marks end of internal look-up table (only const access)
Definition of CaloDetDescrManager.
std::array< double, 3 > m_ndyFCal
Stores number of fragments along y for each FCal module.
uint_t m_maxCellHash
Maximum cell hash value.
double f_cellPhi(IdentifierHash cellHash) const
Retrieve calorimeter cell azimuth for a given cell hash identifier.
CaloTowerGeometry()=delete
uint_t maxCellHash() const
Maximum cell hash value.
double m_towerPhiMin
Lower boundary .
CONDCONT_DEF(CaloTowerGeometry, 52208619)
index_t etaIndexFromTowerIndex(index_t towerIdx) const
Get tower bin index for a given global tower index.
index_t phiIndex(IdentifierHash cellHash) const
Get tower bin index for a calorimeter cell referenced by its hash identifier.
::StatusCode StatusCode
StatusCode definition for legacy code.
index_t etaIndex(IdentifierHash cellHash) const
Get tower bin index for a calorimeter cell referenced by its hash identifier.
double m_towerPhiMax
Upper boundary .
double towerEta(index_t towerIndex) const
Return pseudorapidity from global tower index (bin center)
uint_t etaBins() const
Number of pseudorapidity bins.
double m_fcal3Xslice
Number of x slices for cells in FCal3.
CaloPhiRange class declaration.
double phiWidth() const
Width of azimuth bin.
double towerEtaLocal(index_t etaIndex) const
Return pseudorapdity from local index (bin center)
bool isInvalidValue(double val) const
Return true if given value is invalid.
std::size_t uint_t
Type for unsigned integer.
const CaloDetDescrManager * f_caloDDM() const
Pointer to calorimeter detector description manager.
static double fix(double phi)
bool empty() const
Internal look-up table is empty if true.
uint_t towerBins() const
Total number of towers.
uint_t m_numberOfCells
Total number of cells.
Tower geometry store and description provider.
elementmap_t m_towerLookup
Cell-to-tower mapping lookup store.
StatusCode f_setupTowerGridFCal(const CaloDetDescrElement *pCaloDDE, MsgStream &msg)
Internally used function mapping an FCal cell onto the tower grid.
StatusCode f_setupTowerGrid(MsgStream &msg)
Internally used function setting up the lookup store.
uint_t m_towerEtaBins
Number of bins.
std::tuple< index_t, double > element_t
Type storing tower index and geometrical weight.
double m_fcal1Xslice
Number of x slices for cells in FCal1.
index_t towerIndex(IdentifierHash cellHash) const
Get global tower index for a calorimeter cell referenced by its hash identifier.
uint_t totalNumberCells() const
Total number of cells.
This class provides the client interface for accessing the detector description information common to...
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
double m_fcal2Xslice
Number of x slices for cells in FCal2.
elementmap_t::const_iterator begin() const
Iterator points to first entry in internal look-up table (only const access!)
bool m_adjustEta
Adjust FCal cells to eta boundary (default true )
StatusCode initialize(MsgStream &msg)
Initialize object.
double m_towerEtaMin
Lower boundary .
double f_assign(IdentifierHash cellHash, index_t towerIdx, double wgt)
Internally used function assigning tower to cell with update of weight if same tower is already assig...
float eta() const
cell eta
double m_towerPhiWidth
Width of tower bin in azimuth.
static const index_t m_invalidIndex
Invalid index indicator.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
double m_fcal3Yslice
Number of y slices for cells in FCal3.
double etaMax() const
Upper boundary of pseudorapidity range.
index_t phiIndexFromTowerIndex(index_t towerIdx) const
Get tower bin index for a given global tower index.
double cellWeight(const element_t &elm) const
Retrieve cell signal weight from lookup table entry.
double invalidValue() const
Return invalid value.
std::array< double, 3 > m_wgtFCal
Stores geometrical weights.
elementvector_t getTowers(IdentifierHash cellHash) const
Retrieve the list of towers associated with a calorimeter cell referenced by its hash identifier.
index_t invalidIndex() const
Returns value of invalid index.
macros to associate a CLID to a type
static const double m_invalidValue
Return value for out-of-range indices andother invalid conversions to a physical quantity.
bool isInvalidIndex(index_t idx) const
Returns true if argument is equal to the value provided by invalidIndex()
double m_towerArea
Area of individual tower.
std::array< double, 3 > m_ndxFCal
Stores number of fragments along x for each FCal module.
uint_t m_towerPhiBins
Number of bins.