CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes

CaloTowerGeometry Class Reference

#include <CaloTowerGeometry.h>

Inheritance diagram for CaloTowerGeometry:
CaloSubdetectorGeometry

List of all members.

Public Types

enum  { k_NumberOfCellsForCorners = CaloTowerDetId::kSizeForDenseIndexing }
enum  { k_NumberOfShapes = 41 }
enum  { k_NumberOfParametersPerShape = 5 }
typedef CaloTowerGeometryRecord AlignedRecord
typedef CaloTowerAlignmentRcd AlignmentRecord
typedef CaloCellGeometry::CCGFloat CCGFloat
typedef std::vector
< IdealObliquePrism
CellVec
typedef CaloTowerDetId DetIdType
typedef PCaloTowerRcd PGeometryRecord
typedef CaloCellGeometry::Pt3D Pt3D
typedef CaloCellGeometry::Pt3DVec Pt3DVec

Public Member Functions

 CaloTowerGeometry ()
virtual void newCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
virtual unsigned int numberOfParametersPerShape () const
virtual unsigned int numberOfShapes () const
virtual ~CaloTowerGeometry ()

Static Public Member Functions

static unsigned int alignmentTransformIndexGlobal (const DetId &id)
static unsigned int alignmentTransformIndexLocal (const DetId &id)
static std::string dbString ()
static void localCorners (Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
static unsigned int numberOfAlignments ()
static std::string producerTag ()

Protected Member Functions

virtual const CaloCellGeometrycellGeomPtr (uint32_t index) const

Private Attributes

CellVec m_cellVec

Detailed Description

Only DetId::Calo, subdet=1 DetIds are handled by this class.

Date:
2011/06/04 19:07:17
Revision:
1.7
Author:
J. Mans - Minnesota

Definition at line 18 of file CaloTowerGeometry.h.


Member Typedef Documentation

Definition at line 29 of file CaloTowerGeometry.h.

Definition at line 28 of file CaloTowerGeometry.h.

Reimplemented from CaloSubdetectorGeometry.

Definition at line 24 of file CaloTowerGeometry.h.

Definition at line 22 of file CaloTowerGeometry.h.

Definition at line 31 of file CaloTowerGeometry.h.

Definition at line 30 of file CaloTowerGeometry.h.

Definition at line 25 of file CaloTowerGeometry.h.

Definition at line 26 of file CaloTowerGeometry.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
k_NumberOfCellsForCorners 

Definition at line 33 of file CaloTowerGeometry.h.

anonymous enum
Enumerator:
k_NumberOfShapes 

Definition at line 35 of file CaloTowerGeometry.h.

{ k_NumberOfShapes = 41 } ;
anonymous enum
Enumerator:
k_NumberOfParametersPerShape 

Definition at line 37 of file CaloTowerGeometry.h.


Constructor & Destructor Documentation

CaloTowerGeometry::CaloTowerGeometry ( )

Definition at line 8 of file CaloTowerGeometry.cc.

CaloTowerGeometry::~CaloTowerGeometry ( ) [virtual]

Definition at line 14 of file CaloTowerGeometry.cc.

{
}

Member Function Documentation

unsigned int CaloTowerGeometry::alignmentTransformIndexGlobal ( const DetId id) [static]

Definition at line 41 of file CaloTowerGeometry.cc.

References DetId::Calo.

{
   return (unsigned int) DetId::Calo - 1 ;
}
unsigned int CaloTowerGeometry::alignmentTransformIndexLocal ( const DetId id) [static]

Definition at line 20 of file CaloTowerGeometry.cc.

References CaloGenericDetId::isCaloTower(), CaloTowerDetId::kBarIEta, CaloTowerDetId::kEndIEta, and evf::evtn::offset().

{
   const CaloGenericDetId gid ( id ) ;

   assert( gid.isCaloTower() ) ;

   const CaloTowerDetId cid ( id ) ;

   const unsigned int iea ( cid.ietaAbs() ) ;

   const unsigned int ip ( ( cid.iphi() - 1 )/4 ) ;

   const int izoff ( ( cid.zside() + 1 )/2 ) ;

   const unsigned int offset ( izoff*3*18) ;

   return ( offset + ip + ( CaloTowerDetId::kEndIEta < iea ? 36 :
                            ( CaloTowerDetId::kBarIEta < iea ? 18 : 0 ) ) ) ;
}
const CaloCellGeometry * CaloTowerGeometry::cellGeomPtr ( uint32_t  index) const [protected, virtual]

Implements CaloSubdetectorGeometry.

Definition at line 73 of file CaloTowerGeometry.cc.

References m_cellVec, and CaloCellGeometry::param().

{
   const CaloCellGeometry* cell ( &m_cellVec[ index ] ) ;
   return  ( m_cellVec.size() < index ||
             0 == cell->param() ? 0 : cell ) ;
}
static std::string CaloTowerGeometry::dbString ( ) [inline, static]

Definition at line 39 of file CaloTowerGeometry.h.

{ return "PCaloTowerRcd" ; }
void CaloTowerGeometry::localCorners ( Pt3DVec lc,
const CCGFloat pv,
unsigned int  i,
Pt3D ref 
) [static]

Definition at line 47 of file CaloTowerGeometry.cc.

{
   IdealObliquePrism::localCorners( lc, pv, ref ) ;
}
void CaloTowerGeometry::newCell ( const GlobalPoint f1,
const GlobalPoint f2,
const GlobalPoint f3,
const CCGFloat parm,
const DetId detId 
) [virtual]

Implements CaloSubdetectorGeometry.

Definition at line 56 of file CaloTowerGeometry.cc.

References CaloSubdetectorGeometry::cornersMgr(), CaloGenericDetId::denseIndex(), CaloGenericDetId::isCaloTower(), m_cellVec, and CaloSubdetectorGeometry::m_validIds.

{
   const CaloGenericDetId cgid ( detId ) ;

   assert( cgid.isCaloTower() ) ;

   const unsigned int di ( cgid.denseIndex() ) ;

   m_cellVec[ di ] = IdealObliquePrism( f1, cornersMgr(), parm ) ;
   m_validIds.push_back( detId ) ;
}
static unsigned int CaloTowerGeometry::numberOfAlignments ( ) [inline, static]

Definition at line 50 of file CaloTowerGeometry.h.

{ return 0 ; }
virtual unsigned int CaloTowerGeometry::numberOfParametersPerShape ( ) const [inline, virtual]

Reimplemented from CaloSubdetectorGeometry.

Definition at line 42 of file CaloTowerGeometry.h.

References k_NumberOfParametersPerShape.

virtual unsigned int CaloTowerGeometry::numberOfShapes ( ) const [inline, virtual]

Reimplemented from CaloSubdetectorGeometry.

Definition at line 41 of file CaloTowerGeometry.h.

References k_NumberOfShapes.

{ return k_NumberOfShapes ; }
static std::string CaloTowerGeometry::producerTag ( ) [inline, static]

Definition at line 48 of file CaloTowerGeometry.h.

Referenced by PCaloGeometryBuilder::beginRun(), and CaloGeometryBuilder::produceAligned().

{ return "TOWER" ; }

Member Data Documentation

Definition at line 72 of file CaloTowerGeometry.h.

Referenced by cellGeomPtr(), and newCell().