42 std::vector<HcalZDCDetId> zdcIds;
46 for (
int ichannel = firstCell; ichannel <= lastCell; ++ichannel) {
49 zdcIds.emplace_back(
id);
52 zdcIds.emplace_back(
id);
54 if (
geom->cornersMgr() ==
nullptr)
56 if (
geom->parMgr() ==
nullptr)
60 edm::LogInfo(
"ZdcHardcodeGeometry") <<
"Number of ZDC DetIds made: " <<
section <<
" " << zdcIds.size();
64 for (std::vector<HcalZDCDetId>::const_iterator zdcIdItr = zdcIds.begin(); zdcIdItr != zdcIds.end(); ++zdcIdItr) {
74 const int channel(
detId.channel());
79 static const double x0(0);
80 static const double y0(0);
81 static const double z0(14000);
83 static const double angEM(0);
84 static const double angLUM(0);
85 static const double angRPD(0);
86 static const double angHAD(atan(1.));
90 static const double dxHAD(4.8);
91 static const double dxEM(dxHAD / 5.);
92 static const double dxLUM(4.8);
93 static const double dxRPD(4.8);
95 static const double dhEM(6.25);
96 static const double dhLUM(6.25);
97 static const double dhHAD(6.25);
98 static const double dhRPD(6.25);
100 static const double dzEM(33. * 0.15);
101 static const double dzLUM(23.5);
102 static const double dzHAD(0.82 * 6. /
cos(angHAD));
103 static const double dzRPD(23.5);
108 static const double xOffEM(-4. * dxEM);
109 static const double xOffLUM(0);
110 static const double xOffHAD(0);
111 static const double xOffRPD(0);
113 static const double yOffEM(0);
114 static const double yOffLUM(0);
115 static const double yOffHAD(0);
116 static const double yOffRPD(0);
118 static const double zOffEM(-49.85 - 0.15);
119 static const double zOffLUM(-39.555);
120 static const double zOffHAD(-29.00);
121 static const double zOffRPD(-39.555);
132 x =
zside * (x0 + xOffEM + (channel - 1.0) * dxEM * 2.);
140 x =
zside * (x0 + xOffLUM);
142 z =
zside * (
z0 + zOffLUM + (channel - 1.0) * dzLUM * 2.);
148 x =
zside * (x0 + xOffRPD);
150 z =
zside * (
z0 + zOffRPD + (channel - 1.0) * dzRPD * 2.);
157 x =
zside * (x0 + xOffHAD);
159 z =
zside * (
z0 + zOffHAD + (channel - 1.0) * dzHAD * 2.);
166 std::vector<CCGFloat>
zz;
void makeCell(const HcalZDCDetId &detId, CaloSubdetectorGeometry *geom) const
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
Log< level::Info, false > LogInfo
static const int SubdetectorId
int lastCell(HcalZDCDetId::Section section) const
ZdcHardcodeGeometryLoader()
const ZdcTopology * extTopology
CaloCellGeometry::CCGFloat CCGFloat