CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes
EcalTBHodoscopeGeometry Class Reference

#include <EcalTBHodoscopeGeometry.h>

Inheritance diagram for EcalTBHodoscopeGeometry:
CaloSubdetectorGeometry

Classes

struct  fibre_pos
 

Public Types

typedef CaloCellGeometry::CCGFloat CCGFloat
 
typedef std::vector< PreshowerStripCellVec
 
typedef CaloCellGeometry::Pt3D Pt3D
 
typedef CaloCellGeometry::Pt3DVec Pt3DVec
 
- Public Types inherited from CaloSubdetectorGeometry
typedef CaloCellGeometry::CCGFloat CCGFloat
 
using CellMayOwnPtr = CaloCellGeometryMayOwnPtr
 
using CellPtr = CaloCellGeometryPtr
 
typedef std::vector< std::shared_ptr< const CaloCellGeometry > > 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

 EcalTBHodoscopeGeometry ()
 
void newCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
 
 ~EcalTBHodoscopeGeometry () override
 
- Public Member Functions inherited from CaloSubdetectorGeometry
void allocateCorners (CaloCellGeometry::CornersVec::size_type n)
 
void allocatePar (ParVec::size_type n, unsigned int m)
 
 CaloSubdetectorGeometry ()
 
 CaloSubdetectorGeometry (const CaloSubdetectorGeometry &)=delete
 avoid copies More...
 
CaloCellGeometry::CornersMgrcornersMgr ()
 
CCGFloat deltaEta (const DetId &detId) const
 
CCGFloat 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 CellSet getCellSet (const GlobalPoint &r, double dR) const
 
virtual DetId getClosestCell (const GlobalPoint &r) const
 
