40 std::vector<HcalZDCDetId> zdcIds;
44 for (
int ichannel = firstCell; ichannel <= lastCell; ++ichannel) {
47 zdcIds.emplace_back(
id);
50 zdcIds.emplace_back(
id);
52 if (
geom->cornersMgr() ==
nullptr)
54 if (
geom->parMgr() ==
nullptr)
62 for (std::vector<HcalZDCDetId>::const_iterator zdcIdItr = zdcIds.begin(); zdcIdItr != zdcIds.end(); ++zdcIdItr) {
72 const int channel(
detId.channel());
78 static const double x0(0);
79 static const double y0(0);
80 static const double z0(14000);
82 static const double angEM(0);
83 static const double angLUM(0);
84 static const double angRPD(0);
85 static const double angHAD(atan(1.));
89 static const double dxHAD(4.8);
90 static const double dxEM(dxHAD / 5.);
91 static const double dxLUM(4.8);
92 static const double dxRPD(4.8);
94 static const double dhEM(6.25);
95 static const double dhLUM(6.25);
96 static const double dhHAD(6.25);
97 static const double dhRPD(6.25);
99 static const double dzEM(33. * 0.15);
100 static const double dzLUM(23.5);
101 static const double dzHAD(0.82 * 6. /
cos(angHAD));
102 static const double dzRPD(23.5);
107 static const double xOffEM(-4. * dxEM);
108 static const double xOffLUM(0);
109 static const double xOffHAD(0);
110 static const double xOffRPD(0);
112 static const double yOffEM(0);
113 static const double yOffLUM(0);
114 static const double yOffHAD(0);
115 static const double yOffRPD(0);
117 static const double zOffEM(-49.85 - 0.15);
118 static const double zOffLUM(-39.555);
119 static const double zOffHAD(-29.00);
120 static const double zOffRPD(-39.555);
131 x =
zside * (x0 + xOffEM + (channel - 1.0) * dxEM * 2.);
139 x =
zside * (x0 + xOffLUM);
141 z =
zside * (
z0 + zOffLUM + (channel - 1.0) * dzLUM * 2.);
147 x =
zside * (x0 + xOffRPD);
149 z =
zside * (
z0 + zOffRPD + (channel - 1.0) * dzRPD * 2.);
156 x =
zside * (x0 + xOffHAD);
158 z =
zside * (
z0 + zOffHAD + (channel - 1.0) * dzHAD * 2.);
165 std::vector<CCGFloat>
zz;
Log< level::Info, true > LogVerbatim
uint32_t kSizeForDenseIndexing() const
void makeCell(const HcalZDCDetId &detId, CaloSubdetectorGeometry *geom) const
static constexpr int k_NumberOfParametersPerShape
static constexpr int k_NumberOfShapes
Cos< T >::type cos(const T &t)
void fill(HcalZDCDetId::Section section, CaloSubdetectorGeometry *cg)
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
virtual bool valid(const HcalZDCDetId &id) const
int firstCell(HcalZDCDetId::Section section) const
int lastCell(HcalZDCDetId::Section section) const
static constexpr int32_t SubdetectorId
ZdcHardcodeGeometryLoader(const ZdcTopology &ht)
const ZdcTopology * extTopology
CaloCellGeometry::CCGFloat CCGFloat