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
 
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

 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 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 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 ~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

const CaloCellGeometrycellGeomPtr (uint32_t index) const override
 
- 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 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

Definition at line 16 of file EcalTBHodoscopeGeometry.h.

Definition at line 14 of file EcalTBHodoscopeGeometry.h.

Definition at line 17 of file EcalTBHodoscopeGeometry.h.

Definition at line 18 of file EcalTBHodoscopeGeometry.h.

Constructor & Destructor Documentation

EcalTBHodoscopeGeometry::EcalTBHodoscopeGeometry ( )

Definition at line 7 of file EcalTBHodoscopeGeometry.cc.

EcalTBHodoscopeGeometry::~EcalTBHodoscopeGeometry ( )
override

Definition at line 12 of file EcalTBHodoscopeGeometry.cc.

13 {
14 }

Member Function Documentation

const CaloCellGeometry * EcalTBHodoscopeGeometry::cellGeomPtr ( uint32_t  index) const
overrideprotectedvirtual

Implements CaloSubdetectorGeometry.

Definition at line 378 of file EcalTBHodoscopeGeometry.cc.

References m_cellVec, nullptr, and CaloCellGeometry::param().

379 {
380  const CaloCellGeometry* cell ( &m_cellVec[ index ] ) ;
381  return ( m_cellVec.size() > index &&
382  nullptr != cell->param() ? cell : nullptr ) ;
383 }
#define nullptr
float EcalTBHodoscopeGeometry::getFibreLp ( int  plane,
int  fibre 
)
static

Definition at line 17 of file EcalTBHodoscopeGeometry.cc.

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

Referenced by EcalTBHodoscopeRecInfoAlgo::clusterPos().

18 {
19  if( plane < nPlanes_ &&
20  fibre < nFibres_ )
21  {
22  return fibrePos_[ plane ][ fibre ].lp ;
23  }
24  else
25  {
26  return -99999. ;
27  }
28 }
static const fibre_pos fibrePos_[nPlanes_][nFibres_]
float EcalTBHodoscopeGeometry::getFibreRp ( int  plane,
int  fibre 
)
static

Definition at line 31 of file EcalTBHodoscopeGeometry.cc.

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

Referenced by EcalTBHodoscopeRecInfoAlgo::clusterPos().

32 {
33  if( plane < nPlanes_ &&
34  fibre < nFibres_ )
35  {
36  return fibrePos_[ plane ][ fibre ].rp ;
37  }
38  else
39  {
40  return -99999.;
41  }
42 }
static const fibre_pos fibrePos_[nPlanes_][nFibres_]
std::vector< int > EcalTBHodoscopeGeometry::getFiredFibresInPlane ( float  xtr,
int  plane 
)
static

Definition at line 362 of file EcalTBHodoscopeGeometry.cc.

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

364 {
365  std::vector<int> firedFibres;
366 
367  if( plane > EcalTBHodoscopeGeometry::nPlanes_ ) return firedFibres;
368 
369  for( int i ( 0 ) ; i != nFibres_ ; ++i )
370  {
371  if( ( xtr >= fibrePos_[plane][i].lp ) &&
372  ( xtr <= fibrePos_[plane][i].rp ) ) firedFibres.emplace_back(i);
373  }
374  return firedFibres ;
375 }
static const fibre_pos fibrePos_[nPlanes_][nFibres_]
int EcalTBHodoscopeGeometry::getNFibres ( )
static

Definition at line 51 of file EcalTBHodoscopeGeometry.cc.

References nFibres_.

Referenced by EcalTBHodoscopeRecInfoAlgo::reconstruct().

52 {
53  return nFibres_;
54 }
int EcalTBHodoscopeGeometry::getNPlanes ( )
static

Definition at line 45 of file EcalTBHodoscopeGeometry.cc.

References nPlanes_.

Referenced by EcalTBHodoscopeRecInfoAlgo::reconstruct().

46 {
47  return nPlanes_;
48 }
void EcalTBHodoscopeGeometry::newCell ( const GlobalPoint f1,
const GlobalPoint f2,
const GlobalPoint f3,
const CCGFloat parm,
const DetId detId 
)
overridevirtual

Implements CaloSubdetectorGeometry.

Definition at line 57 of file EcalTBHodoscopeGeometry.cc.

References CaloSubdetectorGeometry::addValidID(), CaloSubdetectorGeometry::cornersMgr(), EBDetId::denseIndex(), fibrePos_, m_cellVec, nFibres_, and nPlanes_.

62 {
63  const HodoscopeDetId hid ( detId ) ;
64 
65  const unsigned int cellIndex ( hid.denseIndex() ) ;
66 
67  m_cellVec[ cellIndex ] = PreshowerStrip( f1, cornersMgr(), parm ) ;
68  addValidID( detId ) ;
69 }
A base class to handle the shape of preshower strips.
void addValidID(const DetId &id)
CaloCellGeometry::CornersMgr * cornersMgr()

Member Data Documentation

const EcalTBHodoscopeGeometry::fibre_pos EcalTBHodoscopeGeometry::fibrePos_
staticprivate

Definition at line 52 of file EcalTBHodoscopeGeometry.h.

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

CellVec EcalTBHodoscopeGeometry::m_cellVec
private

Definition at line 54 of file EcalTBHodoscopeGeometry.h.

Referenced by cellGeomPtr(), and newCell().

const int EcalTBHodoscopeGeometry::nFibres_ =64
staticprivate
const int EcalTBHodoscopeGeometry::nPlanes_ =4
staticprivate