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 Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes
ME0DetId Class Reference

#include <ME0DetId.h>

Inheritance diagram for ME0DetId:
DetId

Public Member Functions

int chamber () const
 Chamber id: it identifies a chamber in a ring it goes from 1 to 36. More...
 
ME0DetId chamberId () const
 Return the corresponding ChamberId. More...
 
int layer () const
 Layer id: each station have two layers of chambers: layer 1 is the inner chamber and layer 6 is the outer chamber. More...
 
 ME0DetId ()
 
 ME0DetId (uint32_t id)
 
 ME0DetId (DetId id)
 
 ME0DetId (int region, int layer, int chamber, int roll)
 Construct from fully qualified identifier. More...
 
bool operator< (const ME0DetId &r) const
 Sort Operator based on the raw detector id. More...
 
int region () const
 Region id: 0 for Barrel Not in use, +/-1 For +/- Endcap. More...
 
int roll () 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 Public Attributes

static const int maxChamberId = 36
 
static const int maxLayerId = 31
 
static const int maxRegionId = 1
 
static const int maxRollId = 31
 
static const int minChamberId = 0
 
static const int minLayerId = 0
 
static const int minRegionId = -1
 
static const int minRollId = 0
 
- Static Public Attributes inherited from DetId
static const int kDetOffset = 28
 
static const int kSubdetOffset = 25
 

Private Member Functions

void init (int region, int layer, int chamber, int roll)
 

Private Attributes

int trind
 

Static Private Attributes

static const uint32_t chamberIdMask_ = ~(RollMask_<<RollStartBit_)
 
static const unsigned int ChamberMask_ = 0X3F
 
static const int ChamberNumBits_ = 6
 
static const int ChamberStartBit_ = RegionStartBit_+RegionNumBits_
 
static const unsigned int LayerMask_ = 0X1F
 
static const int LayerNumBits_ = 5
 
static const int LayerStartBit_ = ChamberStartBit_+ChamberNumBits_
 
static const int RegionMask_ = 0X3
 
static const int RegionNumBits_ = 2
 
static const int RegionStartBit_ = 0
 
static const unsigned int RollMask_ = 0X1F
 
static const int RollNumBits_ = 5
 
static const int RollStartBit_ = LayerStartBit_+LayerNumBits_
 

Additional Inherited Members

- Public Types inherited from DetId
enum  Detector {
  Tracker =1, Muon =2, Ecal =3, Hcal =4,
  Calo =5
}
 
- Protected Attributes inherited from DetId
uint32_t id_
 

Detailed Description

DetUnit identifier for ME0s

Definition at line 16 of file ME0DetId.h.

Constructor & Destructor Documentation

ME0DetId::ME0DetId ( )

Definition at line 8 of file ME0DetId.cc.

Referenced by chamberId().

DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
static const int ME0
Definition: MuonSubdetId.h:16
ME0DetId::ME0DetId ( uint32_t  id)

Construct from a packed id. It is required that the Detector part of id is Muon and the SubDet part is ME0, otherwise an exception is thrown.

Definition at line 11 of file ME0DetId.cc.

References DetId::det(), edm::hlt::Exception, MuonSubdetId::ME0, DetId::Muon, and DetId::subdetId().

11  :DetId(id){
13  throw cms::Exception("InvalidDetId") << "ME0DetId ctor:"
14  << " det: " << det()
15  << " subdet: " << subdetId()
16  << " is not a valid ME0 id";
17  }
18 }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
static const int ME0
Definition: MuonSubdetId.h:16
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
ME0DetId::ME0DetId ( DetId  id)

Definition at line 20 of file ME0DetId.cc.

References DetId::det(), edm::hlt::Exception, MuonSubdetId::ME0, DetId::Muon, and DetId::subdetId().

20  :DetId(id) {
22  throw cms::Exception("InvalidDetId") << "ME0DetId ctor:"
23  << " det: " << det()
24  << " subdet: " << subdetId()
25  << " is not a valid ME0 id";
26  }
27 }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
static const int ME0
Definition: MuonSubdetId.h:16
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
ME0DetId::ME0DetId ( int  region,
int  layer,
int  chamber,
int  roll 
)

Construct from fully qualified identifier.

Definition at line 29 of file ME0DetId.cc.

References init().

29  :
31 {
32  this->init(region,layer,chamber,roll);
33 }
DetId()
Create an empty or null id (also for persistence)
Definition: DetId.h:26
static const int ME0
Definition: MuonSubdetId.h:16
int chamber() const
Chamber id: it identifies a chamber in a ring it goes from 1 to 36.
Definition: ME0DetId.h:56
int region() const
Region id: 0 for Barrel Not in use, +/-1 For +/- Endcap.
Definition: ME0DetId.h:46
void init(int region, int layer, int chamber, int roll)
Definition: ME0DetId.cc:36
int roll() const
Definition: ME0DetId.h:62
int layer() const
Layer id: each station have two layers of chambers: layer 1 is the inner chamber and layer 6 is the o...
Definition: ME0DetId.h:51

