|
|
Go to the documentation of this file.
19 <<
"EcalTriggerTowerDetId: Cannot create object. SUBDETDCCTTMODE not yet implemented.";
21 throw cms::Exception(
"InvalidDetId") <<
"EcalTriggerTowerDetId: Cannot create object. Unknown mode for (int, "
22 "EcalSubdetector, int, int) constructor.";
24 if (tower_i >
MAX_I || tower_i < MIN_I || tower_j >
MAX_J || tower_j <
MIN_J)
25 throw cms::Exception(
"InvalidDetId") <<
"EcalTriggerTowerDetId: Cannot create object. Indexes out of bounds.";
50 int iphi_simple =
iphi() + 2;
52 iphi_simple = iphi_simple % 72;
58 throw cms::Exception(
"MethodNotImplemented") <<
"EcalTriggerTowerDetId: iDCC not yet implemented";
65 int iphi_simple =
iphi() + 2;
67 iphi_simple = iphi_simple % 72;
76 throw cms::Exception(
"MethodNotImplemented") <<
"EcalTriggerTowerDetId: iTT not yet implemented";
83 throw cms::Exception(
"MethodNotApplicable") <<
"EcalTriggerTowerDetId: iquadrant not applicable";
90 (27 >
i || ((0 > iz && 0 ==
j % 2) || (0 < iz && 1 ==
j % 2))))));
94 const unsigned int iea(
ietaAbs());
95 const unsigned int iph(
iphi());
140 return s <<
"(EcalTT subDet " << ((
id.subDet() ==
EcalBarrel) ? (
"Barrel") : (
"Endcap")) <<
" iz "
141 << ((
id.zside() > 0) ? (
"+ ") : (
"- ")) <<
" ieta " <<
id.ietaAbs() <<
" iphi " <<
id.iphi() <<
')';
static const int SUBDETIJMODE
int iphi() const
get the tower iphi
int ietaAbs() const
get the absolute value of the tower ieta
static const int SUBDETDCCTTMODE
int iTT() const
sequential index within one DCC
int zside() const
get the z-side of the tower (1/-1)
std::ostream & operator<<(std::ostream &s, const EcalTrigTowerDetId &id)
static const int kEBTowersInPhi
static bool validDetId(int iz, EcalSubdetector sd, int i, int j)
check if a valid index combination
int iDCC() const
get the ECAL DCC id - in the barrrel ism == iDCC
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]
EcalSubdetector subDet() const
get the subDetector associated to the Trigger Tower
static const int kEBTowersPerSM
static EcalTrigTowerDetId detIdFromDenseIndex(uint32_t di)
static const int kEETowersInPhiPerQuadrant
Abs< T >::type abs(const T &t)
EcalTrigTowerDetId & operator=(const DetId &id)
static const int kEBTowersInEta