ATLAS Offline Software
|
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for all calo cells. Subsystem specific information is included in daughter clases defined CaloDetectorElements.h. More...
#include <CaloDetDescrElement.h>
Public Member Functions | |
virtual | ~CaloDetDescrElement () |
virtual destructor More... | |
float | eta () const |
cell eta More... | |
float | phi () const |
cell phi More... | |
float | r () const |
cell r More... | |
float | eta_raw () const |
cell eta_raw More... | |
float | phi_raw () const |
cell phi_raw More... | |
float | r_raw () const |
cell r_raw More... | |
float | dphi () const |
cell dphi More... | |
float | deta () const |
cell deta More... | |
float | dr () const |
cell dr More... | |
float | x () const |
cell x More... | |
float | y () const |
cell y More... | |
float | z () const |
cell z More... | |
float | x_raw () const |
cell x_raw More... | |
float | y_raw () const |
cell y_raw More... | |
float | z_raw () const |
cell z_raw More... | |
float | dx () const |
cell dx More... | |
float | dy () const |
cell dy More... | |
float | dz () const |
cell dz More... | |
float | volume () const |
cell volume More... | |
float | sinTh () const |
for algorithm working in transverse Energy More... | |
float | cosTh () const |
for fast px py pz computation More... | |
float | cotTh () const |
for fast px py pz computation More... | |
float | sinPhi () const |
for fast px py pz computation More... | |
float | cosPhi () const |
for fast px py pz computation More... | |
void | set_volume (double volume) |
set cell volume More... | |
void | set_online (const IdentifierHash onl1, const IdentifierHash onl2) |
set cell online identifiers (Tile) More... | |
Identifier | identify () const override final |
cell identifier More... | |
IdentifierHash | onl1 () const |
cell online identifier 1 More... | |
IdentifierHash | onl2 () const |
cell online identifier 2 More... | |
IdentifierHash | calo_hash () const |
cell calo hash More... | |
IdentifierHash | subcalo_hash () const |
cell subcalo hash More... | |
IdentifierHash | identifyHash () const override final |
cell subcalo hash same as subcalo_hash(), but kept for backward compatibility More... | |
const CaloDetDescriptor * | descriptor () const |
cell descriptor More... | |
virtual void | print () const |
print element contents More... | |
CaloCell_ID::CaloSample | getSampling () const |
cell sampling More... | |
CaloCell_ID::SUBCALO | getSubCalo () const |
cell subcalo More... | |
bool | is_lar_em () const |
cell belongs to EM calorimeter More... | |
bool | is_lar_em_barrel () const |
cell belongs to EM barrel More... | |
bool | is_lar_em_endcap () const |
cell belongs to EM end cap More... | |
bool | is_lar_em_endcap_inner () const |
cell belongs to the inner wheel of EM end cap More... | |
bool | is_lar_em_endcap_outer () const |
cell belongs to the outer wheel of EM end cap More... | |
bool | is_lar_hec () const |
cell belongs to HEC More... | |
bool | is_lar_fcal () const |
cell belongs to FCAL More... | |
bool | is_tile () const |
cell belongs to Tile More... | |
virtual int | getLayer () const |
cell layer More... | |
CaloDetDescrElement () | |
virtual | ~CaloDetDescrElement () |
virtual destructor More... | |
float | eta () const |
cell eta More... | |
float | phi () const |
cell phi More... | |
float | r () const |
cell r More... | |
float | eta_raw () const |
cell eta_raw More... | |
float | phi_raw () const |
cell phi_raw More... | |
float | r_raw () const |
cell r_raw More... | |
float | dphi () const |
cell dphi More... | |
float | deta () const |
cell deta More... | |
float | dr () const |
cell dr More... | |
float | x () const |
cell x More... | |
float | y () const |
cell y More... | |
float | z () const |
cell z More... | |
float | x_raw () const |
cell x_raw More... | |
float | y_raw () const |
cell y_raw More... | |
float | z_raw () const |
cell z_raw More... | |
float | dx () const |
cell dx More... | |
float | dy () const |
cell dy More... | |
float | dz () const |
cell dz More... | |
Identifier | identify () const |
cell identifier More... | |
unsigned long long | calo_hash () const |
int | getSampling () const |
virtual const IdHelper * | getHelper () const |
Public Attributes | |
long long | m_identify |
long long | m_hash_id |
int | m_calosample |
Protected Member Functions | |
CaloDetDescrElement (const IdentifierHash subcaloHash, const IdentifierHash onl1, const IdentifierHash onl2, const CaloDetDescriptor *descriptor) | |
Constructor. More... | |
void | propagateRaw () |
In test beam configurations force XXX=XXX_RAW. More... | |
virtual Identifier | customID () const |
Protected Attributes | |
float | m_eta |
cylindric coordinates : eta More... | |
float | m_phi |
cylindric coordinates : phi More... | |
float | m_sinTh |
this one is cached for algorithm working in transverse Energy More... | |
float | m_cosTh |
this one is cached for algorithm working in transverse Energy More... | |
float | m_deta |
cylindric coordinates : delta eta More... | |
float | m_dphi |
cylindric coordinates : delta phi More... | |
float | m_volume |
cell volume More... | |
float | m_sinPhi |
cache to allow fast px py pz computation More... | |
float | m_cosPhi |
cache to allow fast px py pz computation More... | |
float | m_r |
cylindric coordinates : r More... | |
float | m_eta_raw |
cylindric coordinates : eta_raw More... | |
float | m_phi_raw |
cylindric coordinates : phi_raw More... | |
float | m_r_raw |
cylindric coordinates : r_raw More... | |
float | m_dr |
cylindric coordinates : delta r More... | |
float | m_x |
cartesian coordinates : X More... | |
float | m_y |
cartesian coordinates : Y More... | |
float | m_z |
cartesian coordinates : Z More... | |
float | m_x_raw |
cartesian coordinates : X raw More... | |
float | m_y_raw |
cartesian coordinates : Y raw More... | |
float | m_z_raw |
cartesian coordinates : Z raw More... | |
float | m_dx |
cartesian coordinates : delta X More... | |
float | m_dy |
cartesian coordinates : delta Y More... | |
float | m_dz |
cartesian coordinates : delta Z More... | |
CaloCell_ID::CaloSample | m_sample =CaloCell_ID::Unknown |
@bried the sampling for this element More... | |
IdentifierHash | m_onl1 |
Tiles need 2 online hashed id. More... | |
IdentifierHash | m_onl2 |
Tiles need 2 online hashed id. More... | |
Private Member Functions | |
CaloDetDescrElement ()=delete | |
Constructor, hidden. More... | |
Private Attributes | |
const CaloDetDescriptor * | m_descriptor |
IdentifierHash | m_caloHash |
Friends | |
class | CaloGeometry |
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for all calo cells. Subsystem specific information is included in daughter clases defined CaloDetectorElements.h.
The elements are creanted in different ways for LAr and Tile
LAr: Subsystem specific readout geometry description is built by LArGeoModel applications and stored in the special objects defined by LArReadoutGeometry package. These objects are then used by converter in order to create CaloDetDescrElements for LAr.
Tile: CaloDetDescrElements for Tile are built by TileGeoModel application and stored into TileDetDescrManager. The converter simply copies them from Tile manager to the Calo manager.
The CaloDetDescrManager holds an array of pointers to the elements, and all the access to them.
COORDINATE SYSTEMS and CONVENTION :
1) the PHI convention is the Atlas one : -pi,pi
2) because the term calorimeter stands for 5 sub-detectors, we have to deal with 3 coordinate systems :
"cartesian coordinates" are what it says (FCAL,TILE) "cylindric coordinates" are –eta– phi and r (EMB) "ec-cylindric coordinates" are –eta– phi and –z– (EMEC,HEC)
The class is made to work in both: when set_cylindric is used, the cartesian coordinates are re-computes and vice-versa. The only exception is for cell size : dx, dy, dz is not translated into deta, dphi, dr ( ... yet )
To avoid confusion, the name of the variables is explicit.
3) the calorimeter reconstruction needs 2 coordinate systems :
"raw" stands for Ideal/pointing positions (name is historical) the other variables, not labeled as raw, are real and sensitive to (mis)alignment
4) the cells volume are read from the Geometry DB
Definition at line 65 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
Constructor.
subcaloHash | [IN] hash id for the cell |
onl1 | [IN] online identifier for Tile (1) |
onl2 | [IN] online identifier for Tile (2) |
descriptor | [IN] descriptor object |
Definition at line 11 of file CaloDetDescrElement.cxx.
|
virtualdefault |
virtual destructor
|
privatedelete |
Constructor, hidden.
|
inline |
Definition at line 19 of file Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloDetDescr/CaloDetDescrElement.h.
|
inlinevirtual |
virtual destructor
Definition at line 50 of file Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloDetDescr/CaloDetDescrElement.h.
unsigned long long CaloDetDescrElement::calo_hash | ( | ) | const |
|
inline |
cell calo hash
Definition at line 412 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
for fast px py pz computation
Definition at line 391 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
for fast px py pz computation
Definition at line 385 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
for fast px py pz computation
Definition at line 387 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protectedvirtual |
Reimplemented in MbtsDetectorElement.
Definition at line 165 of file CaloDetDescrElement.cxx.
|
inline |
cell descriptor
Definition at line 428 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::deta | ( | ) | const |
cell deta
|
inline |
cell deta
Definition at line 356 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::dphi | ( | ) | const |
cell dphi
|
inline |
cell dphi
Definition at line 358 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::dr | ( | ) | const |
cell dr
|
inline |
float CaloDetDescrElement::dx | ( | ) | const |
cell dx
|
inline |
float CaloDetDescrElement::dy | ( | ) | const |
cell dy
|
inline |
float CaloDetDescrElement::dz | ( | ) | const |
cell dz
|
inline |
float CaloDetDescrElement::eta | ( | ) | const |
cell eta
|
inline |
cell eta
Definition at line 344 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::eta_raw | ( | ) | const |
cell eta_raw
|
inline |
cell eta_raw
Definition at line 350 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
Definition at line 18 of file Identifiable.cxx.
|
virtual |
cell layer
Reimplemented in FCALDetectorElement, HECDetectorElement, EMECDetectorElement, and EMBDetectorElement.
Definition at line 85 of file CaloDetDescrElement.cxx.
int CaloDetDescrElement::getSampling | ( | ) | const |
|
inline |
cell sampling
Definition at line 395 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
cell subcalo
Definition at line 433 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
virtual |
cell identifier
Implements Identifiable.
|
inlinefinaloverridevirtual |
|
inlinefinaloverridevirtual |
cell subcalo hash same as subcalo_hash(), but kept for backward compatibility
Reimplemented from Identifiable.
Definition at line 424 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
bool CaloDetDescrElement::is_lar_em | ( | ) | const |
cell belongs to EM calorimeter
Definition at line 90 of file CaloDetDescrElement.cxx.
bool CaloDetDescrElement::is_lar_em_barrel | ( | ) | const |
bool CaloDetDescrElement::is_lar_em_endcap | ( | ) | const |
bool CaloDetDescrElement::is_lar_em_endcap_inner | ( | ) | const |
cell belongs to the inner wheel of EM end cap
Definition at line 114 of file CaloDetDescrElement.cxx.
bool CaloDetDescrElement::is_lar_em_endcap_outer | ( | ) | const |
cell belongs to the outer wheel of EM end cap
Definition at line 122 of file CaloDetDescrElement.cxx.
bool CaloDetDescrElement::is_lar_fcal | ( | ) | const |
cell belongs to FCAL
Definition at line 138 of file CaloDetDescrElement.cxx.
bool CaloDetDescrElement::is_lar_hec | ( | ) | const |
cell belongs to HEC
Definition at line 130 of file CaloDetDescrElement.cxx.
|
inline |
cell belongs to Tile
Definition at line 442 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
cell online identifier 1
Definition at line 404 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
cell online identifier 2
Definition at line 408 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::phi | ( | ) | const |
cell phi
|
inline |
cell phi
Definition at line 346 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::phi_raw | ( | ) | const |
cell phi_raw
|
inline |
cell phi_raw
Definition at line 352 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
virtual |
print element contents
Definition at line 75 of file CaloDetDescrElement.cxx.
|
protected |
float CaloDetDescrElement::r | ( | ) | const |
cell r
|
inline |
float CaloDetDescrElement::r_raw | ( | ) | const |
cell r_raw
|
inline |
cell r_raw
Definition at line 354 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
void CaloDetDescrElement::set_online | ( | const IdentifierHash | onl1, |
const IdentifierHash | onl2 | ||
) |
|
inline |
set cell volume
Definition at line 400 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
for fast px py pz computation
Definition at line 389 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
for algorithm working in transverse Energy
Definition at line 383 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
cell subcalo hash
Definition at line 418 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
inline |
cell volume
Definition at line 381 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::x | ( | ) | const |
cell x
|
inline |
float CaloDetDescrElement::x_raw | ( | ) | const |
cell x_raw
|
inline |
cell x_raw
Definition at line 369 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::y | ( | ) | const |
cell y
|
inline |
float CaloDetDescrElement::y_raw | ( | ) | const |
cell y_raw
|
inline |
cell y_raw
Definition at line 371 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
float CaloDetDescrElement::z | ( | ) | const |
cell z
|
inline |
float CaloDetDescrElement::z_raw | ( | ) | const |
cell z_raw
|
inline |
cell z_raw
Definition at line 373 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
friend |
Definition at line 17 of file Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloDetDescr/CaloDetDescrElement.h.
|
private |
Definition at line 244 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
int CaloDetDescrElement::m_calosample |
Definition at line 121 of file Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cache to allow fast px py pz computation
Definition at line 279 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
this one is cached for algorithm working in transverse Energy
Definition at line 260 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
private |
Definition at line 243 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : delta eta
Definition at line 264 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : delta phi
Definition at line 267 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : delta r
Definition at line 295 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : delta X
Definition at line 317 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : delta Y
Definition at line 320 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : delta Z
Definition at line 323 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : eta
Definition at line 249 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : eta_raw
Definition at line 286 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
long long CaloDetDescrElement::m_hash_id |
Definition at line 119 of file Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloDetDescr/CaloDetDescrElement.h.
long long CaloDetDescrElement::m_identify |
Definition at line 118 of file Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
Tiles need 2 online hashed id.
Definition at line 331 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
Tiles need 2 online hashed id.
Definition at line 334 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : phi
Definition at line 252 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : phi_raw
Definition at line 289 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : r
Definition at line 283 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cylindric coordinates : r_raw
Definition at line 292 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
@bried the sampling for this element
Definition at line 327 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cache to allow fast px py pz computation
Definition at line 275 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
this one is cached for algorithm working in transverse Energy
Definition at line 256 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cell volume
cylindric coordinates : r
Definition at line 271 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : X
Definition at line 299 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : X raw
Definition at line 308 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : Y
Definition at line 302 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : Y raw
Definition at line 311 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : Z
Definition at line 305 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.
|
protected |
cartesian coordinates : Z raw
Definition at line 314 of file Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h.