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
TIBDetId Class Reference

#include <TIBDetId.h>

Inheritance diagram for TIBDetId:
SiStripDetId DetId

Public Member Functions

bool isDoubleSide () const
 
bool isExternalString () const
 
bool isInternalString () const
 
bool isRPhi ()
 
bool isStereo ()
 
bool isZMinusSide () const
 
bool isZPlusSide () const
 
unsigned int layer () const
 layer id More...
 
unsigned int layerNumber () const
 
unsigned int module () const
 detector id More...
 
unsigned int moduleNumber () const
 
unsigned int order () const
 
unsigned int side () const
 
std::vector< unsigned int > string () const
 string id More...
 
unsigned int stringNumber () const
 
 TIBDetId ()
 
 TIBDetId (uint32_t rawid)
 
 TIBDetId (const DetId &id)
 
 TIBDetId (uint32_t layer, uint32_t str_fw_bw, uint32_t str_int_ext, uint32_t str, uint32_t module, uint32_t ster)
 
- 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 layerMask_ = 0x7
 two bits would be enough, but we could use the number "0" as a wildcard More...
 
static const unsigned int layerStartBit_ = 14
 two bits would be enough, but we could use the number "0" as a wildcard More...
 
static const unsigned int moduleMask_ = 0x3
 
static const unsigned int moduleStartBit_ = 2
 
static const unsigned int sterMask_ = 0x3
 
static const unsigned int sterStartBit_ = 0
 
static const unsigned int str_fw_bwMask_ = 0x3
 
static const unsigned int str_fw_bwStartBit_ = 12
 
static const unsigned int str_int_extMask_ = 0x3
 
static const unsigned int str_int_extStartBit_ = 10
 
static const unsigned int strMask_ = 0x3F
 
static const unsigned int strStartBit_ = 4
 

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 TIBDetId.h.

Constructor & Destructor Documentation

TIBDetId::TIBDetId ( )
inline

Constructor of a null id

Definition at line 131 of file TIBDetId.h.

131  : SiStripDetId(){
132 }
TIBDetId::TIBDetId ( uint32_t  rawid)
inline

Constructor from a raw value

Definition at line 134 of file TIBDetId.h.

134  : SiStripDetId(rawid){
135 }
TIBDetId::TIBDetId ( const DetId id)
inline

Construct from generic DetId

Definition at line 137 of file TIBDetId.h.

137  : SiStripDetId(id.rawId()){
138 }
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
TIBDetId::TIBDetId ( uint32_t  layer,
uint32_t  str_fw_bw,
uint32_t  str_int_ext,
uint32_t  str,
uint32_t  module,
uint32_t  ster 
)
inline

Definition at line 25 of file TIBDetId.h.

References DetId::id_, layerMask_, layerStartBit_, moduleMask_, moduleStartBit_, sterMask_, sterStartBit_, str_fw_bwMask_, str_fw_bwStartBit_, str_int_extMask_, str_int_extStartBit_, strMask_, and strStartBit_.

32  (str_fw_bw& str_fw_bwMask_) << str_fw_bwStartBit_ |
33  (str_int_ext& str_int_extMask_) << str_int_extStartBit_ |
34  (str& strMask_) << strStartBit_ |
36  (ster& sterMask_) << sterStartBit_ ;
37  }
static const unsigned int str_int_extMask_
Definition: TIBDetId.h:123
static const unsigned int strMask_
Definition: TIBDetId.h:124
static const unsigned int moduleMask_
Definition: TIBDetId.h:125
static const unsigned int layerStartBit_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TIBDetId.h:113
static const unsigned int moduleStartBit_
Definition: TIBDetId.h:117
static const unsigned int layerMask_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TIBDetId.h:121
static const unsigned int str_fw_bwStartBit_
Definition: TIBDetId.h:114
static const unsigned int sterStartBit_
Definition: TIBDetId.h:118
static const unsigned int str_int_extStartBit_
Definition: TIBDetId.h:115
static const unsigned int sterMask_
Definition: TIBDetId.h:126
static const unsigned int str_fw_bwMask_
Definition: TIBDetId.h:122
uint32_t id_
Definition: DetId.h:55
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
static const unsigned int strStartBit_
Definition: TIBDetId.h:116
Definition: vlib.h:208

