CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes | Static Private Attributes
HeterogeneousHGCSiliconDetId Class Reference

#include <HGCConditions.h>

Public Member Functions

constexpr std::int32_t cellU ()
 
constexpr std::int32_t cellV ()
 
constexpr std::int32_t cellX ()
 
constexpr std::int32_t cellY ()
 
constexpr HeterogeneousHGCSiliconDetId (uint32_t id)
 
constexpr std::int32_t layer ()
 
constexpr std::int32_t nCellsSide ()
 
constexpr std::int32_t type ()
 
constexpr std::int32_t waferU ()
 
constexpr std::int32_t waferUAbs ()
 
constexpr std::int32_t waferV ()
 
constexpr std::int32_t waferVAbs ()
 
constexpr std::int32_t waferX ()
 
constexpr std::int32_t waferY ()
 
constexpr std::int32_t zside ()
 

Private Types

enum  waferType { HGCalFine = 0, HGCalCoarseThin = 1, HGCalCoarseThick = 2 }
 

Private Attributes

std::uint32_t id_
 

Static Private Attributes

static constexpr std::int32_t HGCalCoarseN = 8
 
static constexpr std::int32_t HGCalFineN = 12
 
static constexpr std::int32_t kHGCalCellUMask = 0x1F
 
static constexpr std::int32_t kHGCalCellUOffset = 0
 
static constexpr std::int32_t kHGCalCellVMask = 0x1F
 
static constexpr std::int32_t kHGCalCellVOffset = 5
 
static constexpr std::int32_t kHGCalLayerMask = 0x1F
 
static constexpr std::int32_t kHGCalLayerOffset = 20
 
static constexpr std::int32_t kHGCalTypeMask = 0x3
 
static constexpr std::int32_t kHGCalTypeOffset = 26
 
static constexpr std::int32_t kHGCalWaferUMask = 0xF
 
static constexpr std::int32_t kHGCalWaferUOffset = 10
 
static constexpr std::int32_t kHGCalWaferUSignMask = 0x1
 
static constexpr std::int32_t kHGCalWaferUSignOffset = 14
 
static constexpr std::int32_t kHGCalWaferVMask = 0xF
 
static constexpr std::int32_t kHGCalWaferVOffset = 15
 
static constexpr std::int32_t kHGCalWaferVSignMask = 0x1
 
static constexpr std::int32_t kHGCalWaferVSignOffset = 19
 
static constexpr std::int32_t kHGCalZsideMask = 0x1
 
static constexpr std::int32_t kHGCalZsideOffset = 25
 

Detailed Description

Definition at line 9 of file HGCConditions.h.

Member Enumeration Documentation

◆ waferType

Constructor & Destructor Documentation

◆ HeterogeneousHGCSiliconDetId()

constexpr HeterogeneousHGCSiliconDetId::HeterogeneousHGCSiliconDetId ( uint32_t  id)
inline

Definition at line 11 of file HGCConditions.h.

11 : id_(id) {}

Member Function Documentation

◆ cellU()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::cellU ( )
inline

Definition at line 25 of file HGCConditions.h.

References id_, kHGCalCellUMask, and kHGCalCellUOffset.

Referenced by cellY().

25 { return (id_ >> kHGCalCellUOffset) & kHGCalCellUMask; }
static constexpr std::int32_t kHGCalCellUOffset
Definition: HGCConditions.h:42
static constexpr std::int32_t kHGCalCellUMask
Definition: HGCConditions.h:43

◆ cellV()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::cellV ( )
inline

Definition at line 26 of file HGCConditions.h.

References id_, kHGCalCellVMask, and kHGCalCellVOffset.

Referenced by cellX(), and cellY().

26 { return (id_ >> kHGCalCellVOffset) & kHGCalCellVMask; }
static constexpr std::int32_t kHGCalCellVMask
Definition: HGCConditions.h:45
static constexpr std::int32_t kHGCalCellVOffset
Definition: HGCConditions.h:44

◆ cellX()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::cellX ( )
inline

Definition at line 28 of file HGCConditions.h.

References cellV(), N, and nCellsSide().

28  {
29  const std::int32_t N = nCellsSide();
30  return (3 * (cellV() - N) + 2);
31  }
constexpr std::int32_t cellV()
Definition: HGCConditions.h:26
#define N
Definition: blowfish.cc:9
constexpr std::int32_t nCellsSide()
Definition: HGCConditions.h:27

◆ cellY()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::cellY ( )
inline

