CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Private Attributes
TECDetId Class Reference

#include <TECDetId.h>

Inheritance diagram for TECDetId:
SiStripDetId DetId

Public Member Functions

bool isBackPetal () const
 
bool isDoubleSide () const
 
bool isFrontPetal () const
 
bool isRPhi ()
 
bool isStereo ()
 
bool isZMinusSide () const
 
bool isZPlusSide () const
 
unsigned int module () const
 det id More...
 
unsigned int moduleNumber () const
 
unsigned int order () const
 
std::vector< unsigned int > petal () const
 petal id More...
 
unsigned int petalNumber () const
 
unsigned int ring () const
 ring id More...
 
unsigned int ringNumber () const
 
unsigned int side () const
 positive or negative id More...
 
 TECDetId ()
 
 TECDetId (uint32_t rawid)
 
 TECDetId (const DetId &id)
 
 TECDetId (uint32_t side, uint32_t wheel, uint32_t petal_fw_bw, uint32_t petal, uint32_t ring, uint32_t module, uint32_t ster)
 
unsigned int wheel () const
 wheel id More...
 
unsigned int wheelNumber () const
 
- Public Member Functions inherited from SiStripDetId
uint32_t glued () const
 
ModuleGeometry moduleGeometry () const
 
uint32_t partnerDetId () const
 
uint16_t reserved () const
 
 SiStripDetId ()
 
 SiStripDetId (const uint32_t &raw_id)
 
 SiStripDetId (const DetId &det_id)
 
 SiStripDetId (Detector det, int subdet)
 
 SiStripDetId (const uint32_t &raw_id, const uint16_t &reserved)
 
 SiStripDetId (const DetId &det_id, const uint16_t &reserved)
 
uint32_t stereo () const
 
double stripLength () const
 
SubDetector subDetector () 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 Private Attributes

static const unsigned int moduleMask_ = 0x7
 
static const unsigned int moduleStartBit_ = 2
 
static const unsigned int petal_fw_bwMask_ = 0x3
 
static const unsigned int petal_fw_bwStartBit_ = 12
 
static const unsigned int petalMask_ = 0xF
 
static const unsigned int petalStartBit_ = 8
 
static const unsigned int ringMask_ = 0x7
 
static const unsigned int ringStartBit_ = 5
 
static const unsigned int sideMask_ = 0x3
 two bits would be enough, but we could use the number "0" as a wildcard More...
 
static const unsigned int sideStartBit_ = 18
 two bits would be enough, but we could use the number "0" as a wildcard More...
 
static const unsigned int sterMask_ = 0x3
 
static const unsigned int sterStartBit_ = 0
 
static const unsigned int wheelMask_ = 0xF
 
static const unsigned int wheelStartBit_ = 14
 

Additional Inherited Members

- Public Types inherited from SiStripDetId
enum  ModuleGeometry {
  UNKNOWNGEOMETRY, IB1, IB2, OB1,
  OB2, W1A, W2A, W3A,
  W1B, W2B, W3B, W4,
  W5, W6, W7
}
 
enum  SubDetector {
  UNKNOWN =0, TIB =3, TID =4, TOB =5,
  TEC =6
}
 
- Public Types inherited from DetId
enum  Detector {
  Tracker =1, Muon =2, Ecal =3, Hcal =4,
  Calo =5, Forward =6, VeryForward =7
}
 
- Static Public Attributes inherited from DetId
static const int kDetOffset = 28
 
static const int kSubdetOffset = 25
 
- Protected Attributes inherited from DetId
uint32_t id_
 

Detailed Description

Definition at line 16 of file TECDetId.h.

Constructor & Destructor Documentation

TECDetId::TECDetId ( )
inline

Constructor of a null id

Definition at line 142 of file TECDetId.h.

142  : SiStripDetId() {
143 }
TECDetId::TECDetId ( uint32_t  rawid)
inline

Constructor from a raw value

Definition at line 145 of file TECDetId.h.

145  : SiStripDetId(rawid) {
146 }
TECDetId::TECDetId ( const DetId id)
inline

