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 } |
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 | crystal () 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 |
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 | kCrystalsInEtaTile = 4 |
static constexpr int | kCrystalsInPhiBar = 4 |
static constexpr int | kCrystalsInPhiTile = 16 |
static constexpr int | kCrystalsPerROD = kModulesPerROD*kCrystalsInPhiTile*kCrystalsInEtaTile |
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 | kSizeForDenseIndexing = MAX_HASH + 1 |
static constexpr int | kTypeBoundaries [4] = { 0, 18, 36, 54 } |
static constexpr int | MAX_HASH = 2*MAX_IPHI_TILE*MAX_IETA_TILE-1 |
static constexpr int | MAX_IETA_BAR = kCrystalsInEtaBar*kModulesPerROD |
static constexpr int | MAX_IETA_TILE = kCrystalsInEtaTile*kModulesPerROD |
static constexpr int | MAX_IPHI_BAR = kCrystalsInPhiBar*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 17 of file BTLDetId.h.
|
strong |
|
inline |
Construct a null id
Definition at line 54 of file BTLDetId.h.
References DetId::id_, MTDDetId::kMTDsubdMask, and MTDDetId::kMTDsubdOffset.
Referenced by getUnhashedIndex().
|
inline |
|
inline |
|
inline |
Construct and fill only the det and sub-det fields.
Definition at line 63 of file BTLDetId.h.
References DetId::id_, kBTLCrystalMask, kBTLmodTypeMask, MTDDetId::kMTDsubdMask, MTDDetId::kMTDsubdOffset, MTDDetId::kRodRingMask, MTDDetId::kRodRingOffset, MTDDetId::kZsideMask, and MTDDetId::kZsideOffset.
|
inline |
Returns BTL crystal number.
Definition at line 85 of file BTLDetId.h.
References DetId::id_, ietaAbs(), and iphi().
Referenced by getUnhashedIndex(), ietaAbs(), and iphi().
BTLDetId BTLDetId::getUnhashedIndex | ( | int | hi, |
CrysLayout | lay | ||
) | const |
get a DetId from a compact index for arrays
Definition at line 68 of file BTLDetId.cc.
References bar, BTLDetId(), crystal(), kCrystalsInEtaBar, kCrystalsInEtaTile, kCrystalsInPhiBar, kCrystalsInPhiTile, kTypeBoundaries, MAX_IETA_BAR, MAX_IETA_TILE, MAX_IPHI_BAR, MAX_IPHI_TILE, tile, and MTDDetId::zside().
Referenced by validHashedIndex().
int BTLDetId::hashedIndex | ( | CrysLayout | lay | ) | const |
define a dense index of arrays from a DetId
Definition at line 46 of file BTLDetId.cc.
References bar, ietaAbs(), iphi(), MAX_IETA_BAR, MAX_IETA_TILE, MAX_IPHI_BAR, MAX_IPHI_TILE, tile, and MTDDetId::zside().
Referenced by ieta().
|
inline |
Definition at line 93 of file BTLDetId.h.
References hashedIndex(), ietaAbs(), and MTDDetId::zside().
int BTLDetId::ietaAbs | ( | CrysLayout | lay | ) | const |
Returns BTL ieta index for crystal according to type tile or bar
Definition at line 24 of file BTLDetId.cc.
References bar, crystal(), kCrystalsInEtaBar, kCrystalsInEtaTile, kCrystalsInPhiBar, kCrystalsInPhiTile, kTypeBoundaries, modType(), module(), and tile.
Referenced by crystal(), 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, crystal(), HALF_ROD, kCrystalsInPhiBar, kCrystalsInPhiTile, MTDDetId::mtdRR(), and tile.
Referenced by crystal(), and hashedIndex().
|
inline |
Returns BTL crystal type number.
Definition at line 82 of file BTLDetId.h.
References DetId::id_, and kBTLmodTypeMask.
Referenced by ietaAbs().
|
inline |
Returns BTL module number.
Definition at line 79 of file BTLDetId.h.
References DetId::id_, and kBTLmoduleMask.
Referenced by ietaAbs().
|
inlinestatic |
|
static |
Definition at line 38 of file BTLDetId.h.
Referenced by BTLDetLayerGeometryBuilder::buildLayers(), and iphi().
|
static |
Definition at line 26 of file BTLDetId.h.
Referenced by BTLDetId().
|
static |
Definition at line 25 of file BTLDetId.h.
|
static |
Definition at line 24 of file BTLDetId.h.
Referenced by BTLDetId(), and modType().
|
static |
Definition at line 23 of file BTLDetId.h.
|
static |
Definition at line 22 of file BTLDetId.h.
Referenced by module().
|
static |
Definition at line 21 of file BTLDetId.h.
|
static |
Definition at line 34 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and ietaAbs().
|
static |
Definition at line 32 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and ietaAbs().
|
static |
Definition at line 33 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and iphi().
|
static |
Definition at line 31 of file BTLDetId.h.
Referenced by getUnhashedIndex(), ietaAbs(), and iphi().
|
static |
Definition at line 35 of file BTLDetId.h.
|
static |
range constants, need two sets for the time being (one for tiles and one for bars)
Definition at line 29 of file BTLDetId.h.
Referenced by BTLDetLayerGeometryBuilder::buildLayers().
Definition at line 47 of file BTLDetId.h.
|
static |
Definition at line 30 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and ietaAbs().
|
static |
Definition at line 46 of file BTLDetId.h.
|
static |
Definition at line 43 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 41 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 44 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 42 of file BTLDetId.h.
Referenced by getUnhashedIndex(), and hashedIndex().
|
static |
Definition at line 37 of file BTLDetId.h.
|
static |
Definition at line 45 of file BTLDetId.h.
|
static |
Definition at line 39 of file BTLDetId.h.
|
static |
Definition at line 40 of file BTLDetId.h.
|
static |
Definition at line 36 of file BTLDetId.h.
Referenced by BTLDetLayerGeometryBuilder::buildLayers().