CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Attributes | Static Private Attributes
ETLDetId Class Reference

Detector identifier class for the Endcap Timing Layer. More...

#include <ETLDetId.h>

Inheritance diagram for ETLDetId:
MTDDetId DetId

Public Member Functions

int discSide () const
 
uint32_t encodeSector (uint32_t &disc, uint32_t &discside, uint32_t &sector) const
 
 ETLDetId ()
 
 ETLDetId (const uint32_t &raw_id)
 
 ETLDetId (const DetId &det_id)
 
 ETLDetId (uint32_t zside, uint32_t ring, uint32_t module, uint32_t modtyp)
 
 ETLDetId (uint32_t zside, uint32_t disc, uint32_t discside, uint32_t sector, uint32_t module, uint32_t modtyp)
 
ETLDetId geographicalId () const
 
int modType () const
 
int module () const
 
int nDisc () const
 
uint32_t newForm (const uint32_t &rawid)
 
int sector () 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 Attributes

static const uint32_t kETLdiscSideMask = 0x1
 
static const uint32_t kETLdiscSideOffset = 2
 
static const uint32_t kETLmodTypeMask = 0x3
 
static const uint32_t kETLmodTypeOffset = 3
 
static const uint32_t kETLmoduleMask = 0x7FF
 
static const uint32_t kETLmoduleOffset = 5
 
static const uint32_t kETLnDiscMask = 0x1
 
static const uint32_t kETLnDiscOffset = 3
 constants for the TDR ETL model More...
 
static const uint32_t kETLsectorMask = 0x3
 
static constexpr int kETLv1maxModule = 176
 
static constexpr int kETLv1maxRing = 11
 
static constexpr int kETLv1nDisc = 1
 
static constexpr int kETLv4maxModule = 248
 
static constexpr int kETLv4maxRing = 16
 
static constexpr int kETLv4maxSector = 4
 
static constexpr int kETLv4nDisc = 2
 
static constexpr int kETLv5maxModule = 517
 
static constexpr int kETLv5maxRing = 14
 
static constexpr int kETLv5maxSector = 2
 
static constexpr int kETLv5nDisc = kETLv4nDisc
 
static constexpr uint32_t kSoff = 4
 
- 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
 

Static Private Attributes

static const uint32_t kETLformatV2 = 1
 
static const uint32_t kETLoldFieldMask = 0x7FFF
 
static const uint32_t kETLoldToNewShift = 2
 

Additional Inherited Members

- 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
}
 
- Protected Attributes inherited from DetId
uint32_t id_
 

Detailed Description

Detector identifier class for the Endcap Timing Layer.

bit 15-5 : module sequential number bit 4-3 : module type (unused so far)

Definition at line 15 of file ETLDetId.h.

Constructor & Destructor Documentation

◆ ETLDetId() [1/5]

ETLDetId::ETLDetId ( )
inline

Construct a null id

Definition at line 54 of file ETLDetId.h.

References DetId::id_, kETLformatV2, MTDDetId::kMTDsubdMask, and MTDDetId::kMTDsubdOffset.

55  id_ |= (MTDType::ETL & kMTDsubdMask) << kMTDsubdOffset;
56  id_ |= kETLformatV2;
57  }
MTDDetId()
Definition: MTDDetId.h:39
static const uint32_t kMTDsubdOffset
Definition: MTDDetId.h:29
static const uint32_t kMTDsubdMask
Definition: MTDDetId.h:30
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLformatV2
Definition: ETLDetId.h:20

◆ ETLDetId() [2/5]

ETLDetId::ETLDetId ( const uint32_t &  raw_id)
inline

Construct from a raw value

Definition at line 60 of file ETLDetId.h.

References DetId::id_, kETLformatV2, MTDDetId::MTDDetId(), and newForm().