Definition at line 32 of file HGCConditions.h.

References cellU(), cellV(), N, and nCellsSide().

32  {
33  const std::int32_t N = nCellsSide();
34  return (2 * cellU() - (N + cellV()));
35  }
constexpr std::int32_t cellV()
Definition: HGCConditions.h:26
constexpr std::int32_t cellU()
Definition: HGCConditions.h:25
#define N
Definition: blowfish.cc:9
constexpr std::int32_t nCellsSide()
Definition: HGCConditions.h:27

◆ layer()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::layer ( )
inline

Definition at line 14 of file HGCConditions.h.

References id_, kHGCalLayerMask, and kHGCalLayerOffset.

Referenced by geometryXMLparser.DTAlignable::index(), and geometryXMLparser.CSCAlignable::index().

14 { return (id_ >> kHGCalLayerOffset) & kHGCalLayerMask; }
static constexpr std::int32_t kHGCalLayerMask
Definition: HGCConditions.h:55
static constexpr std::int32_t kHGCalLayerOffset
Definition: HGCConditions.h:54

◆ nCellsSide()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::nCellsSide ( )
inline

Definition at line 27 of file HGCConditions.h.

References HGCalCoarseN, HGCalFine, HGCalFineN, and type().

Referenced by cellX(), and cellY().

27 { return (type() == HGCalFine) ? HGCalFineN : HGCalCoarseN; }
static constexpr std::int32_t HGCalCoarseN
Definition: HGCConditions.h:41
static constexpr std::int32_t HGCalFineN
Definition: HGCConditions.h:40
constexpr std::int32_t type()
Definition: HGCConditions.h:12

◆ type()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::type ( )
inline

Definition at line 12 of file HGCConditions.h.

References id_, kHGCalTypeMask, and kHGCalTypeOffset.

Referenced by nCellsSide().

12 { return (id_ >> kHGCalTypeOffset) & kHGCalTypeMask; }
static constexpr std::int32_t kHGCalTypeMask
Definition: HGCConditions.h:59
static constexpr std::int32_t kHGCalTypeOffset
Definition: HGCConditions.h:58

◆ waferU()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::waferU ( )
inline

Definition at line 17 of file HGCConditions.h.

References id_, kHGCalWaferUSignMask, kHGCalWaferUSignOffset, and waferUAbs().

Referenced by waferX().

17  {
19  }
static constexpr std::int32_t kHGCalWaferUSignOffset
Definition: HGCConditions.h:48
constexpr std::int32_t waferUAbs()
Definition: HGCConditions.h:15
static constexpr std::int32_t kHGCalWaferUSignMask
Definition: HGCConditions.h:49

◆ waferUAbs()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::waferUAbs ( )
inline

Definition at line 15 of file HGCConditions.h.

References id_, kHGCalWaferUMask, and kHGCalWaferUOffset.

Referenced by waferU().

15 { return (id_ >> kHGCalWaferUOffset) & kHGCalWaferUMask; }
static constexpr std::int32_t kHGCalWaferUOffset
Definition: HGCConditions.h:46
static constexpr std::int32_t kHGCalWaferUMask
Definition: HGCConditions.h:47

◆ waferV()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::waferV ( )
inline

Definition at line 20 of file HGCConditions.h.

References id_, kHGCalWaferVSignMask, kHGCalWaferVSignOffset, and waferVAbs().

Referenced by waferX(), and waferY().

20  {
22  }
static constexpr std::int32_t kHGCalWaferVSignOffset
Definition: HGCConditions.h:52
static constexpr std::int32_t kHGCalWaferVSignMask
Definition: HGCConditions.h:53
constexpr std::int32_t waferVAbs()
Definition: HGCConditions.h:16

◆ waferVAbs()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::waferVAbs ( )
inline

Definition at line 16 of file HGCConditions.h.

References id_, kHGCalWaferVMask, and kHGCalWaferVOffset.

Referenced by waferV().

16 { return (id_ >> kHGCalWaferVOffset) & kHGCalWaferVMask; }
static constexpr std::int32_t kHGCalWaferVMask
Definition: HGCConditions.h:51
static constexpr std::int32_t kHGCalWaferVOffset
Definition: HGCConditions.h:50

◆ waferX()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::waferX ( )
inline

Definition at line 23 of file HGCConditions.h.

References waferU(), and waferV().

23 { return (-2 * waferU() + waferV()); }
constexpr std::int32_t waferU()
Definition: HGCConditions.h:17
constexpr std::int32_t waferV()
Definition: HGCConditions.h:20