Member Function Documentation

bool TIBDetId::isDoubleSide ( ) const
inline

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

Definition at line 140 of file TIBDetId.h.

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

Referenced by isRPhi(), and isStereo().

140  {
141  // Double Side: only layers 1 and 2
142  return this->glued() == 0 && ( this->layer() == 1 || this->layer() == 2 );
143 }
uint32_t glued() const
Definition: SiStripDetId.h:155
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
bool TIBDetId::isExternalString ( ) const
inline

Returns true if the module is in external part of the layer (bigger radius)

Definition at line 99 of file TIBDetId.h.

References isInternalString().

100  { return (!isInternalString());}
bool isInternalString() const
Definition: TIBDetId.h:95
bool TIBDetId::isInternalString ( ) const
inline

Returns true if the module is in internal part of the layer (smaller radius)

Definition at line 95 of file TIBDetId.h.

References order().

Referenced by isExternalString().

96  { return (order() == 1);}
unsigned int order() const
Definition: TIBDetId.h:64
bool TIBDetId::isRPhi ( )
inline

Returns true if the module is rphi

Definition at line 103 of file TIBDetId.h.

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

104  { return (stereo() == 0 && !isDoubleSide());}
uint32_t stereo() const
Definition: SiStripDetId.h:160
bool isDoubleSide() const
Definition: TIBDetId.h:140
bool TIBDetId::isStereo ( )
inline

Returns true if the module is stereo

Definition at line 107 of file TIBDetId.h.

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

108  { return (stereo() != 0 && !isDoubleSide());}
uint32_t stereo() const
Definition: SiStripDetId.h:160
bool isDoubleSide() const
Definition: TIBDetId.h:140
bool TIBDetId::isZMinusSide ( ) const
inline

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

Definition at line 79 of file TIBDetId.h.

References side().

Referenced by isZPlusSide().

80  { return (side() == 1);}
unsigned int side() const
Definition: TIBDetId.h:67
bool TIBDetId::isZPlusSide ( ) const
inline

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

Definition at line 75 of file TIBDetId.h.

References isZMinusSide().

76  { return (!isZMinusSide());}
bool isZMinusSide() const
Definition: TIBDetId.h:79
unsigned int TIBDetId::layer ( ) const
inline

layer id

Definition at line 41 of file TIBDetId.h.

References DetId::id_, layerMask_, and layerStartBit_.

Referenced by SiStripDetSummary::add(), isDoubleSide(), LA_Filler_Fitter::layerLabel(), layerNumber(), and trackerHierarchy().

41  {
42  return int((id_>>layerStartBit_) & layerMask_);
43  }
static const unsigned int layerStartBit_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TIBDetId.h:113
static const unsigned int layerMask_
two bits would be enough, but we could use the number &quot;0&quot; as a wildcard
Definition: TIBDetId.h:121
uint32_t id_
Definition: DetId.h:55
unsigned int TIBDetId::layerNumber ( ) const
inline

Returns the layer number

Definition at line 83 of file TIBDetId.h.

References layer().

84  { return layer();}
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
unsigned int TIBDetId::module ( ) const
inline

detector id

Definition at line 61 of file TIBDetId.h.

References DetId::id_, moduleMask_, and moduleStartBit_.

Referenced by moduleNumber(), and trackerHierarchy().

62  { return ((id_>>moduleStartBit_)& moduleMask_) ;}
static const unsigned int moduleMask_
Definition: TIBDetId.h:125
static const unsigned int moduleStartBit_
Definition: TIBDetId.h:117
uint32_t id_
Definition: DetId.h:55
unsigned int TIBDetId::moduleNumber ( ) const
inline

Returns the module number

Definition at line 91 of file TIBDetId.h.

References module().

92  { return module();}
unsigned int module() const
detector id
Definition: TIBDetId.h:61
unsigned int TIBDetId::order ( ) const
inline

Definition at line 64 of file TIBDetId.h.

References DetId::id_, str_int_extMask_, and str_int_extStartBit_.

Referenced by isInternalString(), and string().

