20 if (ieta==0)
continue;
21 for (
int iphi=1; iphi<=72; iphi++) {
33 if (ieta==0)
continue;
34 for (
int iphi=1; iphi<=72; iphi++) {
41 edm::LogInfo(
"Geometry") <<
"CaloTowersHardcodeGeometry made " << n <<
" towers.";
42 return std::auto_ptr<CaloSubdetectorGeometry>(
geom);
49 const double EBradius = 143.0;
50 const double HOradius = 406.0+1.0;
51 const double EEz = 320.0;
52 const double HEz = 568.0;
53 const double HFz = 1100.0;
54 const double HFthick = 165;
57 int etaRing=
abs(ieta);
58 int sign=(ieta>0)?(1):(-1);
67 double eta = 0.5*(eta1+eta2);
68 double deta = (eta2-eta1);
74 double phi_low = dphi_nominal*(iphi-1);
75 double phi = phi_low+dphi_half;
77 double x,
y,
z,thickness;
84 thickness=HFthick/tanh(eta);
85 }
else if (etaRing>17) {
90 thickness=(HEz-EEz)/tanh(eta);
92 x=EBradius *
cos(phi);
93 y=EBradius *
sin(phi);
95 z=EBradius * sinh(eta);
96 thickness=(HOradius-EBradius) * cosh(eta);
102 const double mysign ( !alongZ ? 1 : -1 ) ;
103 std::vector<double> hh ;
105 hh.push_back( deta/2 ) ;
106 hh.push_back( dphi_half ) ;
107 hh.push_back( mysign*thickness/2. ) ;
109 hh.push_back( fabs( eta ) ) ;
110 hh.push_back( fabs( z ) ) ;
Sin< T >::type sin(const T &t)
int nPhiBins(int etaRing) const
how many phi segments in this ring
void allocatePar(ParVec::size_type n, unsigned int m)
void addCell(const DetId &id, CaloCellGeometry *ccg)
Add a cell to the geometry.
std::auto_ptr< CaloSubdetectorGeometry > load()
Cos< T >::type cos(const T &t)
int firstHEDoublePhiRing() const
static const double theHFEtaBounds[]
CaloCellGeometry * makeCell(int ieta, int iphi, CaloSubdetectorGeometry *geom) const
CaloCellGeometry::CornersMgr * cornersMgr()
static const double * getParmPtr(const std::vector< double > &vd, ParMgr *mgr, ParVecVec &pvv)
int firstHFQuadPhiRing() const
void allocateCorners(CaloCellGeometry::CornersVec::size_type n)
static const double theHBHEEtaBounds[]
*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