60  {
61  uint32_t tmpId = raw_id;
62  if ((tmpId & kETLformatV2) == 0) {
63  tmpId = newForm(tmpId);
64  }
65  id_ = MTDDetId(tmpId).rawId();
66  }
MTDDetId()
Definition: MTDDetId.h:39
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLformatV2
Definition: ETLDetId.h:20
uint32_t newForm(const uint32_t &rawid)
Definition: ETLDetId.h:126

◆ ETLDetId() [3/5]

ETLDetId::ETLDetId ( const DetId det_id)
inline

Construct from generic DetId

Definition at line 69 of file ETLDetId.h.

References DetId::id_, kETLformatV2, MTDDetId::MTDDetId(), newForm(), and DetId::rawId().

69  {
70  uint32_t tmpId = det_id.rawId();
71  if ((tmpId & kETLformatV2) == 0) {
72  tmpId = newForm(tmpId);
73  }
74  id_ = MTDDetId(tmpId).rawId();
75  }
MTDDetId()
Definition: MTDDetId.h:39
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLformatV2
Definition: ETLDetId.h:20
uint32_t newForm(const uint32_t &rawid)
Definition: ETLDetId.h:126

◆ ETLDetId() [4/5]

ETLDetId::ETLDetId ( uint32_t  zside,
uint32_t  ring,
uint32_t  module,
uint32_t  modtyp 
)
inline

Construct and fill only the det and sub-det fields.

Definition at line 78 of file ETLDetId.h.

References DetId::id_, kETLformatV2, kETLmodTypeMask, kETLmodTypeOffset, kETLmoduleMask, kETLmoduleOffset, MTDDetId::kMTDsubdMask, MTDDetId::kMTDsubdOffset, MTDDetId::kRodRingMask, MTDDetId::kRodRingOffset, MTDDetId::kZsideMask, MTDDetId::kZsideOffset, module(), relativeConstraints::ring, and MTDDetId::zside().

80  id_ |= (MTDType::ETL & kMTDsubdMask) << kMTDsubdOffset | (zside & kZsideMask) << kZsideOffset |
82  (modtyp & kETLmodTypeMask) << kETLmodTypeOffset;
83  id_ |= kETLformatV2;
84  }
static const uint32_t kRodRingOffset
Definition: MTDDetId.h:33
MTDDetId()
Definition: MTDDetId.h:39
static const uint32_t kZsideOffset
Definition: MTDDetId.h:31
static const uint32_t kMTDsubdOffset
Definition: MTDDetId.h:29
static const uint32_t kETLmodTypeMask
Definition: ETLDetId.h:26
static const uint32_t kRodRingMask
Definition: MTDDetId.h:34
int module() const
Definition: ETLDetId.h:103
static const uint32_t kMTDsubdMask
Definition: MTDDetId.h:30
static const uint32_t kZsideMask
Definition: MTDDetId.h:32
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLmodTypeOffset
Definition: ETLDetId.h:25
static const uint32_t kETLmoduleMask
Definition: ETLDetId.h:24
int zside() const
Definition: MTDDetId.h:61
static const uint32_t kETLformatV2
Definition: ETLDetId.h:20
static const uint32_t kETLmoduleOffset
Definition: ETLDetId.h:23

◆ ETLDetId() [5/5]

ETLDetId::ETLDetId ( uint32_t  zside,
uint32_t  disc,
uint32_t  discside,
uint32_t  sector,
uint32_t  module,
uint32_t  modtyp 
)
inline

Definition at line 92 of file ETLDetId.h.

References TtSemiLepEvtBuilder_cfi::disc, encodeSector(), DetId::id_, kETLformatV2, kETLmodTypeMask, kETLmodTypeOffset, kETLmoduleMask, kETLmoduleOffset, MTDDetId::kMTDsubdMask, MTDDetId::kMTDsubdOffset, MTDDetId::kRodRingMask, MTDDetId::kRodRingOffset, MTDDetId::kZsideMask, MTDDetId::kZsideOffset, module(), sector(), and MTDDetId::zside().

