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 | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
EcalEndcapGeometry Class Referencefinal

#include <EcalEndcapGeometry.h>

Inheritance diagram for EcalEndcapGeometry:
CaloSubdetectorGeometry

Public Types

enum  { k_NumberOfCellsForCorners = EEDetId::kSizeForDenseIndexing }
 
enum  { k_NumberOfShapes = 1 }
 
enum  { k_NumberOfParametersPerShape = 11 }
 
typedef EcalEndcapGeometryRecord AlignedRecord
 
typedef EEAlignmentRcd AlignmentRecord
 
typedef CaloCellGeometry::CCGFloat CCGFloat
 
typedef std::vector
< TruncatedPyramid
CellVec
 
typedef EEDetId DetIdType
 
typedef IdealGeometryRecord IdealRecord
 
typedef EcalEndcapNumberingScheme NumberingScheme
 
typedef EZArrayFL< EBDetIdOrderedListOfEBDetId
 
typedef PEcalEndcapRcd PGeometryRecord
 
typedef CaloCellGeometry::Pt3D Pt3D
 
typedef CaloCellGeometry::Pt3DVec Pt3DVec
 
typedef std::vector
< OrderedListOfEBDetId * > 
VecOrdListEBDetIdPtr
 
- Public Types inherited from CaloSubdetectorGeometry
typedef CaloCellGeometry::CCGFloat CCGFloat
 
typedef std::vector
< CaloCellGeometry const * > 
CellSet
 
typedef std::set< DetIdDetIdSet
 
typedef std::vector< CCGFloatDimVec
 
typedef std::vector< unsigned int > IVec
 
typedef CaloCellGeometry::ParMgr ParMgr
 
typedef CaloCellGeometry::ParVec ParVec
 
typedef CaloCellGeometry::ParVecVec ParVecVec
 
typedef std::vector< CCGFloatTrVec
 

Public Member Functions

CCGFloat avgAbsZFrontFaceCenter () const
 
 EcalEndcapGeometry ()
 
virtual
CaloSubdetectorGeometry::DetIdSet 
getCells (const GlobalPoint &r, double dR) const
 Get a list of all cells within a dR of the given cell. More...
 
const OrderedListOfEBDetIdgetClosestBarrelCells (EEDetId id) const
 
virtual DetId getClosestCell (const GlobalPoint &r) const
 
int getNumberOfCrystalPerModule () const
 
int getNumberOfModules () const
 
virtual void initializeParms ()
 
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
 
void setNumberOfCrystalPerModule (const int nncrys)
 
void setNumberOfModules (const int nnmods)
 
virtual ~EcalEndcapGeometry ()
 
- Public Member Functions inherited from CaloSubdetectorGeometry
void allocateCorners (CaloCellGeometry::CornersVec::size_type n)
 
void allocatePar (ParVec::size_type n, unsigned int m)
 
 CaloSubdetectorGeometry ()
 
CaloCellGeometry::CornersMgrcornersMgr ()
 
CCGFloat deltaEta (const DetId &detId) const
 
CCGFloat deltaPhi (const DetId &detId) const
 
virtual void fillDefaultNamedParameters () const
 
virtual CellSet getCellSet (const GlobalPoint &r, double dR) const
 
virtual const CaloCellGeometrygetGeometry (const DetId &id) const
 Get the cell geometry of a given detector id. Should return false if not found. More...
 
virtual void getSummary (TrVec &trVector, IVec &iVector, DimVec &dimVector, IVec &dinsVector) 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 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 DetId detIdFromLocalAlignmentIndex (unsigned int iLoc)
 
static std::string hitString ()
 
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
 
- Protected Member Functions inherited from CaloSubdetectorGeometry
void addValidID (const DetId &id)
 
virtual unsigned int indexFor (const DetId &id) const
 
virtual unsigned int sizeForDenseIndex (const DetId &id) const
 

Private Member Functions

EEDetId gId (float x, float y, float z) const
 
unsigned int xindex (CCGFloat x, CCGFloat z) const
 
unsigned int yindex (CCGFloat y, CCGFloat z) const
 

Static Private Member Functions

static int myPhi (int i)
 

Private Attributes

int _nncrys
 number of crystals per module More...
 
int _nnmods
 number of modules More...
 
CCGFloat m_avgZ
 
std::atomic< EZMgrFL< EBDetId > * > m_borderMgr
 
std::atomic
< VecOrdListEBDetIdPtr * > 
m_borderPtrVec
 
CellVec m_cellVec
 
std::atomic< bool > m_check
 
CCGFloat m_del
 
unsigned int m_nref
 
CCGFloat m_wref
 