◆ waferY()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::waferY ( )
inline

Definition at line 24 of file HGCConditions.h.

References waferV().

24 { return (2 * waferV()); }
constexpr std::int32_t waferV()
Definition: HGCConditions.h:20

◆ zside()

constexpr std::int32_t HeterogeneousHGCSiliconDetId::zside ( )
inline

Definition at line 13 of file HGCConditions.h.

References id_, kHGCalZsideMask, and kHGCalZsideOffset.

13 { return (((id_ >> kHGCalZsideOffset) & kHGCalZsideMask) ? -1 : 1); }
static constexpr std::int32_t kHGCalZsideOffset
Definition: HGCConditions.h:56
static constexpr std::int32_t kHGCalZsideMask
Definition: HGCConditions.h:57

Member Data Documentation

◆ HGCalCoarseN

constexpr std::int32_t HeterogeneousHGCSiliconDetId::HGCalCoarseN = 8
staticprivate

Definition at line 41 of file HGCConditions.h.

Referenced by nCellsSide().

◆ HGCalFineN

constexpr std::int32_t HeterogeneousHGCSiliconDetId::HGCalFineN = 12
staticprivate

Definition at line 40 of file HGCConditions.h.

Referenced by nCellsSide().

◆ id_

std::uint32_t HeterogeneousHGCSiliconDetId::id_
private

Definition at line 38 of file HGCConditions.h.

Referenced by cellU(), cellV(), layer(), type(), waferU(), waferUAbs(), waferV(), waferVAbs(), and zside().

◆ kHGCalCellUMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalCellUMask = 0x1F
staticprivate

Definition at line 43 of file HGCConditions.h.

Referenced by cellU().

◆ kHGCalCellUOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalCellUOffset = 0
staticprivate

Definition at line 42 of file HGCConditions.h.

Referenced by cellU().

◆ kHGCalCellVMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalCellVMask = 0x1F
staticprivate

Definition at line 45 of file HGCConditions.h.

Referenced by cellV().

◆ kHGCalCellVOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalCellVOffset = 5
staticprivate

Definition at line 44 of file HGCConditions.h.

Referenced by cellV().

◆ kHGCalLayerMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalLayerMask = 0x1F
staticprivate

Definition at line 55 of file HGCConditions.h.

Referenced by layer().

◆ kHGCalLayerOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalLayerOffset = 20
staticprivate

Definition at line 54 of file HGCConditions.h.

Referenced by layer().

◆ kHGCalTypeMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalTypeMask = 0x3
staticprivate

Definition at line 59 of file HGCConditions.h.

Referenced by type().

◆ kHGCalTypeOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalTypeOffset = 26
staticprivate

Definition at line 58 of file HGCConditions.h.

Referenced by type().

◆ kHGCalWaferUMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferUMask = 0xF
staticprivate

Definition at line 47 of file HGCConditions.h.

Referenced by waferUAbs().

◆ kHGCalWaferUOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferUOffset = 10
staticprivate

Definition at line 46 of file HGCConditions.h.

Referenced by waferUAbs().

◆ kHGCalWaferUSignMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferUSignMask = 0x1
staticprivate

Definition at line 49 of file HGCConditions.h.

Referenced by waferU().

◆ kHGCalWaferUSignOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferUSignOffset = 14
staticprivate

Definition at line 48 of file HGCConditions.h.

Referenced by waferU().

◆ kHGCalWaferVMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferVMask = 0xF
staticprivate

Definition at line 51 of file HGCConditions.h.

Referenced by waferVAbs().

◆ kHGCalWaferVOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferVOffset = 15
staticprivate

Definition at line 50 of file HGCConditions.h.

Referenced by waferVAbs().

◆ kHGCalWaferVSignMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferVSignMask = 0x1
staticprivate

Definition at line 53 of file HGCConditions.h.

Referenced by waferV().

◆ kHGCalWaferVSignOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalWaferVSignOffset = 19
staticprivate

Definition at line 52 of file HGCConditions.h.

Referenced by waferV().

◆ kHGCalZsideMask

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalZsideMask = 0x1
staticprivate

Definition at line 57 of file HGCConditions.h.

Referenced by zside().

◆ kHGCalZsideOffset

constexpr std::int32_t HeterogeneousHGCSiliconDetId::kHGCalZsideOffset = 25
staticprivate

Definition at line 56 of file HGCConditions.h.

Referenced by zside().