94  id_ |= (MTDType::ETL & kMTDsubdMask) << kMTDsubdOffset | (zside & kZsideMask) << kZsideOffset |
97  id_ |= kETLformatV2;
98  }
static const uint32_t kRodRingOffset
Definition: MTDDetId.h:33
MTDDetId()
Definition: MTDDetId.h:39
static const uint32_t kZsideOffset
Definition: MTDDetId.h:31
static const uint32_t kMTDsubdOffset
Definition: MTDDetId.h:29
uint32_t encodeSector(uint32_t &disc, uint32_t &discside, uint32_t &sector) const
Definition: ETLDetId.h:88
static const uint32_t kETLmodTypeMask
Definition: ETLDetId.h:26
static const uint32_t kRodRingMask
Definition: MTDDetId.h:34
int sector() const
Definition: ETLDetId.h:114
int module() const
Definition: ETLDetId.h:103
static const uint32_t kMTDsubdMask
Definition: MTDDetId.h:30
static const uint32_t kZsideMask
Definition: MTDDetId.h:32
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLmodTypeOffset
Definition: ETLDetId.h:25
static const uint32_t kETLmoduleMask
Definition: ETLDetId.h:24
int zside() const
Definition: MTDDetId.h:61
static const uint32_t kETLformatV2
Definition: ETLDetId.h:20
static const uint32_t kETLmoduleOffset
Definition: ETLDetId.h:23

Member Function Documentation

◆ discSide()

int ETLDetId::discSide ( ) const
inline

Definition at line 117 of file ETLDetId.h.

References DetId::id_, kETLdiscSideMask, kETLdiscSideOffset, MTDDetId::kRodRingMask, and MTDDetId::kRodRingOffset.

Referenced by EtlDigiHitsValidation::analyze(), EtlSimHitsValidation::analyze(), EtlLocalRecoValidation::analyze(), MTDTopology::hshiftETL(), and MTDTopology::vshiftETL().

117  {
119  }
static const uint32_t kRodRingOffset
Definition: MTDDetId.h:33
static const uint32_t kETLdiscSideMask
Definition: ETLDetId.h:36
static const uint32_t kETLdiscSideOffset
Definition: ETLDetId.h:35
static const uint32_t kRodRingMask
Definition: MTDDetId.h:34
uint32_t id_
Definition: DetId.h:69

◆ encodeSector()

uint32_t ETLDetId::encodeSector ( uint32_t &  disc,
uint32_t &  discside,
uint32_t &  sector 
) const
inline

ETL TDR Construct and fill only the det and sub-det fields.

Definition at line 88 of file ETLDetId.h.

References TtSemiLepEvtBuilder_cfi::disc, kSoff, and sector().

Referenced by ETLDetId(), and ETLNumberingScheme::getUnitID().

88  {
89  return (sector + discside * kSoff + 2 * kSoff * disc);
90  }
int sector() const
Definition: ETLDetId.h:114
static constexpr uint32_t kSoff
Definition: ETLDetId.h:49

◆ geographicalId()

ETLDetId ETLDetId::geographicalId ( ) const
inline

Definition at line 108 of file ETLDetId.h.

References DetId::id_.

Referenced by EtlDigiHitsValidation::analyze(), EtlSimHitsValidation::analyze(), EtlLocalRecoValidation::analyze(), and ETLElectronicsSim::run().

108 { return id_; }
uint32_t id_
Definition: DetId.h:69

◆ modType()

int ETLDetId::modType ( ) const
inline

Returns ETL module type number.

Definition at line 106 of file ETLDetId.h.

References DetId::id_, kETLmodTypeMask, and kETLmodTypeOffset.

Referenced by ETLDeviceSim::getHitsResponse(), MTDTopology::hshiftETL(), and MTDTopology::vshiftETL().

106 { return (id_ >> kETLmodTypeOffset) & kETLmodTypeMask; }
static const uint32_t kETLmodTypeMask
Definition: ETLDetId.h:26
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLmodTypeOffset
Definition: ETLDetId.h:25

◆ module()

int ETLDetId::module ( ) const
inline

Returns ETL module number.