CCGFloat m_xhi [2]
 
CCGFloat m_xlo [2]
 
CCGFloat m_xoff [2]
 
CCGFloat m_yhi [2]
 
CCGFloat m_ylo [2]
 
CCGFloat m_yoff [2]
 
CCGFloat zeN
 
CCGFloat zeP
 

Additional Inherited Members

- Static Protected Member Functions inherited from CaloSubdetectorGeometry
static CCGFloat deltaR (const GlobalPoint &p1, const GlobalPoint &p2)
 
- Protected Attributes inherited from CaloSubdetectorGeometry
ParVecVec m_parVecVec
 
std::vector< DetIdm_validIds
 

Detailed Description

Definition at line 20 of file EcalEndcapGeometry.h.

Member Typedef Documentation

Definition at line 31 of file EcalEndcapGeometry.h.

Definition at line 32 of file EcalEndcapGeometry.h.

Definition at line 26 of file EcalEndcapGeometry.h.

Definition at line 24 of file EcalEndcapGeometry.h.

Definition at line 41 of file EcalEndcapGeometry.h.

Definition at line 30 of file EcalEndcapGeometry.h.

Definition at line 39 of file EcalEndcapGeometry.h.

Definition at line 35 of file EcalEndcapGeometry.h.

Definition at line 33 of file EcalEndcapGeometry.h.

Definition at line 27 of file EcalEndcapGeometry.h.

Definition at line 28 of file EcalEndcapGeometry.h.

Definition at line 37 of file EcalEndcapGeometry.h.

Member Enumeration Documentation

anonymous enum
anonymous enum
Enumerator
k_NumberOfShapes 

Definition at line 45 of file EcalEndcapGeometry.h.

anonymous enum
Enumerator
k_NumberOfParametersPerShape 

Definition at line 47 of file EcalEndcapGeometry.h.

Constructor & Destructor Documentation

EcalEndcapGeometry::EcalEndcapGeometry ( void  )

Definition at line 14 of file EcalEndcapGeometry.cc.

EcalEndcapGeometry::~EcalEndcapGeometry ( )
virtual

Definition at line 42 of file EcalEndcapGeometry.cc.

Member Function Documentation

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

Definition at line 74 of file EcalEndcapGeometry.cc.

unsigned int EcalEndcapGeometry::alignmentTransformIndexLocal ( const DetId id)
static

Definition at line 57 of file EcalEndcapGeometry.cc.

CCGFloat EcalEndcapGeometry::avgAbsZFrontFaceCenter ( ) const

Definition at line 500 of file EcalEndcapGeometry.cc.

const CaloCellGeometry * EcalEndcapGeometry::cellGeomPtr ( uint32_t  index) const
protectedvirtual

Implements CaloSubdetectorGeometry.

Definition at line 520 of file EcalEndcapGeometry.cc.

static std::string EcalEndcapGeometry::dbString ( )
inlinestatic

Definition at line 50 of file EcalEndcapGeometry.h.

50 { return "PEcalEndcapRcd" ; }
DetId EcalEndcapGeometry::detIdFromLocalAlignmentIndex ( unsigned int  iLoc)
static

Definition at line 68 of file EcalEndcapGeometry.cc.

CaloSubdetectorGeometry::DetIdSet EcalEndcapGeometry::getCells ( const GlobalPoint r,
double  dR 
) const
virtual

Get a list of all cells within a dR of the given cell.

The default implementation makes a loop over all cell geometries. Cleverer implementations are suggested to use rough conversions between eta/phi and ieta/iphi and test on the boundaries.

Reimplemented from CaloSubdetectorGeometry.

Definition at line 351 of file EcalEndcapGeometry.cc.

const EcalEndcapGeometry::OrderedListOfEBDetId * EcalEndcapGeometry::getClosestBarrelCells ( EEDetId  id) const

Definition at line 430 of file EcalEndcapGeometry.cc.

DetId EcalEndcapGeometry::getClosestCell ( const GlobalPoint r) const
virtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 239 of file EcalEndcapGeometry.cc.

int EcalEndcapGeometry::getNumberOfCrystalPerModule ( ) const
inline

Definition at line 61 of file EcalEndcapGeometry.h.

References _nncrys.

61 { return _nncrys ; }
int _nncrys
number of crystals per module
int EcalEndcapGeometry::getNumberOfModules ( ) const
inline

Definition at line 59 of file EcalEndcapGeometry.h.

References _nnmods.

59 { return _nnmods ; }
int _nnmods
number of modules
EEDetId EcalEndcapGeometry::gId ( float  x,
float  y,
float  z 
) const
private

