CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloTowerGeometry.cc
Go to the documentation of this file.
5 
7 }
8 
9 
11 
12 
13 unsigned int
15 {
16  const CaloGenericDetId gid ( id ) ;
17 
18  assert( gid.isCaloTower() ) ;
19 
20  const CaloTowerDetId cid ( id ) ;
21 
22  const unsigned int iea ( cid.ietaAbs() ) ;
23 
24  const unsigned int ip ( ( cid.iphi() - 1 )/4 ) ;
25 
26  const int izoff ( ( cid.zside() + 1 )/2 ) ;
27 
28  const unsigned int offset ( izoff*3*18) ;
29 
30  return ( offset + ip + ( CaloTowerDetId::kEndIEta < iea ? 36 :
31  ( CaloTowerDetId::kBarIEta < iea ? 18 : 0 ) ) ) ;
32 }
33 
34 unsigned int
36 {
37  return (unsigned int) DetId::Calo - 1 ;
38 }
39 
40 std::vector<HepGeom::Point3D<double> >
42  unsigned int i,
43  HepGeom::Point3D<double> & ref )
44 {
45  return ( calogeom::IdealObliquePrism::localCorners( pv, ref ) ) ;
46 }
47 
50  const GlobalPoint& f2 ,
51  const GlobalPoint& f3 ,
53  const double* parm ,
54  const DetId& detId )
55 {
56  const CaloGenericDetId cgid ( detId ) ;
57 
58  assert( cgid.isCaloTower() ) ;
59 
60  return ( new calogeom::IdealObliquePrism( f1, mgr, parm ) ) ;
61 }
int i
Definition: DBlmapReader.cc:9
bool isCaloTower() const
static std::vector< HepGeom::Point3D< double > > localCorners(const double *pv, unsigned int i, HepGeom::Point3D< double > &ref)
static unsigned int alignmentTransformIndexLocal(const DetId &id)
static CaloCellGeometry * newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, CaloCellGeometry::CornersMgr *mgr, const double *parm, const DetId &detId)
static std::vector< HepGeom::Point3D< double > > localCorners(const double *pv, HepGeom::Point3D< double > &ref)
unsigned int offset(bool)
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
Definition: DetId.h:20
Definition: EZMgrFL.h:8
virtual ~CaloTowerGeometry()