Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0, copy number must be scaled by 1 unit. More...
#include <BTLDetId.h>
Public Types | |
enum | CrysLayout { CrysLayout::tile = 1, CrysLayout::bar = 2, CrysLayout::barzflat = 3, CrysLayout::barphiflat = 4 } |
Public Types inherited from MTDDetId | |
enum | MTDType { typeUNKNOWN = 0, BTL = 1, ETL = 2 } |
enum | SubDetector { subUNKNOWN = 0, FastTime = 1 } |
Public Types inherited from DetId | |
enum | Detector { Tracker = 1, Muon = 2, Ecal = 3, Hcal = 4, Calo = 5, Forward = 6, VeryForward = 7, HGCalEE = 8, HGCalHSi = 9, HGCalHSc = 10, HGCalTrigger = 11 } |
Public Member Functions | |
BTLDetId () | |
BTLDetId (const uint32_t &raw_id) | |
BTLDetId (const DetId &det_id) | |
BTLDetId (uint32_t zside, uint32_t rod, uint32_t module, uint32_t modtyp, uint32_t crystal) | |
int | column (unsigned nrows=16) const |
int | crystal () const |
BTLDetId | geographicalId (CrysLayout lay) const |
BTLDetId | getUnhashedIndex (int hi, CrysLayout lay) const |
int | hashedIndex (CrysLayout lay) const |
int | ieta (CrysLayout lay) const |
int | ietaAbs (CrysLayout lay) const |
int | iphi (CrysLayout lay) const |
int | modType () const |
int | module () const |
int | modulesPerType (CrysLayout lay) const |
int | row (unsigned nrows=16) const |
Public Member Functions inherited from MTDDetId | |
MTDDetId () | |
MTDDetId (const uint32_t &raw_id) | |
MTDDetId (const DetId &det_id) | |
MTDDetId (Detector det, int subdet) | |
int | mtdRR () const |
int | mtdSide () const |
int | mtdSubDetector () const |
SubDetector | subDetector () const |
int | zside () const |
Public Member Functions inherited from DetId | |
constexpr Detector | det () const |
get the detector field from this detid More... | |
constexpr | DetId () |
Create an empty or null id (also for persistence) More... | |
constexpr | DetId (uint32_t id) |
Create an id from a raw number. More... | |
constexpr | DetId (Detector det, int subdet) |
Create an id, filling the detector and subdetector fields as specified. More... | |
constexpr bool | null () const |
is this a null id ? More... | |
constexpr | operator uint32_t () const |
constexpr bool | operator!= (DetId id) const |
inequality More... | |
constexpr uint32_t | operator() () const |
constexpr bool | operator< (DetId id) const |
comparison More... | |
constexpr bool | operator== (DetId id) const |
equality More... | |
constexpr uint32_t | rawId () const |
get the raw id More... | |
constexpr int | subdetId () const |
get the contents of the subdetector field (not cast into any detector's numbering enum) More... | |
Static Public Member Functions | |
static bool | validHashedIndex (uint32_t din) |
Static Public Attributes | |
static constexpr int | HALF_ROD = 36 |
static constexpr uint32_t | kBTLCrystalMask = 0x3F |
static constexpr uint32_t | kBTLCrystalOffset = 0 |
static constexpr uint32_t | kBTLmodTypeMask = 0x3 |
static constexpr uint32_t | kBTLmodTypeOffset = 8 |
static constexpr uint32_t | kBTLmoduleMask = 0x3F |
static constexpr uint32_t | kBTLmoduleOffset = 10 |
static constexpr int | kCrystalsInEtaBar = 16 |
static constexpr int | kCrystalsInEtaBarPhi = 16 |
static constexpr int | kCrystalsInEtaBarZ = 1 |
static constexpr int | kCrystalsInEtaTile = 4 |
static constexpr int | kCrystalsInPhiBar = 4 |
static constexpr int | kCrystalsInPhiBarPhi = 3 |
static constexpr int | kCrystalsInPhiBarZ = 64 |
static constexpr int | kCrystalsInPhiTile = 16 |
static constexpr int | kCrystalsPerROD |
static constexpr int | kCrystalsPerRODBarPhiFlat |
static constexpr int | kCrystalsPerRODBarZflat |
static constexpr int | kModulesPerROD = 54 |
range constants, need two sets for the time being (one for tiles and one for bars) More... | |
static constexpr int | kModulesPerRODBarPhiFlat = 48 |
static constexpr int | kModulesPerRODBarZflat = 42 |
static constexpr int | kSizeForDenseIndexing = MAX_HASH + 1 |
static constexpr std::array< int, 4 > | kTypeBoundariesBarPhiFlat {{0, 16, 32, 48}} |
static constexpr std::array< int, 4 > | kTypeBoundariesBarZflat {{0, 14, 28, 42}} |
static constexpr std::array< int, 4 > | kTypeBoundariesReference {{0, 18, 36, 54}} |
static constexpr int | MAX_HASH |
static constexpr int | MAX_IETA_BAR = kCrystalsInEtaBar * kModulesPerROD |
static constexpr int | MAX_IETA_BARPHIFLAT = kCrystalsInEtaBarPhi * kModulesPerRODBarPhiFlat |
static constexpr int | MAX_IETA_BARZ = kCrystalsInEtaBarZ * kModulesPerROD |
static constexpr int | MAX_IETA_BARZFLAT = kCrystalsInEtaBarZ * kModulesPerRODBarZflat |
static constexpr int | MAX_IETA_TILE = kCrystalsInEtaTile * kModulesPerROD |
static constexpr int | MAX_IPHI_BAR = kCrystalsInPhiBar * HALF_ROD |
static constexpr int | MAX_IPHI_BARPHIFLAT = kCrystalsInPhiBarPhi * HALF_ROD |
static constexpr int | MAX_IPHI_BARZ = kCrystalsInPhiBarZ * HALF_ROD |
static constexpr int | MAX_IPHI_BARZFLAT = kCrystalsInPhiBarZ * HALF_ROD |
static constexpr int | MAX_IPHI_TILE = kCrystalsInPhiTile * HALF_ROD |
static constexpr int | MAX_ROD = 72 |
static constexpr int | MIN_HASH = 0 |
static constexpr int | MIN_IETA = 1 |
static constexpr int | MIN_IPHI = 1 |
static constexpr int | MIN_ROD = 1 |
Static Public Attributes inherited from MTDDetId | |
static const uint32_t | kMTDsubdMask = 0x3 |
static const uint32_t | kMTDsubdOffset = 23 |
static const uint32_t | kRodRingMask = 0x3F |
static const uint32_t | kRodRingOffset = 16 |
static const uint32_t | kZsideMask = 0x1 |
static const uint32_t | kZsideOffset = 22 |
Static Public Attributes inherited from DetId | |
static const int | kDetMask = 0xF |
static const int | kDetOffset = 28 |
static const int | kSubdetMask = 0x7 |
static const int | kSubdetOffset = 25 |
Additional Inherited Members | |
Protected Attributes inherited from DetId | |
uint32_t | id_ |
Detector identifier class for the Barrel Timing Layer. The crystal count must start from 0, copy number must be scaled by 1 unit.
bit 15-10: module sequential number bit 9-8 : crystal type (1 - 3) bit 7-0 : crystal sequential number within a module ( 0 - 63 )
Definition at line 18 of file BTLDetId.h.
|
strong |
Enumerator | |
---|---|
tile | |
bar | |
barzflat | |
barphiflat |
Definition at line 70 of file BTLDetId.h.
|
inline |
Construct a null id
Definition at line 75 of file BTLDetId.h.
References DetId::id_, MTDDetId::kMTDsubdMask, and MTDDetId::kMTDsubdOffset.
Referenced by geographicalId(), and getUnhashedIndex().
|
inline |
|
inline |
|
inline |
Construct and fill only the det and sub-det fields.
Definition at line 86 of file BTLDetId.h.
References crystal(), DetId::id_, kBTLCrystalMask, kBTLCrystalOffset, kBTLmodTypeMask, kBTLmodTypeOffset, kBTLmoduleMask, kBTLmoduleOffset, MTDDetId::kMTDsubdMask, MTDDetId::kMTDsubdOffset, MTDDetId::kRodRingMask, MTDDetId::kRodRingOffset, MTDDetId::kZsideMask, MTDDetId::kZsideOffset, module(), and MTDDetId::zside().
|
inline |
return the column in GeomDetLanguage
Definition at line 110 of file BTLDetId.h.
References crystal().
Referenced by BtlDigiHitsValidation::analyze(), BtlSimHitsValidation::analyze(), BtlLocalRecoValidation::analyze(), and BTLDeviceSim::getHitsResponse().
|
inline |
Returns BTL crystal number.
Definition at line 102 of file BTLDetId.h.
References DetId::id_, kBTLCrystalMask, and kBTLCrystalOffset.
Referenced by BTLDetId(), column(), getUnhashedIndex(), ietaAbs(), iphi(), and row().
BTLDetId BTLDetId::geographicalId | ( | CrysLayout | lay | ) | const |
create a Geographical DetId for Tracking
Definition at line 171 of file BTLDetId.cc.
References BTLDetId(), modType(), module(), modulesPerType(), MTDDetId::mtdRR(), and MTDDetId::mtdSide().
Referenced by BtlDigiHitsValidation::analyze(), BtlSimHitsValidation::analyze(), BtlLocalRecoValidation::analyze(), BTLDeviceSim::getHitsResponse(), and MTDTimeCalib::getTimeCalib().
BTLDetId BTLDetId::getUnhashedIndex | ( | int | hi, |
CrysLayout | lay | ||
) | const |
get a DetId from a compact index for arrays
Definition at line 101 of file BTLDetId.cc.
References bar, barphiflat, barzflat, BTLDetId(), crystal(), kCrystalsInEtaBar, kCrystalsInEtaBarPhi, kCrystalsInEtaBarZ, kCrystalsInEtaTile, kCrystalsInPhiBar, kCrystalsInPhiBarPhi, kCrystalsInPhiBarZ, kCrystalsInPhiTile, kTypeBoundariesBarPhiFlat, kTypeBoundariesBarZflat, kTypeBoundariesReference, MAX_IETA_BAR, MAX_IETA_BARPHIFLAT, MAX_IETA_BARZFLAT, MAX_IETA_TILE, MAX_IPHI_BAR, MAX_IPHI_BARPHIFLAT, MAX_IPHI_BARZFLAT, MAX_IPHI_TILE, module(), nphi, tile, and MTDDetId::zside().
int BTLDetId::hashedIndex | ( | CrysLayout | lay | ) | const |
define a dense index of arrays from a DetId
Definition at line 69 of file BTLDetId.cc.
References bar, barphiflat, barzflat, ietaAbs(), iphi(), MAX_IETA_BAR, MAX_IETA_BARPHIFLAT, MAX_IETA_BARZFLAT, MAX_IETA_TILE, MAX_IPHI_BAR, MAX_IPHI_BARPHIFLAT, MAX_IPHI_BARZFLAT, MAX_IPHI_TILE, tile, and MTDDetId::zside().
|
inline |
int BTLDetId::ietaAbs | ( | CrysLayout | lay | ) | const |
Returns BTL ieta index for crystal according to type tile or bar
Definition at line 32 of file BTLDetId.cc.
References bar, barphiflat, barzflat, crystal(), kCrystalsInEtaBar, kCrystalsInEtaBarPhi, kCrystalsInEtaBarZ, kCrystalsInEtaTile, kCrystalsInPhiBar, kCrystalsInPhiBarPhi, kCrystalsInPhiBarZ, kCrystalsInPhiTile, kTypeBoundariesBarPhiFlat, kTypeBoundariesBarZflat, kTypeBoundariesReference, modType(), module(), tile, and MTDDetId::zside().
Referenced by hashedIndex(), and ieta().
int BTLDetId::iphi | ( | CrysLayout | lay | ) | const |
Returns BTL iphi index for crystal according to type tile or bar
Definition at line 4 of file BTLDetId.cc.
References bar, barphiflat, barzflat, crystal(), HALF_ROD, kCrystalsInPhiBar, kCrystalsInPhiBarPhi, kCrystalsInPhiBarZ, kCrystalsInPhiTile, MTDDetId::mtdRR(), and tile.
Referenced by hashedIndex().
|
inline |
Returns BTL crystal type number.
Definition at line 99 of file BTLDetId.h.
References DetId::id_, kBTLmodTypeMask, and kBTLmodTypeOffset.
Referenced by geographicalId(), and ietaAbs().
|
inline |
Returns BTL module number.
Definition at line 96 of file BTLDetId.h.
References DetId::id_, kBTLmoduleMask, and kBTLmoduleOffset.
Referenced by BTLDetId(), geographicalId(), getUnhashedIndex(), and ietaAbs().
int BTLDetId::modulesPerType | ( | CrysLayout | lay | ) | const |
return the number of modules per type according to scenario
Definition at line 161 of file BTLDetId.cc.
References barphiflat, barzflat, kTypeBoundariesBarPhiFlat, kTypeBoundariesBarZflat, kTypeBoundariesReference, and mod().
Referenced by geographicalId().
|
inline |
return the row in GeomDet language
Definition at line 105 of file BTLDetId.h.
References crystal().
Referenced by BtlDigiHitsValidation::analyze(), BtlSimHitsValidation::analyze(), BtlLocalRecoValidation::analyze(), and BTLDeviceSim::getHitsResponse().
|
inlinestatic |
|
static |
Definition at line 52 of file BTLDetId.h.
Referenced by BTLDetLayerGeometryBuilder::buildLayers(), and iphi().
|
static |
Definition at line 25 of file BTLDetId.h.
Referenced by BTLDetId(), and crystal().
|
static |
Definition at line 24 of file BTLDetId.h.
Referenced by BTLDetId(), and crystal().
|
static |
Definition at line 23 of file BTLDetId.h.
Referenced by BTLDetId(), and modType().
|
static |
Definition at line 22 of file BTLDetId.h.
Referenced by BTLDetId(), and modType().
|
static |
Definition at line 21 of file BTLDetId.h.
Referenced by BTLDetId(), and module().
|
static |
Definition at line 20 of file BTLDetId.h.
Referenced by BTLDetId(), and module().
|
static |
Definition at line 37 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and ietaAbs().
|
static |
Definition at line 41 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and ietaAbs().
|
static |
Definition at line 39 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and ietaAbs().
|
static |
Definition at line 35 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and ietaAbs().
|
static |
Definition at line 36 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and iphi().
|
static |
Definition at line 40 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and iphi().
|
static |
Definition at line 38 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and iphi().
|
static |
Definition at line 34 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and iphi().
|
static |
Definition at line 42 of file BTLDetId.h.
|
static |
Definition at line 48 of file BTLDetId.h.
Referenced by BtlSimHitsHarvester::dqmEndJob().
|
static |
Definition at line 45 of file BTLDetId.h.
|
static |
range constants, need two sets for the time being (one for tiles and one for bars)
Definition at line 28 of file BTLDetId.h.
Referenced by BTLDetLayerGeometryBuilder::buildLayers().
|
static |
Definition at line 30 of file BTLDetId.h.
|
static |
Definition at line 29 of file BTLDetId.h.
|
static |
Definition at line 68 of file BTLDetId.h.
Referenced by validHashedIndex().
|
static |
Definition at line 33 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and modulesPerType().
|
static |
Definition at line 32 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and modulesPerType().
|
static |
Definition at line 31 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and modulesPerType().
|
static |
Definition at line 66 of file BTLDetId.h.
|
static |
Definition at line 57 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 63 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 59 of file BTLDetId.h.
|
static |
Definition at line 61 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 55 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 58 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 64 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 60 of file BTLDetId.h.
|
static |
Definition at line 62 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 56 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 51 of file BTLDetId.h.
Referenced by BtlSimHitsHarvester::dqmEndJob().
|
static |
Definition at line 65 of file BTLDetId.h.
|
static |
Definition at line 53 of file BTLDetId.h.
|
static |
Definition at line 54 of file BTLDetId.h.
|
static |
Definition at line 50 of file BTLDetId.h.
Referenced by BTLDetLayerGeometryBuilder::buildLayers().