Definition at line 203 of file EcalEndcapGeometry.cc.

static std::string EcalEndcapGeometry::hitString ( )
inlinestatic

Definition at line 78 of file EcalEndcapGeometry.h.

78 { return "EcalHitsEE" ; }
void EcalEndcapGeometry::initializeParms ( )
virtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 80 of file EcalEndcapGeometry.cc.

void EcalEndcapGeometry::localCorners ( Pt3DVec lc,
const CCGFloat pv,
unsigned int  i,
Pt3D ref 
)
static

Definition at line 477 of file EcalEndcapGeometry.cc.

static int EcalEndcapGeometry::myPhi ( int  i)
inlinestaticprivate

Definition at line 107 of file EcalEndcapGeometry.h.

107 { i+=720; return ( 1 + (i-1)%360 ) ; }
int i
Definition: DBlmapReader.cc:9
void EcalEndcapGeometry::newCell ( const GlobalPoint f1,
const GlobalPoint f2,
const GlobalPoint f3,
const CCGFloat parm,
const DetId detId 
)
virtual

Implements CaloSubdetectorGeometry.

Definition at line 486 of file EcalEndcapGeometry.cc.

static unsigned int EcalEndcapGeometry::numberOfAlignments ( )
inlinestatic

Definition at line 82 of file EcalEndcapGeometry.h.

82 { return 4 ; }
virtual unsigned int EcalEndcapGeometry::numberOfParametersPerShape ( ) const
inlinevirtual
virtual unsigned int EcalEndcapGeometry::numberOfShapes ( ) const
inlinevirtual

Reimplemented from CaloSubdetectorGeometry.

Definition at line 52 of file EcalEndcapGeometry.h.

References k_NumberOfShapes.

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

Definition at line 80 of file EcalEndcapGeometry.h.

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

80 { return "EcalEndcap" ; }
void EcalEndcapGeometry::setNumberOfCrystalPerModule ( const int  nncrys)
inline

Definition at line 65 of file EcalEndcapGeometry.h.

References _nncrys.

65 { _nncrys=nncrys ; }
int _nncrys
number of crystals per module
void EcalEndcapGeometry::setNumberOfModules ( const int  nnmods)
inline

Definition at line 63 of file EcalEndcapGeometry.h.

References _nnmods.

63 { _nnmods=nnmods ; }
int _nnmods
number of modules
unsigned int EcalEndcapGeometry::xindex ( CCGFloat  x,
CCGFloat  z 
) const
private

Definition at line 180 of file EcalEndcapGeometry.cc.

unsigned int EcalEndcapGeometry::yindex ( CCGFloat  y,
CCGFloat  z 
) const
private

Definition at line 192 of file EcalEndcapGeometry.cc.

Member Data Documentation

int EcalEndcapGeometry::_nncrys
private

number of crystals per module

Definition at line 113 of file EcalEndcapGeometry.h.

Referenced by getNumberOfCrystalPerModule(), and setNumberOfCrystalPerModule().

int EcalEndcapGeometry::_nnmods
private

number of modules

Definition at line 110 of file EcalEndcapGeometry.h.

Referenced by getNumberOfModules(), and setNumberOfModules().

CCGFloat EcalEndcapGeometry::m_avgZ
mutableprivate

Definition at line 130 of file EcalEndcapGeometry.h.

std::atomic<EZMgrFL<EBDetId>*> EcalEndcapGeometry::m_borderMgr
mutableprivate

Definition at line 126 of file EcalEndcapGeometry.h.

std::atomic<VecOrdListEBDetIdPtr*> EcalEndcapGeometry::m_borderPtrVec
mutableprivate

Definition at line 128 of file EcalEndcapGeometry.h.

CellVec EcalEndcapGeometry::m_cellVec
private

Definition at line 133 of file EcalEndcapGeometry.h.

std::atomic<bool> EcalEndcapGeometry::m_check
mutableprivate

Definition at line 131 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_del
private

Definition at line 117 of file EcalEndcapGeometry.h.

unsigned int EcalEndcapGeometry::m_nref
private

Definition at line 119 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_wref
private

Definition at line 117 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_xhi[2]
private

Definition at line 117 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_xlo[2]
private

Definition at line 117 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_xoff[2]
private

Definition at line 117 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_yhi[2]
private

Definition at line 117 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_ylo[2]
private

Definition at line 117 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::m_yoff[2]
private

Definition at line 117 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::zeN
private

Definition at line 115 of file EcalEndcapGeometry.h.

CCGFloat EcalEndcapGeometry::zeP
private

Definition at line 115 of file EcalEndcapGeometry.h.