virtual CellMayOwnPtr getGeometry (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 void initializeParms ()
 
virtual unsigned int numberOfParametersPerShape () const
 
virtual unsigned int numberOfShapes () const
 
virtual unsigned int numberOfTransformParms () const
 
CaloSubdetectorGeometryoperator= (const CaloSubdetectorGeometry &)=delete
 
ParMgrparMgr ()
 
const ParMgrparMgrConst () const
 
ParVecVecparVecVec ()
 
const ParVecVecparVecVec () const
 
virtual bool present (const DetId &id) const
 is this detid present in the geometry? More...
 
virtual bool valid (const DetId &id) const
 
virtual ~CaloSubdetectorGeometry ()
 The base class DOES assume that it owns the CaloCellGeometry objects. More...
 

Static Public Member Functions

static float getFibreLp (int plane, int fibre)
 
static float getFibreRp (int plane, int fibre)
 
static std::vector< int > getFiredFibresInPlane (float xtr, int plane)
 
static int getNFibres ()
 
static int getNPlanes ()
 

Protected Member Functions

CaloCellGeometryPtr getGeometryRawPtr (uint32_t index) const override
 
- Protected Member Functions inherited from CaloSubdetectorGeometry
void addValidID (const DetId &id)
 
virtual CellPtr cellGeomPtr (uint32_t index) const
 
virtual unsigned int indexFor (const DetId &id) const
 
virtual unsigned int sizeForDenseIndex (const DetId &id) const
 

Private Attributes

CellVec m_cellVec
 

Static Private Attributes

static const fibre_pos fibrePos_ [nPlanes_][nFibres_]
 
static const int nFibres_ = 64
 
static const int nPlanes_ = 4
 

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 9 of file EcalTBHodoscopeGeometry.h.

Member Typedef Documentation

◆ CCGFloat

Definition at line 13 of file EcalTBHodoscopeGeometry.h.

◆ CellVec

Definition at line 11 of file EcalTBHodoscopeGeometry.h.

◆ Pt3D

Definition at line 14 of file EcalTBHodoscopeGeometry.h.

◆ Pt3DVec

Definition at line 15 of file EcalTBHodoscopeGeometry.h.

Constructor & Destructor Documentation

◆ EcalTBHodoscopeGeometry()

EcalTBHodoscopeGeometry::EcalTBHodoscopeGeometry ( )

◆ ~EcalTBHodoscopeGeometry()

EcalTBHodoscopeGeometry::~EcalTBHodoscopeGeometry ( )
override

Definition at line 8 of file EcalTBHodoscopeGeometry.cc.

8 {}

Member Function Documentation

◆ getFibreLp()

float EcalTBHodoscopeGeometry::getFibreLp ( int  plane,
int  fibre 
)
static

Definition at line 10 of file EcalTBHodoscopeGeometry.cc.

References fibrePos_, EcalTBHodoscopeGeometry::fibre_pos::lp, nFibres_, and nPlanes_.

Referenced by EcalTBHodoscopeRecInfoAlgo::clusterPos().

10  {
11  if (plane < nPlanes_ && fibre < nFibres_) {
12  return fibrePos_[plane][fibre].lp;
13  } else {
14  return -99999.;
15  }
16 }
static const fibre_pos fibrePos_[nPlanes_][nFibres_]

◆ getFibreRp()

float EcalTBHodoscopeGeometry::getFibreRp ( int  plane,
int  fibre 
)
static

Definition at line 18 of file EcalTBHodoscopeGeometry.cc.

References fibrePos_, nFibres_, nPlanes_, and EcalTBHodoscopeGeometry::fibre_pos::rp.

Referenced by EcalTBHodoscopeRecInfoAlgo::clusterPos().

18  {
19  if (plane < nPlanes_ && fibre < nFibres_) {
20  return fibrePos_[plane][fibre].rp;
21  } else {
22  return -99999.;
23  }
24 }
static const fibre_pos fibrePos_[nPlanes_][nFibres_]

◆ getFiredFibresInPlane()

std::vector< int > EcalTBHodoscopeGeometry::getFiredFibresInPlane ( float  xtr,
int  plane 
)
static

Definition at line 328 of file EcalTBHodoscopeGeometry.cc.

References fibrePos_, mps_fire::i, nFibres_, and nPlanes_.

328  {
329  std::vector<int> firedFibres;
330 
332  return firedFibres;
333 
334  for (int i(0); i != nFibres_; ++i) {
335  if ((xtr >= fibrePos_[plane][i].lp) && (xtr <= fibrePos_[plane][i].rp))
336  firedFibres.emplace_back(i);
337  }
338  return firedFibres;
339 }
static const fibre_pos fibrePos_[nPlanes_][nFibres_]

◆ getGeometryRawPtr()

CaloCellGeometryPtr EcalTBHodoscopeGeometry::getGeometryRawPtr ( uint32_t  index) const
overrideprotectedvirtual

Implements CaloSubdetectorGeometry.

Definition at line 341 of file EcalTBHodoscopeGeometry.cc.

References m_cellVec.

341  {
342  // Modify the RawPtr class
343  return CaloCellGeometryPtr(m_cellVec.size() <= index || nullptr == m_cellVec[index].param() ? nullptr
344  : &m_cellVec[index]);
345 }

◆ getNFibres()

int EcalTBHodoscopeGeometry::getNFibres ( )
static

Definition at line 28 of file EcalTBHodoscopeGeometry.cc.

References nFibres_.

Referenced by EcalTBHodoscopeRecInfoAlgo::reconstruct().

28 { return nFibres_; }

◆ getNPlanes()

int EcalTBHodoscopeGeometry::getNPlanes ( )
static

Definition at line 26 of file EcalTBHodoscopeGeometry.cc.

References nPlanes_.

Referenced by EcalTBHodoscopeRecInfoAlgo::reconstruct().

26 { return nPlanes_; }

◆ newCell()

void EcalTBHodoscopeGeometry::newCell ( const GlobalPoint f1,
const GlobalPoint f2,
const GlobalPoint f3,
const CCGFloat parm,
const DetId detId 
)
overridevirtual

Implements CaloSubdetectorGeometry.

Definition at line 30 of file EcalTBHodoscopeGeometry.cc.

References CaloSubdetectorGeometry::addValidID(), CaloSubdetectorGeometry::cornersMgr(), EBDetId::denseIndex(), hcalRecHitTable_cff::detId, validate-o2o-wbm::f1, and m_cellVec.

31  {
32  const HodoscopeDetId hid(detId);
33 
34  const unsigned int cellIndex(hid.denseIndex());
35 
36  m_cellVec[cellIndex] = PreshowerStrip(f1, cornersMgr(), parm);
38 }
A base class to handle the shape of preshower strips.
void addValidID(const DetId &id)
CaloCellGeometry::CornersMgr * cornersMgr()

Member Data Documentation

◆ fibrePos_

const EcalTBHodoscopeGeometry::fibre_pos EcalTBHodoscopeGeometry::fibrePos_
staticprivate

Definition at line 47 of file EcalTBHodoscopeGeometry.h.

Referenced by getFibreLp(), getFibreRp(), and getFiredFibresInPlane().

◆ m_cellVec

CellVec EcalTBHodoscopeGeometry::m_cellVec
private

Definition at line 49 of file EcalTBHodoscopeGeometry.h.

Referenced by getGeometryRawPtr(), and newCell().

◆ nFibres_

const int EcalTBHodoscopeGeometry::nFibres_ = 64
staticprivate

◆ nPlanes_

const int EcalTBHodoscopeGeometry::nPlanes_ = 4
staticprivate