Definition at line 103 of file ETLDetId.h.

References DetId::id_, kETLmoduleMask, and kETLmoduleOffset.

Referenced by EtlLocalRecoValidation::analyze(), ETLDetId(), ETLDeviceSim::getHitsResponse(), MTDTopology::hshiftETL(), and MTDTopology::vshiftETL().

103 { return (id_ >> kETLmoduleOffset) & kETLmoduleMask; }
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLmoduleMask
Definition: ETLDetId.h:24
static const uint32_t kETLmoduleOffset
Definition: ETLDetId.h:23

◆ nDisc()

int ETLDetId::nDisc ( ) const
inline

Definition at line 122 of file ETLDetId.h.

References DetId::id_, kETLnDiscMask, kETLnDiscOffset, MTDDetId::kRodRingMask, and MTDDetId::kRodRingOffset.

Referenced by EtlDigiHitsValidation::analyze(), MtdTracksValidation::analyze(), and EtlLocalRecoValidation::analyze().

122  {
123  return (((((id_ >> kRodRingOffset) & kRodRingMask) - 1) >> kETLnDiscOffset) & kETLnDiscMask) + 1;
124  }
static const uint32_t kETLnDiscMask
Definition: ETLDetId.h:34
static const uint32_t kRodRingOffset
Definition: MTDDetId.h:33
static const uint32_t kRodRingMask
Definition: MTDDetId.h:34
uint32_t id_
Definition: DetId.h:69
static const uint32_t kETLnDiscOffset
constants for the TDR ETL model
Definition: ETLDetId.h:33

◆ newForm()

uint32_t ETLDetId::newForm ( const uint32_t &  rawid)
inline

Definition at line 126 of file ETLDetId.h.

References kETLformatV2, kETLoldFieldMask, and kETLoldToNewShift.

Referenced by ETLDetId().

126  {
127  uint32_t fixedP = rawid & (0xFFFFFFFF - kETLoldFieldMask); // unchanged part of id
128  uint32_t shiftP = (rawid & kETLoldFieldMask) >> kETLoldToNewShift; // shifted part
129  return ((fixedP | shiftP) | kETLformatV2);
130  }
static const uint32_t kETLoldToNewShift
Definition: ETLDetId.h:18
static const uint32_t kETLoldFieldMask
Definition: ETLDetId.h:19
static const uint32_t kETLformatV2
Definition: ETLDetId.h:20

◆ sector()

int ETLDetId::sector ( ) const
inline

Definition at line 114 of file ETLDetId.h.

References DetId::id_, kETLsectorMask, MTDDetId::kRodRingMask, and MTDDetId::kRodRingOffset.

Referenced by encodeSector(), ETLDetId(), and geometryXMLparser.DTAlignable::index().

114 { return ((((id_ >> kRodRingOffset) & kRodRingMask) - 1) & kETLsectorMask) + 1; }
static const uint32_t kRodRingOffset
Definition: MTDDetId.h:33
static const uint32_t kETLsectorMask
Definition: ETLDetId.h:37
static const uint32_t kRodRingMask
Definition: MTDDetId.h:34
uint32_t id_
Definition: DetId.h:69

Member Data Documentation

◆ kETLdiscSideMask

const uint32_t ETLDetId::kETLdiscSideMask = 0x1
static

Definition at line 36 of file ETLDetId.h.

Referenced by discSide().

◆ kETLdiscSideOffset

const uint32_t ETLDetId::kETLdiscSideOffset = 2
static

Definition at line 35 of file ETLDetId.h.

Referenced by discSide().

◆ kETLformatV2

const uint32_t ETLDetId::kETLformatV2 = 1
staticprivate

Definition at line 20 of file ETLDetId.h.

Referenced by ETLDetId(), and newForm().

◆ kETLmodTypeMask

const uint32_t ETLDetId::kETLmodTypeMask = 0x3
static

Definition at line 26 of file ETLDetId.h.

Referenced by ETLDetId(), and modType().