65  { return ((id_>>str_int_extStartBit_) & str_int_extMask_);}
static const unsigned int str_int_extMask_
Definition: TIBDetId.h:123
static const unsigned int str_int_extStartBit_
Definition: TIBDetId.h:115
uint32_t id_
Definition: DetId.h:55
unsigned int TIBDetId::side ( ) const
inline

Definition at line 67 of file TIBDetId.h.

References DetId::id_, str_fw_bwMask_, and str_fw_bwStartBit_.

Referenced by isZMinusSide(), and string().

68  {return ((id_>>str_fw_bwStartBit_) & str_fw_bwMask_);}
static const unsigned int str_fw_bwStartBit_
Definition: TIBDetId.h:114
static const unsigned int str_fw_bwMask_
Definition: TIBDetId.h:122
uint32_t id_
Definition: DetId.h:55
std::vector<unsigned int> TIBDetId::string ( ) const
inline

string id

vector[0] = 1 -> bw string (TIB-) vector[0] = 2 -> fw string (TIB+) vector[1] = 1 -> int string vector[1] = 2 -> ext string vector[2] -> string

Definition at line 53 of file TIBDetId.h.

References pileupDistInMC::num, order(), side(), and stringNumber().

Referenced by trackerHierarchy().

54  { std::vector<unsigned int> num;
55  num.push_back( side() );
56  num.push_back( order() );
57  num.push_back(stringNumber());
58  return num ;}
unsigned int side() const
Definition: TIBDetId.h:67
unsigned int stringNumber() const
Definition: TIBDetId.h:87
unsigned int order() const
Definition: TIBDetId.h:64
unsigned int TIBDetId::stringNumber ( ) const
inline

Returns the string number

Definition at line 87 of file TIBDetId.h.

References DetId::id_, strMask_, and strStartBit_.

Referenced by string().

88  { return ((id_>>strStartBit_) & strMask_);}
static const unsigned int strMask_
Definition: TIBDetId.h:124
uint32_t id_
Definition: DetId.h:55
static const unsigned int strStartBit_
Definition: TIBDetId.h:116

Member Data Documentation

const unsigned int TIBDetId::layerMask_ = 0x7
staticprivate

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

Definition at line 121 of file TIBDetId.h.

Referenced by layer(), and TIBDetId().

const unsigned int TIBDetId::layerStartBit_ = 14
staticprivate

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

Definition at line 113 of file TIBDetId.h.

Referenced by layer(), and TIBDetId().

const unsigned int TIBDetId::moduleMask_ = 0x3
staticprivate

Definition at line 125 of file TIBDetId.h.

Referenced by module(), and TIBDetId().

const unsigned int TIBDetId::moduleStartBit_ = 2
staticprivate

Definition at line 117 of file TIBDetId.h.

Referenced by module(), and TIBDetId().

const unsigned int TIBDetId::sterMask_ = 0x3
staticprivate

Definition at line 126 of file TIBDetId.h.

Referenced by TIBDetId().

const unsigned int TIBDetId::sterStartBit_ = 0
staticprivate

Definition at line 118 of file TIBDetId.h.

Referenced by TIBDetId().

const unsigned int TIBDetId::str_fw_bwMask_ = 0x3
staticprivate

Definition at line 122 of file TIBDetId.h.

Referenced by side(), and TIBDetId().

const unsigned int TIBDetId::str_fw_bwStartBit_ = 12
staticprivate

Definition at line 114 of file TIBDetId.h.

Referenced by side(), and TIBDetId().

const unsigned int TIBDetId::str_int_extMask_ = 0x3
staticprivate

Definition at line 123 of file TIBDetId.h.

Referenced by order(), and TIBDetId().

const unsigned int TIBDetId::str_int_extStartBit_ = 10
staticprivate

Definition at line 115 of file TIBDetId.h.

Referenced by order(), and TIBDetId().

const unsigned int TIBDetId::strMask_ = 0x3F
staticprivate

Definition at line 124 of file TIBDetId.h.

Referenced by stringNumber(), and TIBDetId().

const unsigned int TIBDetId::strStartBit_ = 4
staticprivate

Definition at line 116 of file TIBDetId.h.

Referenced by stringNumber(), and TIBDetId().