28 if (
geom->cornersMgr() ==
nullptr) {
36 if (
geom->parMgr() ==
nullptr)
37 geom->allocatePar(500, 3);
48 if (
geom->cornersMgr() ==
nullptr) {
53 if (
geom->parMgr() ==
nullptr)
54 geom->allocatePar(500, 3);
68 geom->insertCell(hcalCells);
70 edm::LogVerbatim(
"HCalGeom") <<
"HcalDDDGeometryLoader::fill gets " << hcalCells.size() <<
" cells for subdetector " 75 std::vector<HcalDetId> hcalIds;
76 for (
auto& hcalCell : hcalCells) {
77 int etaRing = hcalCell.etaBin();
78 int iside = hcalCell.zside();
79 int depthBin = hcalCell.depthSegment();
80 double dphi = hcalCell.phiBinWidth();
81 std::vector<std::pair<int, double> > phis = hcalCell.phis();
83 edm::LogVerbatim(
"HCalGeom") <<
"HcalDDDGeometryLoader: Subdet " << subdet <<
" side " << iside <<
" eta " 84 << etaRing <<
" depth " << depthBin <<
" with " << phis.size() <<
"modules:";
87 geom->increaseReserve(phis.size());
88 for (
auto&
phi : phis) {
90 edm::LogVerbatim(
"HCalGeom") <<
"HcalDDDGeometryLoader::fill Cell " <<
i <<
" eta " << iside * etaRing <<
" phi " 91 <<
phi.first <<
"(" <<
phi.second / CLHEP::deg <<
", " << dphi / CLHEP::deg
92 <<
") depth " << depthBin;
96 hcalIds.emplace_back(
id);
101 edm::LogInfo(
"HCalGeom") <<
"Number of HCAL DetIds made for " << subdet <<
" is " << hcalIds.size();
130 r0 = 0.5 * (
r1 +
r2);
143 edm::LogVerbatim(
"HCalGeom") <<
"HcalDDDGeometryLoader::makeCell SubDet " << subdet <<
" eta = " <<
eta 144 <<
" theta = " <<
theta <<
" r = " <<
r <<
" thickness = " <<
thickness <<
" r0-r2 (" 145 << r0 <<
":" <<
r1 <<
":" <<
r2 <<
")";
159 edm::LogVerbatim(
"HCalGeom") <<
"HcalDDDGeometryLoader::makeCell SubDet " << subdet <<
" eta = " <<
eta 160 <<
" theta = " <<
theta <<
" z = " <<
z <<
" r = " <<
r <<
" thickness = " <<
thickness 161 <<
" r0-r2 (" << r0 <<
":" <<
r1 <<
":" <<
r2 <<
")";
170 edm::LogVerbatim(
"HCalGeom") <<
"HcalDDDGeometryLoader::makeCell for " << detId <<
" Point " <<
point 171 <<
" deta = " << deta <<
" dphi = " << dphi <<
" thickness = " <<
thickness 172 <<
" isBarrel = " <<
isBarrel <<
" " << rzType;
175 std::vector<CCGFloat>
hp;
179 hp.emplace_back(deta / 2.);
180 hp.emplace_back(dphi / 2.);
184 hp.emplace_back(deta / 2.);
185 hp.emplace_back(dphi / 2.);
Log< level::Info, true > LogVerbatim
void makeCell(const HcalDetId &, const HcalCellType &, double, double, HcalDDDGeometry *geom) const
double etaMin() const
lower cell edge. Always positive
constexpr int zside() const
get the z-side of the cell (1/-1)
Sin< T >::type sin(const T &t)
CaloCellGeometry::CCGFloat CCGFloat
double etaMax() const
cell edge, always positive & greater than etaMin
void fill(HcalSubdetector, HcalDDDGeometry *)
HcalDDDGeometryLoader()=delete
constexpr HcalSubdetector subdet() const
get the subdetector
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
ReturnType load(const HcalTopology &topo, DetId::Detector, int)
std::vector< HcalCellType > HcalCellTypes(HcalSubdetector) const
const HcalDDDRecConstants * hcalConstants_
Log< level::Info, false > LogInfo
unsigned int numberOfCells(HcalSubdetector) const
virtual ~HcalDDDGeometryLoader()
Geom::Theta< T > theta() const
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point