Construct from generic DetId

Definition at line 148 of file TECDetId.h.

148  : SiStripDetId(id.rawId()){
149 }
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
TECDetId::TECDetId ( uint32_t  side,
uint32_t  wheel,
uint32_t  petal_fw_bw,
uint32_t  petal,
uint32_t  ring,
uint32_t  module,
uint32_t  ster 
)
inline

Definition at line 25 of file TECDetId.h.

References DetId::id_, moduleMask_, moduleStartBit_, petal_fw_bwMask_, petal_fw_bwStartBit_, petalMask_, petalStartBit_, ringMask_, ringStartBit_, sideMask_, sideStartBit_, sterMask_, sterStartBit_, wheelMask_, and wheelStartBit_.

32  id_ |= (side& sideMask_) << sideStartBit_ |
34  (petal_fw_bw& petal_fw_bwMask_) << petal_fw_bwStartBit_ |
38  (ster& sterMask_) << sterStartBit_ ;
39  }
static const unsigned int sideStartBit_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TECDetId.h:123
static const unsigned int wheelStartBit_
Definition: TECDetId.h:124
static const unsigned int petalMask_
Definition: TECDetId.h:134
unsigned int side() const
positive or negative id
Definition: TECDetId.h:47
static const unsigned int petal_fw_bwStartBit_
Definition: TECDetId.h:125
std::vector< unsigned int > petal() const
petal id
Definition: TECDetId.h:61
static const unsigned int ringMask_
Definition: TECDetId.h:135
static const unsigned int wheelMask_
Definition: TECDetId.h:132
static const unsigned int sideMask_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TECDetId.h:131
static const unsigned int moduleStartBit_
Definition: TECDetId.h:128
uint32_t id_
Definition: DetId.h:55
unsigned int wheel() const
wheel id
Definition: TECDetId.h:52
static const unsigned int sterStartBit_
Definition: TECDetId.h:129
static const unsigned int petal_fw_bwMask_
Definition: TECDetId.h:133
unsigned int ring() const
ring id
Definition: TECDetId.h:71
static const unsigned int moduleMask_
Definition: TECDetId.h:136
Definition: vlib.h:208
static const unsigned int sterMask_
Definition: TECDetId.h:137
static const unsigned int petalStartBit_
Definition: TECDetId.h:126
static const unsigned int ringStartBit_
Definition: TECDetId.h:127

Member Function Documentation

bool TECDetId::isBackPetal ( ) const
inline

Returns true if the petal is mounted on the wheel back (not facing impact point)

Definition at line 106 of file TECDetId.h.

References order().

Referenced by isFrontPetal().

107  { return (order()==1);}
unsigned int order() const
Definition: TECDetId.h:67
bool TECDetId::isDoubleSide ( ) const
inline

Returns true if the module is a double side = rphi + stereo

Definition at line 152 of file TECDetId.h.

References SiStripDetId::glued(), and ring().

Referenced by isRPhi(), and isStereo().

152  {
153  // Double Side: only rings 1, 2 and 5
154  return this->glued() == 0 && ( this->ring() == 1 || this->ring() == 2 || this->ring() == 5 ) ;
155 }
uint32_t glued() const
Definition: SiStripDetId.h:155
unsigned int ring() const
ring id
Definition: TECDetId.h:71
bool TECDetId::isFrontPetal ( ) const
inline

Returns true if the petal is mounted on the wheel front (facing impact point)

Definition at line 110 of file TECDetId.h.

References isBackPetal().

111  { return (!isBackPetal());}
bool isBackPetal() const
Definition: TECDetId.h:106
bool TECDetId::isRPhi ( )
inline

Returns true if the module is rphi

Definition at line 114 of file TECDetId.h.

References isDoubleSide(), and SiStripDetId::stereo().

115  { return (stereo() == 0 && !isDoubleSide());}
bool isDoubleSide() const
Definition: TECDetId.h:152
uint32_t stereo() const
Definition: SiStripDetId.h:160
bool TECDetId::isStereo ( )
inline

