CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions
CaloTowerGeometry Class Reference

#include <CaloTowerGeometry.h>

Inheritance diagram for CaloTowerGeometry:
CaloSubdetectorGeometry

Public Types

enum  { k_NumberOfCellsForCorners = CaloTowerDetId::kSizeForDenseIndexing }
 
enum  { k_NumberOfShapes = 41 }
 
enum  { k_NumberOfParametersPerShape = 5 }
 
typedef CaloTowerGeometryRecord AlignedRecord
 
typedef CaloTowerAlignmentRcd AlignmentRecord
 
typedef CaloTowerDetId DetIdType
 
typedef PCaloTowerRcd PGeometryRecord
 
- Public Types inherited from CaloSubdetectorGeometry
typedef std::vector< const
CaloCellGeometry * > 
CellCont
 
typedef std::set< DetIdDetIdSet
 
typedef std::vector< double > DimVec
 
typedef std::vector< unsigned int > IVec
 
typedef CaloCellGeometry::ParMgr ParMgr
 
typedef CaloCellGeometry::ParVec ParVec
 
typedef CaloCellGeometry::ParVecVec ParVecVec
 
typedef std::vector< double > TrVec
 

Public Member Functions

 CaloTowerGeometry ()
 
virtual unsigned int numberOfParametersPerShape () const
 
virtual unsigned int numberOfShapes () const
 
virtual ~CaloTowerGeometry ()
 
- Public Member Functions inherited from CaloSubdetectorGeometry
void addCell (const DetId &id, CaloCellGeometry *ccg)
 Add a cell to the geometry. More...
 
void allocateCorners (CaloCellGeometry::CornersVec::size_type n)
 
void allocatePar (ParVec::size_type n, unsigned int m)
 
 CaloSubdetectorGeometry ()
 
const CellContcellGeometries () const
 the cells More...
 
CaloCellGeometry::CornersMgrcornersMgr ()
 
double deltaEta (const DetId &detId) const
 
double deltaPhi (const DetId &detId) const
 
virtual void fillDefaultNamedParameters () const
 
virtual DetIdSet getCells (const GlobalPoint &r, double dR) const
 Get a list of all cells within a dR of the given cell. More...
 
virtual DetId getClosestCell (const GlobalPoint &r) const
 
virtual const CaloCellGeometrygetGeometry (const DetId &id) const
 Get the cell geometry of a given detector id. Should return false if not found. More...
 
void getSummary (TrVec &trVector, IVec &iVector, DimVec &dimVector) const
 
virtual const std::vector
< DetId > & 
getValidDetIds (DetId::Detector det=DetId::Detector(0), int subdet=0) const
 Get a list of valid detector ids (for the given subdetector) More...
 
virtual void initializeParms ()
 
virtual unsigned int numberOfTransformParms () const
 
ParMgrparMgr ()
 
const ParMgrparMgrConst () const
 
ParVecVecparVecVec ()
 
const ParVecVecparVecVec () const
 
virtual bool present (const DetId &id) const
 is this detid present in the geometry? More...
 
virtual ~CaloSubdetectorGeometry ()
 The base class DOES assume that it owns the CaloCellGeometry objects. More...
 

Static Public Member Functions

static unsigned int alignmentTransformIndexGlobal (const DetId &id)
 
static unsigned int alignmentTransformIndexLocal (const DetId &id)
 
static std::string dbString ()
 
static std::vector
< HepGeom::Point3D< double > > 
localCorners (const double *pv, unsigned int i, HepGeom::Point3D< double > &ref)
 
static CaloCellGeometrynewCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, CaloCellGeometry::CornersMgr *mgr, const double *parm, const DetId &detId)
 
static unsigned int numberOfAlignments ()
 
static std::string producerTag ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from CaloSubdetectorGeometry
static double deltaR (const GlobalPoint &p1, const GlobalPoint &p2)
 
- Protected Attributes inherited from CaloSubdetectorGeometry
ParVecVec m_parVecVec
 

Detailed Description

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

Date:
2009/01/29 22:28:52
Revision:
1.4
Author
J. Mans - Minnesota

Definition at line 17 of file CaloTowerGeometry.h.

Member Typedef Documentation

Definition at line 22 of file CaloTowerGeometry.h.

Definition at line 21 of file CaloTowerGeometry.h.

Definition at line 24 of file CaloTowerGeometry.h.

Definition at line 23 of file CaloTowerGeometry.h.

Member Enumeration Documentation

anonymous enum
anonymous enum
Enumerator
k_NumberOfShapes 

Definition at line 28 of file CaloTowerGeometry.h.

anonymous enum
Enumerator
k_NumberOfParametersPerShape 

Definition at line 30 of file CaloTowerGeometry.h.

Constructor & Destructor Documentation

CaloTowerGeometry::CaloTowerGeometry ( )

Definition at line 6 of file CaloTowerGeometry.cc.

6  {
7 }
CaloTowerGeometry::~CaloTowerGeometry ( )
virtual

Definition at line 10 of file CaloTowerGeometry.cc.

10 {}

Member Function Documentation

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

Definition at line 35 of file CaloTowerGeometry.cc.

References DetId::Calo.

36 {
37  return (unsigned int) DetId::Calo - 1 ;
38 }
unsigned int CaloTowerGeometry::alignmentTransformIndexLocal ( const DetId id)
static

Definition at line 14 of file CaloTowerGeometry.cc.

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

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 }
unsigned int offset(bool)
static std::string CaloTowerGeometry::dbString ( )
inlinestatic

Definition at line 32 of file CaloTowerGeometry.h.

32 { return "PCaloTowerRcd" ; }
std::vector< HepGeom::Point3D< double > > CaloTowerGeometry::localCorners ( const double *  pv,
unsigned int  i,
HepGeom::Point3D< double > &  ref 
)
static

Definition at line 41 of file CaloTowerGeometry.cc.

References calogeom::IdealObliquePrism::localCorners().

44 {
45  return ( calogeom::IdealObliquePrism::localCorners( pv, ref ) ) ;
46 }
static std::vector< HepGeom::Point3D< double > > localCorners(const double *pv, HepGeom::Point3D< double > &ref)
CaloCellGeometry * CaloTowerGeometry::newCell ( const GlobalPoint f1,
const GlobalPoint f2,
const GlobalPoint f3,
CaloCellGeometry::CornersMgr mgr,
const double *  parm,
const DetId detId 
)
static

Definition at line 49 of file CaloTowerGeometry.cc.

References CaloGenericDetId::isCaloTower().

55 {
56  const CaloGenericDetId cgid ( detId ) ;
57 
58  assert( cgid.isCaloTower() ) ;
59 
60  return ( new calogeom::IdealObliquePrism( f1, mgr, parm ) ) ;
61 }
static unsigned int CaloTowerGeometry::numberOfAlignments ( )
inlinestatic

Definition at line 43 of file CaloTowerGeometry.h.

43 { return 0 ; }
virtual unsigned int CaloTowerGeometry::numberOfParametersPerShape ( ) const
inlinevirtual
virtual unsigned int CaloTowerGeometry::numberOfShapes ( ) const
inlinevirtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 34 of file CaloTowerGeometry.h.

References k_NumberOfShapes.

static std::string CaloTowerGeometry::producerTag ( )
inlinestatic

Definition at line 41 of file CaloTowerGeometry.h.

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

41 { return "TOWER" ; }