◆ kETLmodTypeOffset

const uint32_t ETLDetId::kETLmodTypeOffset = 3
static

Definition at line 25 of file ETLDetId.h.

Referenced by ETLDetId(), and modType().

◆ kETLmoduleMask

const uint32_t ETLDetId::kETLmoduleMask = 0x7FF
static

Definition at line 24 of file ETLDetId.h.

Referenced by ETLDetLayerGeometryBuilder::buildLayer(), ETLDetId(), and module().

◆ kETLmoduleOffset

const uint32_t ETLDetId::kETLmoduleOffset = 5
static

Definition at line 23 of file ETLDetId.h.

Referenced by ETLDetId(), and module().

◆ kETLnDiscMask

const uint32_t ETLDetId::kETLnDiscMask = 0x1
static

Definition at line 34 of file ETLDetId.h.

Referenced by nDisc().

◆ kETLnDiscOffset

const uint32_t ETLDetId::kETLnDiscOffset = 3
static

constants for the TDR ETL model

Definition at line 33 of file ETLDetId.h.

Referenced by nDisc().

◆ kETLoldFieldMask

const uint32_t ETLDetId::kETLoldFieldMask = 0x7FFF
staticprivate

Definition at line 19 of file ETLDetId.h.

Referenced by newForm().

◆ kETLoldToNewShift

const uint32_t ETLDetId::kETLoldToNewShift = 2
staticprivate

Definition at line 18 of file ETLDetId.h.

Referenced by newForm().

◆ kETLsectorMask

const uint32_t ETLDetId::kETLsectorMask = 0x3
static

Definition at line 37 of file ETLDetId.h.

Referenced by sector().

◆ kETLv1maxModule

constexpr int ETLDetId::kETLv1maxModule = 176
static

Definition at line 29 of file ETLDetId.h.

Referenced by ETLNumberingScheme::getUnitID().

◆ kETLv1maxRing

constexpr int ETLDetId::kETLv1maxRing = 11
static

◆ kETLv1nDisc

constexpr int ETLDetId::kETLv1nDisc = 1
static

Definition at line 30 of file ETLDetId.h.

Referenced by ETLDetLayerGeometryBuilder::buildLayers().

◆ kETLv4maxModule

constexpr int ETLDetId::kETLv4maxModule = 248
static

Definition at line 41 of file ETLDetId.h.

Referenced by ETLNumberingScheme::getUnitID().

◆ kETLv4maxRing

constexpr int ETLDetId::kETLv4maxRing = 16
static

Definition at line 39 of file ETLDetId.h.

Referenced by ETLNumberingScheme::getUnitID().

◆ kETLv4maxSector

constexpr int ETLDetId::kETLv4maxSector = 4
static

Definition at line 40 of file ETLDetId.h.

Referenced by ETLDetLayerGeometryBuilder::buildLayers().

◆ kETLv4nDisc

constexpr int ETLDetId::kETLv4nDisc = 2
static

Definition at line 42 of file ETLDetId.h.

Referenced by ETLDetLayerGeometryBuilder::buildLayers().

◆ kETLv5maxModule

constexpr int ETLDetId::kETLv5maxModule = 517
static

Definition at line 46 of file ETLDetId.h.

Referenced by ETLNumberingScheme::getUnitID().

◆ kETLv5maxRing

constexpr int ETLDetId::kETLv5maxRing = 14
static

Definition at line 44 of file ETLDetId.h.

◆ kETLv5maxSector

constexpr int ETLDetId::kETLv5maxSector = 2
static

Definition at line 45 of file ETLDetId.h.

Referenced by ETLDetLayerGeometryBuilder::buildLayers().

◆ kETLv5nDisc

constexpr int ETLDetId::kETLv5nDisc = kETLv4nDisc
static

Definition at line 47 of file ETLDetId.h.

◆ kSoff

constexpr uint32_t ETLDetId::kSoff = 4
static

Definition at line 49 of file ETLDetId.h.

Referenced by encodeSector().