Returns true if the module is stereo

Definition at line 118 of file TECDetId.h.

References isDoubleSide(), and SiStripDetId::stereo().

119  { return (stereo() != 0 && !isDoubleSide());}
bool isDoubleSide() const
Definition: TECDetId.h:152
uint32_t stereo() const
Definition: SiStripDetId.h:160
bool TECDetId::isZMinusSide ( ) const
inline

Returns true if the module is in TEC- (z<0 side)

Definition at line 86 of file TECDetId.h.

References side().

Referenced by isZPlusSide().

87  { return (side()==1);}
unsigned int side() const
positive or negative id
Definition: TECDetId.h:47
bool TECDetId::isZPlusSide ( ) const
inline

Returns true if the module is in TEC+ (z>0 side)

Definition at line 82 of file TECDetId.h.

References isZMinusSide().

83  { return (!isZMinusSide());}
bool isZMinusSide() const
Definition: TECDetId.h:86
unsigned int TECDetId::module ( ) const
inline

det id

Definition at line 75 of file TECDetId.h.

References DetId::id_, moduleMask_, and moduleStartBit_.

Referenced by moduleNumber(), and trackerHierarchy().

76  { return ((id_>>moduleStartBit_) & moduleMask_);}
static const unsigned int moduleStartBit_
Definition: TECDetId.h:128
uint32_t id_
Definition: DetId.h:55
static const unsigned int moduleMask_
Definition: TECDetId.h:136
unsigned int TECDetId::moduleNumber ( ) const
inline

Returns the module number

Definition at line 102 of file TECDetId.h.

References module().

103  { return module();}
unsigned int module() const
det id
Definition: TECDetId.h:75
unsigned int TECDetId::order ( ) const
inline

Definition at line 67 of file TECDetId.h.

References DetId::id_, petal_fw_bwMask_, and petal_fw_bwStartBit_.

Referenced by isBackPetal(), and petal().

68  { return ((id_>>petal_fw_bwStartBit_) & petal_fw_bwMask_);}
static const unsigned int petal_fw_bwStartBit_
Definition: TECDetId.h:125
uint32_t id_
Definition: DetId.h:55
static const unsigned int petal_fw_bwMask_
Definition: TECDetId.h:133
std::vector<unsigned int> TECDetId::petal ( ) const
inline

petal id

vector[0] = 1 -> back petal vector[0] = 2 -> front petal vector[1] -> petal

Definition at line 61 of file TECDetId.h.

References pileupDistInMC::num, order(), and petalNumber().

Referenced by trackerHierarchy().

62  { std::vector<unsigned int> num;
63  num.push_back(order());
64  num.push_back(petalNumber());
65  return num ;}
unsigned int petalNumber() const
Definition: TECDetId.h:94
unsigned int order() const
Definition: TECDetId.h:67
unsigned int TECDetId::petalNumber ( ) const
inline

Returns the petal number

Definition at line 94 of file TECDetId.h.

References DetId::id_, petalMask_, and petalStartBit_.

Referenced by petal().

95  { return ((id_>>petalStartBit_) & petalMask_);}
static const unsigned int petalMask_
Definition: TECDetId.h:134
uint32_t id_
Definition: DetId.h:55
static const unsigned int petalStartBit_
Definition: TECDetId.h:126
unsigned int TECDetId::ring ( ) const
inline

ring id

Definition at line 71 of file TECDetId.h.

References DetId::id_, ringMask_, and ringStartBit_.

Referenced by isDoubleSide(), ringNumber(), and trackerHierarchy().

72  { return ((id_>>ringStartBit_) & ringMask_) ;}
static const unsigned int ringMask_
Definition: TECDetId.h:135
uint32_t id_
Definition: DetId.h:55
static const unsigned int ringStartBit_
Definition: TECDetId.h:127
unsigned int TECDetId::ringNumber ( ) const
inline

Returns the ring number

Definition at line 98 of file TECDetId.h.

References ring().

