CMS 3D CMS Logo

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

List of all members.

Classes

struct  fibre_pos

Public Types

typedef CaloCellGeometry::CCGFloat CCGFloat
typedef std::vector
< PreshowerStrip
CellVec
typedef CaloCellGeometry::Pt3D Pt3D
typedef CaloCellGeometry::Pt3DVec Pt3DVec

Public Member Functions

 EcalTBHodoscopeGeometry ()
virtual void newCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
 ~EcalTBHodoscopeGeometry ()

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

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

Detailed Description

Definition at line 9 of file EcalTBHodoscopeGeometry.h.


Member Typedef Documentation

Reimplemented from CaloSubdetectorGeometry.

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

Definition at line 12 of file EcalTBHodoscopeGeometry.cc.

{
}

Member Function Documentation

const CaloCellGeometry * EcalTBHodoscopeGeometry::cellGeomPtr ( uint32_t  index) const [protected, virtual]

Implements CaloSubdetectorGeometry.

Definition at line 378 of file EcalTBHodoscopeGeometry.cc.

References m_cellVec, and CaloCellGeometry::param().

{
   const CaloCellGeometry* cell ( &m_cellVec[ index ] ) ;
   return ( m_cellVec.size() > index &&
            0 != cell->param() ? cell : 0 ) ;
}
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().

{ 
   if( plane < nPlanes_ &&
       fibre < nFibres_     )
   {
      return fibrePos_[ plane ][ fibre ].lp ;
   }
   else
   {
      return -99999. ;
   }
}
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().

{
   if( plane < nPlanes_ && 
       fibre < nFibres_    )
   {
      return fibrePos_[ plane ][ fibre ].rp ;
   }
   else
   {
      return -99999.;
   }
}
std::vector< int > EcalTBHodoscopeGeometry::getFiredFibresInPlane ( float  xtr,
int  plane 
) [static]

Definition at line 362 of file EcalTBHodoscopeGeometry.cc.

References fibrePos_, i, nFibres_, and nPlanes_.

{
   std::vector<int> firedFibres;
  
   if( plane > EcalTBHodoscopeGeometry::nPlanes_ ) return firedFibres;
  
   for( int i ( 0 ) ; i != nFibres_ ; ++i )
   {
      if( ( xtr >= fibrePos_[plane][i].lp ) &&  
          ( xtr <= fibrePos_[plane][i].rp )     ) firedFibres.push_back(i);
   }
   return firedFibres ;
}
int EcalTBHodoscopeGeometry::getNFibres ( ) [static]

Definition at line 51 of file EcalTBHodoscopeGeometry.cc.

References nFibres_.

Referenced by EcalTBHodoscopeRecInfoAlgo::reconstruct().

{
   return nFibres_;
}
int EcalTBHodoscopeGeometry::getNPlanes ( ) [static]

Definition at line 45 of file EcalTBHodoscopeGeometry.cc.

References nPlanes_.

Referenced by EcalTBHodoscopeRecInfoAlgo::reconstruct().

{
   return nPlanes_;
}
void EcalTBHodoscopeGeometry::newCell ( const GlobalPoint f1,
const GlobalPoint f2,
const GlobalPoint f3,
const CCGFloat parm,
const DetId detId 
) [virtual]

Implements CaloSubdetectorGeometry.

Definition at line 57 of file EcalTBHodoscopeGeometry.cc.

References CaloSubdetectorGeometry::cornersMgr(), CaloTowerDetId::denseIndex(), m_cellVec, and CaloSubdetectorGeometry::m_validIds.

{
   const HodoscopeDetId hid ( detId ) ;

   const unsigned int cellIndex ( hid.denseIndex() ) ;

   m_cellVec[ cellIndex ] = PreshowerStrip( f1, cornersMgr(), parm ) ;
   m_validIds.push_back( detId ) ;
}

Member Data Documentation

Definition at line 52 of file EcalTBHodoscopeGeometry.h.

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

Definition at line 54 of file EcalTBHodoscopeGeometry.h.

Referenced by cellGeomPtr(), and newCell().

const int EcalTBHodoscopeGeometry::nFibres_ = 64 [static, private]
const int EcalTBHodoscopeGeometry::nPlanes_ = 4 [static, private]