12 if (topo_) packedIndexVersion_=topo_->topoVersion();
17 edm::LogError(
"HCAL") <<
std::string(
"Inconsistent dense packing between current topology (") << topo->
topoVersion() <<
") and calibration object (" << packedIndexVersion_ <<
")";
23 edm::LogError(
"HCAL") <<
"Inconsistent dense packing between current topology (" << topo->
topoVersion() <<
") and calibration object (" << packedIndexVersion_ <<
")";
29 unsigned int retval=0xFFFFFFFFu;
31 edm::LogError(
"HCAL") <<
"Topology pointer not set, HCAL conditions non-functional";
32 throw cms::Exception(
"Topology pointer not set, HCAL conditions non-functional");
38 case(
HcalBarrel) : retval=topo_->detId2denseIdHB(fId);
break;
39 case(
HcalEndcap) : retval=topo_->detId2denseIdHE(fId);
break;
40 case(
HcalOuter) : retval=topo_->detId2denseIdHO(fId);
break;
41 case(
HcalForward) : retval=topo_->detId2denseIdHF(fId);
break;
44 retval=topo_->detId2denseIdCALIB(fId);
55 static const int CASTORhalf=224;
57 int index = 14*(sector-1) + (module-1);
58 if (zside == -1) index += CASTORhalf;
60 retval=(
unsigned int)(index);
72 unsigned int retval=0;
75 edm::LogError(
"HCAL") <<
"Topology pointer not set, HCAL conditions non-functional";
76 throw cms::Exception(
"Topology pointer not set, HCAL conditions non-functional");
82 case(
HcalBarrel) : retval=topo_->getHBSize();
break;
83 case(
HcalEndcap) : retval=topo_->getHESize();
break;
84 case(
HcalOuter) : retval=topo_->getHOSize();
break;
85 case(
HcalForward) : retval=topo_->getHFSize();
break;
102 std::ostringstream os;
103 os << std::hex <<
"(0x" <<
id.rawId() <<
") " << std::dec;
int sector() const
get the sector (1-16)
unsigned int indexFor(DetId) const
int zside() const
get the z-side of the cell (1/-1)
HcalCondObjectContainerBase(const HcalTopology *)
void setTopo(const HcalTopology *topo) const
int module() const
get the module (1-2 for EM, 1-12 for HAD)
HcalOtherSubdetector extractOther(const DetId &id) const
virtual int topoVersion() const
return a version which identifies the given topology
unsigned int sizeFor(DetId) const
int zside() const
get the z-side of the cell (1/-1)
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
static const int SubdetectorId
Section section() const
get the section
static const int SubdetectorId
virtual bool denseIdConsistent(int topoVer) const
return whether this topology is consistent with the numbering in the given topology ...
int channel() const
get the channel
std::string textForId(const DetId &id) const
Detector det() const
get the detector field from this detid
uint32_t denseIndex() const
const HcalTopology * topo() const