CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions
HGCalWaferIndex Class Reference

#include <HGCalWaferIndex.h>

Public Member Functions

 HGCalWaferIndex ()
 
 ~HGCalWaferIndex ()
 

Static Public Member Functions

static int32_t waferIndex (int32_t layer, int32_t waferU, int32_t waferV)
 
static int32_t waferLayer (const int32_t index)
 
static int32_t waferU (const int32_t index)
 
static int32_t waferV (const int32_t index)
 

Detailed Description

Definition at line 7 of file HGCalWaferIndex.h.

Constructor & Destructor Documentation

HGCalWaferIndex::HGCalWaferIndex ( )
inline

Definition at line 11 of file HGCalWaferIndex.h.

11 {}
HGCalWaferIndex::~HGCalWaferIndex ( )
inline

Definition at line 12 of file HGCalWaferIndex.h.

References waferIndex(), waferLayer(), waferU(), and waferV().

12 {}

Member Function Documentation

int32_t HGCalWaferIndex::waferIndex ( int32_t  layer,
int32_t  waferU,
int32_t  waferV 
)
static

Definition at line 14 of file HGCalWaferIndex.cc.

References funct::abs(), triggerObjects_cff::id, kHGCalLayerMask, kHGCalLayerOffset, kHGCalWaferUMask, kHGCalWaferUOffset, kHGCalWaferUSignMask, kHGCalWaferUSignOffset, kHGCalWaferVMask, kHGCalWaferVOffset, kHGCalWaferVSignMask, and kHGCalWaferVSignOffset.

Referenced by HGCalDDDConstants::cellThickness(), HGCalDDDConstants::getTypeHex(), HGCalDDDConstants::HGCalDDDConstants(), HGCalDDDConstants::isValidHex8(), HGCalGeomParameters::loadWaferHexagon8(), HGCalDDDConstants::locateCell(), HGCalDDDConstants::maxCells(), HGCalDDDConstants::numberCellsHexagon(), HGCalDDDConstants::waferFromPosition(), HGCalDDDConstants::waferPosition(), and ~HGCalWaferIndex().

15  {
16  int waferUabs(std::abs(waferU)), waferVabs(std::abs(waferV));
17  int waferUsign = (waferU >= 0) ? 0 : 1;
18  int waferVsign = (waferV >= 0) ? 0 : 1;
19  int32_t id(0);
20  id |= (((waferUabs & kHGCalWaferUMask) << kHGCalWaferUOffset) |
21  ((waferUsign& kHGCalWaferUSignMask) << kHGCalWaferUSignOffset) |
22  ((waferVabs & kHGCalWaferVMask) << kHGCalWaferVOffset) |
23  ((waferVsign& kHGCalWaferVSignMask) << kHGCalWaferVSignOffset) |
24  ((layer & kHGCalLayerMask) << kHGCalLayerOffset));
25  return id;
26 }
const int kHGCalWaferVMask
const int kHGCalWaferUSignMask
const int kHGCalWaferVSignOffset
static int32_t waferV(const int32_t index)
const int kHGCalWaferUMask
const int kHGCalLayerMask
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static int32_t waferU(const int32_t index)
const int kHGCalWaferVSignMask
const int kHGCalLayerOffset
const int kHGCalWaferUOffset
const int kHGCalWaferUSignOffset
const int kHGCalWaferVOffset
int HGCalWaferIndex::waferLayer ( const int32_t  index)
static

Definition at line 28 of file HGCalWaferIndex.cc.

References kHGCalLayerMask, and kHGCalLayerOffset.

Referenced by HGCalGeomParameters::loadWaferHexagon8(), and ~HGCalWaferIndex().

28  {
29  return (id>>kHGCalLayerOffset)&kHGCalLayerMask;
30 }
const int kHGCalLayerMask
const int kHGCalLayerOffset
int HGCalWaferIndex::waferU ( const int32_t  index)
static
int HGCalWaferIndex::waferV ( const int32_t  index)
static