99  { return ring();}
unsigned int ring() const
ring id
Definition: TECDetId.h:71
unsigned int TECDetId::side ( ) const
inline

positive or negative id

side() = 1 The DetId identify a module in the negative part (TEC-) side() = 2 The DetId identify a module in the positive part (TEC+)

Definition at line 47 of file TECDetId.h.

References DetId::id_, sideMask_, and sideStartBit_.

Referenced by isZMinusSide(), trackerHierarchy(), and HDQMInspectorConfigSiStrip::translateDetId().

47  {
48  return int((id_>>sideStartBit_) & sideMask_);
49  }
static const unsigned int sideStartBit_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TECDetId.h:123
static const unsigned int sideMask_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TECDetId.h:131
uint32_t id_
Definition: DetId.h:55
unsigned int TECDetId::wheel ( ) const
inline

wheel id

Definition at line 52 of file TECDetId.h.

References DetId::id_, wheelMask_, and wheelStartBit_.

Referenced by SiStripDetSummary::add(), trackerHierarchy(), and wheelNumber().

53  { return ((id_>>wheelStartBit_) & wheelMask_) ;}
static const unsigned int wheelStartBit_
Definition: TECDetId.h:124
static const unsigned int wheelMask_
Definition: TECDetId.h:132
uint32_t id_
Definition: DetId.h:55
unsigned int TECDetId::wheelNumber ( ) const
inline

Returns the wheel number

Definition at line 90 of file TECDetId.h.

References wheel().

91  { return wheel();}
unsigned int wheel() const
wheel id
Definition: TECDetId.h:52

Member Data Documentation

const unsigned int TECDetId::moduleMask_ = 0x7
staticprivate

Definition at line 136 of file TECDetId.h.

Referenced by module(), and TECDetId().

const unsigned int TECDetId::moduleStartBit_ = 2
staticprivate

Definition at line 128 of file TECDetId.h.

Referenced by module(), and TECDetId().

const unsigned int TECDetId::petal_fw_bwMask_ = 0x3
staticprivate

Definition at line 133 of file TECDetId.h.

Referenced by order(), and TECDetId().

const unsigned int TECDetId::petal_fw_bwStartBit_ = 12
staticprivate

Definition at line 125 of file TECDetId.h.

Referenced by order(), and TECDetId().

const unsigned int TECDetId::petalMask_ = 0xF
staticprivate

Definition at line 134 of file TECDetId.h.

Referenced by petalNumber(), and TECDetId().

const unsigned int TECDetId::petalStartBit_ = 8
staticprivate

Definition at line 126 of file TECDetId.h.

Referenced by petalNumber(), and TECDetId().

const unsigned int TECDetId::ringMask_ = 0x7
staticprivate

Definition at line 135 of file TECDetId.h.

Referenced by ring(), and TECDetId().

const unsigned int TECDetId::ringStartBit_ = 5
staticprivate

Definition at line 127 of file TECDetId.h.

Referenced by ring(), and TECDetId().

const unsigned int TECDetId::sideMask_ = 0x3
staticprivate

two bits would be enough, but we could use the number "0" as a wildcard

Definition at line 131 of file TECDetId.h.

Referenced by side(), and TECDetId().

const unsigned int TECDetId::sideStartBit_ = 18
staticprivate

two bits would be enough, but we could use the number "0" as a wildcard

Definition at line 123 of file TECDetId.h.

Referenced by side(), and TECDetId().

const unsigned int TECDetId::sterMask_ = 0x3
staticprivate

Definition at line 137 of file TECDetId.h.

Referenced by TECDetId().

const unsigned int TECDetId::sterStartBit_ = 0
staticprivate

Definition at line 129 of file TECDetId.h.

Referenced by TECDetId().

const unsigned int TECDetId::wheelMask_ = 0xF
staticprivate

Definition at line 132 of file TECDetId.h.

Referenced by TECDetId(), and wheel().

const unsigned int TECDetId::wheelStartBit_ = 14
staticprivate

Definition at line 124 of file TECDetId.h.

Referenced by TECDetId(), and wheel().