Member Function Documentation

int ME0DetId::chamber ( ) const
inline

Chamber id: it identifies a chamber in a ring it goes from 1 to 36.

Definition at line 56 of file ME0DetId.h.

References ChamberMask_, ChamberStartBit_, DetId::id_, and minChamberId.

Referenced by geometryXMLparser.CSCAlignable::index().

56  {
57  return int((id_>>ChamberStartBit_) & ChamberMask_) + minChamberId;
58  }
static const int minChamberId
Definition: ME0DetId.h:75
static const int ChamberStartBit_
Definition: ME0DetId.h:90
static const unsigned int ChamberMask_
Definition: ME0DetId.h:91
uint32_t id_
Definition: DetId.h:55
ME0DetId ME0DetId::chamberId ( ) const
inline

Return the corresponding ChamberId.

Definition at line 68 of file ME0DetId.h.

References chamberIdMask_, DetId::id_, and ME0DetId().

68  {
69  return ME0DetId(id_ & chamberIdMask_);
70  }
ME0DetId()
Definition: ME0DetId.cc:8
static const uint32_t chamberIdMask_
Definition: ME0DetId.h:101
uint32_t id_
Definition: DetId.h:55
void ME0DetId::init ( int  region,
int  layer,
int  chamber,
int  roll 
)
private

Definition at line 36 of file ME0DetId.cc.

References ChamberMask_, ChamberStartBit_, edm::hlt::Exception, DetId::id_, LayerMask_, LayerStartBit_, maxChamberId, maxLayerId, maxRegionId, maxRollId, minChamberId, minLayerId, minRegionId, minRollId, RegionMask_, RegionStartBit_, RollMask_, and RollStartBit_.

Referenced by ME0DetId().

37 {
38  if ( region < minRegionId || region > maxRegionId ||
39  layer < minLayerId || layer > maxLayerId ||
40  chamber < minChamberId || chamber > maxChamberId ||
41  roll < minRollId || roll > maxRollId) {
42  throw cms::Exception("InvalidDetId") << "ME0DetId ctor:"
43  << " Invalid parameters: "
44  << " region "<<region
45  << " layer "<<layer
46  << " chamber "<<chamber
47  << " etaPartition "<<roll
48  << std::endl;
49  }
50  int regionInBits=region-minRegionId;
51  int layerInBits=layer-minLayerId;
52  int chamberInBits=chamber-minChamberId;
53  int rollInBits=roll-minRollId;
54 
55  id_ |= ( regionInBits & RegionMask_) << RegionStartBit_ |
56  ( layerInBits & LayerMask_) << LayerStartBit_ |
57  ( chamberInBits & ChamberMask_) << ChamberStartBit_ |
58  ( rollInBits & RollMask_) << RollStartBit_ ;
59 
60 }
static const int minChamberId
Definition: ME0DetId.h:75
static const int maxChamberId
Definition: ME0DetId.h:76
static const int maxRollId
Definition: ME0DetId.h:82
static const int minLayerId
Definition: ME0DetId.h:78
static const unsigned int LayerMask_
Definition: ME0DetId.h:95
static const int maxRegionId
Definition: ME0DetId.h:73
static const int minRegionId
Definition: ME0DetId.h:72
int chamber() const
Chamber id: it identifies a chamber in a ring it goes from 1 to 36.
Definition: ME0DetId.h:56
static const int LayerStartBit_
Definition: ME0DetId.h:94
static const int ChamberStartBit_
Definition: ME0DetId.h:90
static const unsigned int ChamberMask_
Definition: ME0DetId.h:91
uint32_t id_
Definition: DetId.h:55
int region() const
Region id: 0 for Barrel Not in use, +/-1 For +/- Endcap.
Definition: ME0DetId.h:46
static const int RegionMask_
Definition: ME0DetId.h:87
int roll() const
Definition: ME0DetId.h:62
static const int RegionStartBit_
Definition: ME0DetId.h:86
static const int maxLayerId
Definition: ME0DetId.h:79
static const unsigned int RollMask_
Definition: ME0DetId.h:99
int layer() const
Layer id: each station have two layers of chambers: layer 1 is the inner chamber and layer 6 is the o...
Definition: ME0DetId.h:51
static const int minRollId
Definition: ME0DetId.h:81
static const int RollStartBit_
Definition: ME0DetId.h:98
int ME0DetId::layer ( ) const
inline

Layer id: each station have two layers of chambers: layer 1 is the inner chamber and layer 6 is the outer chamber.

Definition at line 51 of file ME0DetId.h.

References DetId::id_, LayerMask_, LayerStartBit_, and minLayerId.

Referenced by geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), and operator<().

51  {
52  return int((id_>>LayerStartBit_) & LayerMask_) + minLayerId;
53  }
static const int minLayerId
Definition: ME0DetId.h:78
static const unsigned int LayerMask_
Definition: ME0DetId.h:95
static const int LayerStartBit_
Definition: ME0DetId.h:94
uint32_t id_
Definition: DetId.h:55
bool ME0DetId::operator< ( const ME0DetId r) const
inline

