#include <EcalScDetId.h>
Public Types | |
enum | { kSizeForDenseIndexing = SC_PER_EE_CNT * 2 } |
Public Types inherited from DetId | |
enum | Detector { Tracker =1, Muon =2, Ecal =3, Hcal =4, Calo =5 } |
Public Member Functions | |
uint32_t | denseIndex () const |
EcalScDetId () | |
EcalScDetId (uint32_t rawid) | |
EcalScDetId (int ix, int iy, int iz) | |
EcalScDetId (const DetId &id) | |
int | hashedIndex () const |
int | iquadrant () const |
int | ix () const |
int | iy () const |
EcalScDetId & | operator= (const DetId &id) |
EcalSubdetector | subdet () const |
int | zside () const |
Public Member Functions inherited from DetId | |
Detector | det () const |
get the detector field from this detid More... | |
DetId () | |
Create an empty or null id (also for persistence) More... | |
DetId (uint32_t id) | |
Create an id from a raw number. More... | |
DetId (Detector det, int subdet) | |
Create an id, filling the detector and subdetector fields as specified. More... | |
bool | null () const |
is this a null id ? More... | |
operator uint32_t () const | |
bool | operator!= (DetId id) const |
inequality More... | |
uint32_t | operator() () const |
bool | operator< (DetId id) const |
comparison More... | |
bool | operator== (DetId id) const |
equality More... | |
uint32_t | rawId () const |
get the raw id More... | |
int | subdetId () const |
get the contents of the subdetector field (not cast into any detector's numbering enum) More... | |
Static Public Member Functions | |
static EcalScDetId | unhashIndex (int hi) |
static bool | validDenseIndex (uint32_t din) |
static bool | validDetId (int ix, int iy, int iz) |
static bool | validHashIndex (int hi) |
Static Public Attributes | |
static const int | IHASHED_MAX = SC_PER_EE_CNT*2 - 1 |
static const int | IHASHED_MIN = 0 |
static const int | IX_MAX =20 |
static const int | IX_MIN =1 |
static const int | IY_MAX =20 |
static const int | IY_MIN =1 |
static const int | SC_PER_EE_CNT = 312 |
Static Public Attributes inherited from DetId | |
static const int | kDetOffset = 28 |
static const int | kSubdetOffset = 25 |
Static Private Member Functions | |
static void | checkHashedIndexMap () |
Static Private Attributes | |
static EcalScDetId | hashedIndex2DetId [kSizeForDenseIndexing] |
static const int | nEndcaps = 2 |
static short | xyz2HashedIndex [IX_MAX][IY_MAX][nEndcaps] |
Additional Inherited Members | |
Protected Attributes inherited from DetId | |
uint32_t | id_ |
Supercrystal identifier class for the ECAL endcap.
Note: internal representation of ScDetId:
* 31 . 15 . 0 * |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| * | det |sudet| 0 |1|z| ix | iy | * +-------+-----+-----------------+-+-+-------------+-------------+ *
Definition at line 25 of file EcalScDetId.h.
anonymous enum |
Enumerator | |
---|---|
kSizeForDenseIndexing |
Number of dense supercrystal indices. |
Definition at line 188 of file EcalScDetId.h.
EcalScDetId::EcalScDetId | ( | ) |
Constructor of a null id
Definition at line 12 of file EcalScDetId.cc.
Referenced by checkHashedIndexMap(), and unhashIndex().
EcalScDetId::EcalScDetId | ( | uint32_t | rawid | ) |
Constructor from a raw value
rawid | det ID number of the supecrystal, as defined in this class description. |
Definition at line 15 of file EcalScDetId.cc.
EcalScDetId::EcalScDetId | ( | int | ix, |
int | iy, | ||
int | iz | ||
) |
Constructor from supercrystal ix,iy,iz (iz=+1/-1) ix x-index runs from 1 to 20 along x-axis of standard CMS coordinates iy y-index runs from 1 to 20 along y-axis of standard CMS coordinates iz z-index (also called "z-side") is -1 for EE- and +1 for EE+
ix | x-index |
iy | y-index |
iz | z-side /z-index: -1 for EE-, +1 for EE+ |
Definition at line 18 of file EcalScDetId.cc.
References edm::hlt::Exception, DetId::id_, and validDetId().
EcalScDetId::EcalScDetId | ( | const DetId & | id | ) |
Constructor from a raw value
id | det ID number |
Definition at line 30 of file EcalScDetId.cc.
References DetId::det(), DetId::Ecal, EcalEndcap, edm::hlt::Exception, DetId::id_, DetId::null(), DetId::rawId(), and DetId::subdetId().
|
staticprivate |
Initializes x,y,z <-> hashed index map if not yet done.
Definition at line 93 of file EcalScDetId.cc.
References EcalScDetId(), hashedIndex(), hashedIndex2DetId, IX_MAX, IX_MIN, IY_MAX, IY_MIN, validDetId(), and xyz2HashedIndex.
Referenced by hashedIndex(), and unhashIndex().
|
inline |
Same as hashed index.
Definition at line 128 of file EcalScDetId.h.
References hashedIndex().
Referenced by EcalDQMBinningService::findBinsSuperCrystal_().
|
inline |
Gets a compact index for arrays. Index runs from 0 to 623. They are ordered by increasing z (EE- then EE+), then for same z by increasing y. then for same z and y by increasing x
Definition at line 109 of file EcalScDetId.h.
References checkHashedIndexMap(), ix(), IX_MIN, iy(), IY_MIN, validDetId(), xyz2HashedIndex, and zside().
Referenced by checkHashedIndexMap(), and denseIndex().
int EcalScDetId::iquadrant | ( | ) | const |
Gets the quadrant of the DetId.
Quadrant number definition for EE+, x and y in std CMS coordinates:
* A y * | * Q2 | Q1 * | * ----------o---------> x * | * Q3 | Q4 * | *
This method will return the same quadrant number independently of z: that is two supercrystals which are face to face will be considered will have the same quadrant number. It is not clear it is the correct or usual definition.
Definition at line 45 of file EcalScDetId.cc.
References ix(), IX_MAX, iy(), and IY_MAX.
|
inline |
Gets the crystal x-index.
Definition at line 72 of file EcalScDetId.h.
References DetId::id_.
Referenced by EESelectiveReadoutTask::analyze(), EcalSelectiveReadoutValidation::analyzeEE(), EcalDQMBinningService::channelName(), EESelectiveReadoutTask::dccNumOfRU(), ecaldqm::DQWorkerClient::fillQuality_(), EcalSimRawData::getSrfs(), hashedIndex(), iquadrant(), EcalDAQTowerStatusXMLTranslator::plot(), EcalDCSTowerStatusXMLTranslator::plot(), cond::PayLoadInspector< DataT >::plot(), EcalSelectiveReadoutProducer::printSrFlags(), EcalDetIdToBeRecoveredProducer::produce(), EcalRecHitWorkerRecover::run(), ecaldqm::LedTask::runOnUncalibRecHits(), ecaldqm::LaserTask::runOnUncalibRecHits(), and xuti::writeCell().
|
inline |
Get the crystal y-index
Definition at line 78 of file EcalScDetId.h.
References DetId::id_.
Referenced by EcalSelectiveReadoutValidation::analyzeEE(), EcalDQMBinningService::channelName(), EESelectiveReadoutTask::dccNumOfRU(), ecaldqm::DQWorkerClient::fillQuality_(), EcalSimRawData::getSrfs(), hashedIndex(), iquadrant(), EcalDAQTowerStatusXMLTranslator::plot(), EcalDCSTowerStatusXMLTranslator::plot(), cond::PayLoadInspector< DataT >::plot(), EcalSelectiveReadoutProducer::printSrFlags(), EcalDetIdToBeRecoveredProducer::produce(), EcalRecHitWorkerRecover::run(), ecaldqm::LedTask::runOnUncalibRecHits(), ecaldqm::LaserTask::runOnUncalibRecHits(), and xuti::writeCell().
EcalScDetId & EcalScDetId::operator= | ( | const DetId & | id | ) |
Assignment operator
id | source det id |
Definition at line 37 of file EcalScDetId.cc.
References DetId::det(), DetId::Ecal, EcalEndcap, edm::hlt::Exception, DetId::id_, DetId::null(), DetId::rawId(), and DetId::subdetId().
|
inline |
Gets the subdetector
Definition at line 61 of file EcalScDetId.h.
References DetId::subdetId().
|
inlinestatic |
Gets EcalScDetId from hasedIndex as defined by hashedIndex method
hi | hashed index |
Definition at line 119 of file EcalScDetId.h.
References checkHashedIndexMap(), EcalScDetId(), hashedIndex2DetId, and kSizeForDenseIndexing.
Referenced by ecaldqm::TowerStatusTask::beginLuminosityBlock(), ecaldqm::TowerStatusTask::beginRun(), EcalDCSTowerStatusXMLTranslator::dumpXML(), EcalDAQTowerStatusXMLTranslator::dumpXML(), EcalDCSTowerStatusXMLTranslator::plot(), EcalDAQTowerStatusXMLTranslator::plot(), cond::PayLoadInspector< DataT >::plot(), and ecaldqm::SelectiveReadoutTask::runOnDigis().
|
inlinestatic |
Validates a hashed index.
din | hashed index to validate |
Definition at line 134 of file EcalScDetId.h.
References kSizeForDenseIndexing.
Referenced by validHashIndex().
|
static |
Checks validity of a crystal (x,y.z) index triplet.
ix | supercrystal x-index |
iy | supercrystal y-index |
iz | supercrystal z-index (aka z-side) |
Definition at line 63 of file EcalScDetId.cc.
References abs.
Referenced by EcalDQMStatusReader::beginRun(), checkHashedIndexMap(), EcalScDetId(), EcalDQMBinningService::getBinMapEcal_(), EcalDQMBinningService::getBinMapEE_(), EcalDQMBinningService::getBinMapSM_(), popcon::EcalDAQHandler::getNewObjects(), popcon::EcalDCSHandler::getNewObjects(), hashedIndex(), popcon::EcalDCSHandler::insertHVDataSetToOffline(), popcon::EcalDCSHandler::insertLVDataSetToOffline(), EcalSelectiveReadout::printDccChMap(), EcalSelectiveReadout::printEndcap(), EcalTrivialConditionRetriever::produceEcalDAQTowerStatus(), EcalTrivialConditionRetriever::produceEcalDCSTowerStatus(), EcalTrivialConditionRetriever::produceEcalDQMTowerStatus(), EcalDQMStatusWriter::readEcalDQMTowerStatusFromFile(), EcalSelectiveReadoutSuppressor::run(), and Numbers::validEESc().
|
inlinestatic |
Validates a hashed index.
hi | hashed index to validate |
Definition at line 141 of file EcalScDetId.h.
References validDenseIndex().
Referenced by EcalDAQTowerStatusXMLTranslator::dumpXML(), EcalDCSTowerStatusXMLTranslator::dumpXML(), EcalDCSTowerStatusXMLTranslator::plot(), EcalDAQTowerStatusXMLTranslator::plot(), and cond::PayLoadInspector< DataT >::plot().
|
inline |
Gets the z-side of the crystal (1/-1)
Definition at line 66 of file EcalScDetId.h.
References DetId::id_.
Referenced by EcalSelectiveReadoutValidation::analyzeEE(), EESelectiveReadoutTask::dccNumOfRU(), EcalSelectiveReadout::eeRuInterest(), ecaldqm::DQWorkerClient::fillQuality_(), EcalDQMBinningService::findBinsSuperCrystal_(), EcalSimRawData::getSrfs(), hashedIndex(), EcalDAQTowerStatusXMLTranslator::plot(), EcalDCSTowerStatusXMLTranslator::plot(), cond::PayLoadInspector< DataT >::plot(), EcalSelectiveReadoutProducer::printSrFlags(), EcalDetIdToBeRecoveredProducer::produce(), EcalRecHitWorkerRecover::run(), ecaldqm::LedTask::runOnUncalibRecHits(), ecaldqm::LaserTask::runOnUncalibRecHits(), and xuti::writeCell().
|
staticprivate |
Map of hased index to x,y,z. See hashedIndex/
Definition at line 203 of file EcalScDetId.h.
Referenced by checkHashedIndexMap(), and unhashIndex().
|
static |
Upper bound for hashed/dense index
Definition at line 169 of file EcalScDetId.h.
|
static |
Lower bound for hashed/dense index
Definition at line 165 of file EcalScDetId.h.
|
static |
Upper bound of EE crystal y-index
Definition at line 157 of file EcalScDetId.h.
Referenced by checkHashedIndexMap(), and iquadrant().
|
static |
Lower bound of EE supercrystal x-index
Definition at line 149 of file EcalScDetId.h.
Referenced by checkHashedIndexMap(), and hashedIndex().
|
static |
Upper bound of EE crystal y-index
Definition at line 161 of file EcalScDetId.h.
Referenced by checkHashedIndexMap(), and iquadrant().
|
static |
Lower bound of EE supercrystal y-index
Definition at line 153 of file EcalScDetId.h.
Referenced by checkHashedIndexMap(), and hashedIndex().
|
staticprivate |
Definition at line 195 of file EcalScDetId.h.
|
static |
Number of supercrystals per endcap
Definition at line 145 of file EcalScDetId.h.
Referenced by EcalDQMBinningService::findBinsSuperCrystal_(), EcalDQMBinningService::getBinMapEcal_(), EcalDQMBinningService::getBinMapEE_(), and EcalDQMBinningService::getBinMapSM_().
|
staticprivate |
Map of z,x,y index to hashed index. See hashedIndex/
Definition at line 199 of file EcalScDetId.h.
Referenced by checkHashedIndexMap(), and hashedIndex().