|
|
Go to the documentation of this file.
26 std::cout <<
"CaloTowerHardcodeGeometryLoader: theHBHEEtaBounds = ";
32 std::cout <<
"CaloTowerHardcodeGeometryLoader: HcalTopology: firstHBRing = " << hcaltopo->
firstHBRing()
35 <<
", lastHFRing = " << hcaltopo->
lastHFRing() << std::endl;
40 if (
nullptr ==
geom->cornersMgr())
41 geom->allocateCorners(
geom->numberOfCellsForCorners());
42 if (
nullptr ==
geom->parMgr())
43 geom->allocatePar(
geom->numberOfParametersPerShape() *
geom->numberOfShapes(),
geom->numberOfParametersPerShape());
50 return std::unique_ptr<CaloSubdetectorGeometry>(
geom);
54 const double EBradius = 143.0;
55 const double HOradius = 406.0 + 1.0;
56 const double EEz = 320.0;
57 const double HEz = 568.0;
58 const double HFz = 1100.0;
59 const double HFthick = 165;
73 std::cout <<
"CaloTowerHardcodeGeometryLoader: ieta = " <<
ieta <<
", iphi = " <<
iphi <<
", etaRing = " << etaRing
91 double phi_low = dphi_nominal * (
iphi - 1);
92 double phi = phi_low + dphi_half;
95 std::cout <<
"CaloTowerHardcodeGeometryLoader: eta1 = " <<
eta1 <<
", eta2 = " <<
eta2 <<
", eta = " <<
eta
96 <<
", phi = " <<
phi << std::endl;
103 double r =
z / sinh(
eta);
109 double r =
z / sinh(
eta);
117 z = EBradius * sinh(
eta);
124 const double mysign(!alongZ ? 1 : -1);
125 std::vector<CCGFloat> hh;
127 hh.emplace_back(deta / 2);
128 hh.emplace_back(dphi_half);
129 hh.emplace_back(mysign *
thickness / 2.);
131 hh.emplace_back(fabs(
eta));
132 hh.emplace_back(fabs(
z));
135 std::cout <<
"CaloTowerHardcodeGeometryLoader: x = " <<
x <<
", y = " <<
y <<
", z = " <<
z
136 <<
", thickness = " <<
thickness << std::endl;
Sin< T >::type sin(const T &t)
const std::vector< double > & getEtaTableHF() const
Cos< T >::type cos(const T &t)
CaloCellGeometry::CCGFloat CCGFloat
std::unique_ptr< CaloSubdetectorGeometry > load(const CaloTowerTopology *limits, const HcalTopology *hcaltopo, const HcalDDDRecConstants *hcons)
CaloTowerDetId detIdFromDenseIndex(uint32_t din) const
const HcalDDDRecConstants * m_hcons
const HcalTopology * m_hcaltopo
std::vector< double > theHFEtaBounds
std::vector< double > theHBHEEtaBounds
const CaloTowerTopology * m_limits
int convertCTtoHcal(int ct_ieta) const
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
uint32_t sizeForDenseIndexing() const
int nPhiBins(int etaRing) const
how many phi segments in this ring
Abs< T >::type abs(const T &t)
void makeCell(uint32_t din, CaloSubdetectorGeometry *geom) 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
const std::vector< double > & getEtaTable() const