Sort Operator based on the raw detector id.

Definition at line 36 of file ME0DetId.h.

References layer(), and DetId::rawId().

36  {
37  if (this->layer() == r.layer() ){
38  return this->rawId()<r.rawId();
39  }
40  else{
41  return (this->layer() > r.layer());
42  }
43  }
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
int layer() const
Layer id: each station have two layers of chambers: layer 1 is the inner chamber and layer 6 is the o...
Definition: ME0DetId.h:51
int ME0DetId::region ( ) const
inline

Region id: 0 for Barrel Not in use, +/-1 For +/- Endcap.

Definition at line 46 of file ME0DetId.h.

References DetId::id_, minRegionId, RegionMask_, and RegionStartBit_.

46  {
47  return int((id_>>RegionStartBit_) & RegionMask_) + minRegionId;
48  }
static const int minRegionId
Definition: ME0DetId.h:72
uint32_t id_
Definition: DetId.h:55
static const int RegionMask_
Definition: ME0DetId.h:87
static const int RegionStartBit_
Definition: ME0DetId.h:86
int ME0DetId::roll ( ) const
inline

Roll id (also known as eta partition): each chamber is divided along the strip direction in several parts (rolls) ME0 up to 10

Definition at line 62 of file ME0DetId.h.

References DetId::id_, minRollId, RollMask_, and RollStartBit_.

62  {
63  return int((id_>>RollStartBit_) & RollMask_) + minRollId; // value 0 is used as wild card
64  }
uint32_t id_
Definition: DetId.h:55
static const unsigned int RollMask_
Definition: ME0DetId.h:99
static const int minRollId
Definition: ME0DetId.h:81
static const int RollStartBit_
Definition: ME0DetId.h:98

Member Data Documentation

const uint32_t ME0DetId::chamberIdMask_ = ~(RollMask_<<RollStartBit_)
staticprivate

Definition at line 101 of file ME0DetId.h.

Referenced by chamberId().

const unsigned int ME0DetId::ChamberMask_ = 0X3F
staticprivate

Definition at line 91 of file ME0DetId.h.

Referenced by chamber(), and init().

const int ME0DetId::ChamberNumBits_ = 6
staticprivate

Definition at line 89 of file ME0DetId.h.

const int ME0DetId::ChamberStartBit_ = RegionStartBit_+RegionNumBits_
staticprivate

Definition at line 90 of file ME0DetId.h.

Referenced by chamber(), and init().

const unsigned int ME0DetId::LayerMask_ = 0X1F
staticprivate

Definition at line 95 of file ME0DetId.h.

Referenced by init(), and layer().

const int ME0DetId::LayerNumBits_ = 5
staticprivate

Definition at line 93 of file ME0DetId.h.

const int ME0DetId::LayerStartBit_ = ChamberStartBit_+ChamberNumBits_
staticprivate

Definition at line 94 of file ME0DetId.h.

Referenced by init(), and layer().

const int ME0DetId::maxChamberId = 36
static

Definition at line 76 of file ME0DetId.h.

Referenced by init().

const int ME0DetId::maxLayerId = 31
static

Definition at line 79 of file ME0DetId.h.

Referenced by init().

const int ME0DetId::maxRegionId = 1
static

Definition at line 73 of file ME0DetId.h.

Referenced by init().

const int ME0DetId::maxRollId = 31
static

Definition at line 82 of file ME0DetId.h.

Referenced by init().

const int ME0DetId::minChamberId = 0
static

Definition at line 75 of file ME0DetId.h.

Referenced by chamber(), and init().

const int ME0DetId::minLayerId = 0
static

Definition at line 78 of file ME0DetId.h.

Referenced by init(), and layer().

const int ME0DetId::minRegionId = -1
static

Definition at line 72 of file ME0DetId.h.

Referenced by init(), and region().

const int ME0DetId::minRollId = 0
static

Definition at line 81 of file ME0DetId.h.

Referenced by init(), and roll().

const int ME0DetId::RegionMask_ = 0X3
staticprivate

Definition at line 87 of file ME0DetId.h.

Referenced by init(), and region().

const int ME0DetId::RegionNumBits_ = 2
staticprivate

Definition at line 85 of file ME0DetId.h.

const int ME0DetId::RegionStartBit_ = 0
staticprivate

Definition at line 86 of file ME0DetId.h.

Referenced by init(), and region().

const unsigned int ME0DetId::RollMask_ = 0X1F
staticprivate

Definition at line 99 of file ME0DetId.h.

Referenced by init(), and roll().

const int ME0DetId::RollNumBits_ = 5
staticprivate

Definition at line 97 of file ME0DetId.h.

const int ME0DetId::RollStartBit_ = LayerStartBit_+LayerNumBits_
staticprivate

Definition at line 98 of file ME0DetId.h.

Referenced by init(), and roll().

int ME0DetId::trind
private

Definition at line 109 of file ME0DetId.h.