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() <<
')';
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]
static EcalTrigTowerDetId detIdFromDenseIndex(uint32_t di)
int iTT() const
sequential index within one DCC
EcalSubdetector subDet() const
get the subDetector associated to the Trigger Tower
static const int SUBDETIJMODE
static const int kEBTowersInPhi
static const int kEETowersInPhiPerQuadrant
int zside() const
get the z-side of the tower (1/-1)
EcalTrigTowerDetId & operator=(const DetId &id)
static const int kEBTowersInEta
Abs< T >::type abs(const T &t)
std::ostream & operator<<(std::ostream &s, const EcalTrigTowerDetId &id)
int ietaAbs() const
get the absolute value of the tower ieta
static const int SUBDETDCCTTMODE
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 iphi() const
get the tower iphi
static const int kEBTowersPerSM