#include <CaloTowerGeometry.h>
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 CaloCellGeometry * | cellGeomPtr (uint32_t index) const |
Private Attributes | |
CellVec | m_cellVec |
Only DetId::Calo, subdet=1 DetIds are handled by this class.
Definition at line 18 of file CaloTowerGeometry.h.
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.
typedef std::vector<IdealObliquePrism> CaloTowerGeometry::CellVec |
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.
anonymous enum |
Definition at line 33 of file CaloTowerGeometry.h.
anonymous enum |
Definition at line 35 of file CaloTowerGeometry.h.
{ k_NumberOfShapes = 41 } ;
anonymous enum |
Definition at line 37 of file CaloTowerGeometry.h.
{ k_NumberOfParametersPerShape = 5 } ;
CaloTowerGeometry::CaloTowerGeometry | ( | ) |
Definition at line 8 of file CaloTowerGeometry.cc.
: m_cellVec ( k_NumberOfCellsForCorners ) { }
CaloTowerGeometry::~CaloTowerGeometry | ( | ) | [virtual] |
Definition at line 14 of file CaloTowerGeometry.cc.
{ }
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.
{ return 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" ; }
CellVec CaloTowerGeometry::m_cellVec [private] |
Definition at line 72 of file CaloTowerGeometry.h.
Referenced by cellGeomPtr(), and newCell().