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

Enumerator
HGCalFine 
HGCalCoarseThin 
HGCalCoarseThick 

Definition at line 39 of file HGCConditions.h.

Constructor & Destructor Documentation

◆ HeterogeneousHGCSiliconDetId()

constexpr HeterogeneousHGCSiliconDetId::HeterogeneousHGCSiliconDetId ( uint32_t  id)
inlineconstexpr

Definition at line 11 of file HGCConditions.h.

11 : id_(id) {}

Member Function Documentation

◆ cellU()

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

Definition at line 25 of file HGCConditions.h.

25 { return (id_ >> kHGCalCellUOffset) & kHGCalCellUMask; }

References id_, kHGCalCellUMask, and kHGCalCellUOffset.

Referenced by cellY().

◆ cellV()

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

Definition at line 26 of file HGCConditions.h.

26 { return (id_ >> kHGCalCellVOffset) & kHGCalCellVMask; }

References id_, kHGCalCellVMask, and kHGCalCellVOffset.

Referenced by cellX(), and cellY().

◆ cellX()

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

Definition at line 28 of file HGCConditions.h.

28  {
29  const std::int32_t N = nCellsSide();
30  return (3 * (cellV() - N) + 2);
31  }

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

◆ cellY()

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

Definition at line 32 of file HGCConditions.h.

32  {
33  const std::int32_t N = nCellsSide();
34  return (2 * cellU() - (N + cellV()));
35  }

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

◆ layer()

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

◆ nCellsSide()

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

Definition at line 27 of file HGCConditions.h.

27 { return (type() == HGCalFine) ? HGCalFineN : HGCalCoarseN; }

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

Referenced by cellX(), and cellY().

◆ type()

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

Definition at line 12 of file HGCConditions.h.

12 { return (id_ >> kHGCalTypeOffset) & kHGCalTypeMask; }

References id_, kHGCalTypeMask, and kHGCalTypeOffset.

Referenced by nCellsSide().

◆ waferU()

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

Definition at line 17 of file HGCConditions.h.

17  {
19  }

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

Referenced by waferX().

◆ waferUAbs()

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

Definition at line 15 of file HGCConditions.h.

15 { return (id_ >> kHGCalWaferUOffset) & kHGCalWaferUMask; }

References id_, kHGCalWaferUMask, and kHGCalWaferUOffset.

Referenced by waferU().

◆ waferV()

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

Definition at line 20 of file HGCConditions.h.

20  {
22  }

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

Referenced by waferX(), and waferY().

◆ waferVAbs()

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

Definition at line 16 of file HGCConditions.h.

16 { return (id_ >> kHGCalWaferVOffset) & kHGCalWaferVMask; }

References id_, kHGCalWaferVMask, and kHGCalWaferVOffset.

Referenced by waferV().

◆ waferX()

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

Definition at line 23 of file HGCConditions.h.

23 { return (-2 * waferU() + waferV()); }

References waferU(), and waferV().

◆ waferY()

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

Definition at line 24 of file HGCConditions.h.

24 { return (2 * waferV()); }

References waferV().

◆ zside()

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

Definition at line 13 of file HGCConditions.h.

13 { return (((id_ >> kHGCalZsideOffset) & kHGCalZsideMask) ? -1 : 1); }

References id_, kHGCalZsideMask, and kHGCalZsideOffset.

Member Data Documentation

◆ HGCalCoarseN

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

Definition at line 41 of file HGCConditions.h.

Referenced by nCellsSide().

◆ HGCalFineN

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

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
staticconstexprprivate

Definition at line 43 of file HGCConditions.h.

Referenced by cellU().

◆ kHGCalCellUOffset

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

Definition at line 42 of file HGCConditions.h.

Referenced by cellU().

◆ kHGCalCellVMask

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

Definition at line 45 of file HGCConditions.h.

Referenced by cellV().

◆ kHGCalCellVOffset

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

Definition at line 44 of file HGCConditions.h.

Referenced by cellV().

◆ kHGCalLayerMask

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

Definition at line 55 of file HGCConditions.h.

Referenced by layer().

◆ kHGCalLayerOffset

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

Definition at line 54 of file HGCConditions.h.

Referenced by layer().

◆ kHGCalTypeMask

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

Definition at line 59 of file HGCConditions.h.

Referenced by type().

◆ kHGCalTypeOffset

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

Definition at line 58 of file HGCConditions.h.

Referenced by type().

◆ kHGCalWaferUMask

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

Definition at line 47 of file HGCConditions.h.

Referenced by waferUAbs().

◆ kHGCalWaferUOffset

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

Definition at line 46 of file HGCConditions.h.

Referenced by waferUAbs().

◆ kHGCalWaferUSignMask

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

Definition at line 49 of file HGCConditions.h.

Referenced by waferU().

◆ kHGCalWaferUSignOffset

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

Definition at line 48 of file HGCConditions.h.

Referenced by waferU().

◆ kHGCalWaferVMask

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

Definition at line 51 of file HGCConditions.h.

Referenced by waferVAbs().

◆ kHGCalWaferVOffset

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

Definition at line 50 of file HGCConditions.h.

Referenced by waferVAbs().

◆ kHGCalWaferVSignMask

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

Definition at line 53 of file HGCConditions.h.

Referenced by waferV().

◆ kHGCalWaferVSignOffset

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

Definition at line 52 of file HGCConditions.h.

Referenced by waferV().

◆ kHGCalZsideMask

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

Definition at line 57 of file HGCConditions.h.

Referenced by zside().

◆ kHGCalZsideOffset

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

Definition at line 56 of file HGCConditions.h.

Referenced by zside().

HeterogeneousHGCSiliconDetId::kHGCalCellUMask
static constexpr std::int32_t kHGCalCellUMask
Definition: HGCConditions.h:43
HeterogeneousHGCSiliconDetId::waferU
constexpr std::int32_t waferU()
Definition: HGCConditions.h:17
HeterogeneousHGCSiliconDetId::nCellsSide
constexpr std::int32_t nCellsSide()
Definition: HGCConditions.h:27
HeterogeneousHGCSiliconDetId::kHGCalWaferUSignMask
static constexpr std::int32_t kHGCalWaferUSignMask
Definition: HGCConditions.h:49
HeterogeneousHGCSiliconDetId::kHGCalTypeMask
static constexpr std::int32_t kHGCalTypeMask
Definition: HGCConditions.h:59
HeterogeneousHGCSiliconDetId::kHGCalTypeOffset
static constexpr std::int32_t kHGCalTypeOffset
Definition: HGCConditions.h:58
HeterogeneousHGCSiliconDetId::HGCalFineN
static constexpr std::int32_t HGCalFineN
Definition: HGCConditions.h:40
HeterogeneousHGCSiliconDetId::kHGCalZsideOffset
static constexpr std::int32_t kHGCalZsideOffset
Definition: HGCConditions.h:56
HeterogeneousHGCSiliconDetId::waferUAbs
constexpr std::int32_t waferUAbs()
Definition: HGCConditions.h:15
HeterogeneousHGCSiliconDetId::cellV
constexpr std::int32_t cellV()
Definition: HGCConditions.h:26
HeterogeneousHGCSiliconDetId::id_
std::uint32_t id_
Definition: HGCConditions.h:38
HeterogeneousHGCSiliconDetId::kHGCalWaferVOffset
static constexpr std::int32_t kHGCalWaferVOffset
Definition: HGCConditions.h:50
HeterogeneousHGCSiliconDetId::kHGCalWaferUOffset
static constexpr std::int32_t kHGCalWaferUOffset
Definition: HGCConditions.h:46
HeterogeneousHGCSiliconDetId::kHGCalCellVMask
static constexpr std::int32_t kHGCalCellVMask
Definition: HGCConditions.h:45
HeterogeneousHGCSiliconDetId::kHGCalWaferVSignOffset
static constexpr std::int32_t kHGCalWaferVSignOffset
Definition: HGCConditions.h:52
HeterogeneousHGCSiliconDetId::kHGCalZsideMask
static constexpr std::int32_t kHGCalZsideMask
Definition: HGCConditions.h:57
N
#define N
Definition: blowfish.cc:9
HeterogeneousHGCSiliconDetId::kHGCalWaferUSignOffset
static constexpr std::int32_t kHGCalWaferUSignOffset
Definition: HGCConditions.h:48
HeterogeneousHGCSiliconDetId::kHGCalLayerMask
static constexpr std::int32_t kHGCalLayerMask
Definition: HGCConditions.h:55
HeterogeneousHGCSiliconDetId::HGCalCoarseN
static constexpr std::int32_t HGCalCoarseN
Definition: HGCConditions.h:41
HeterogeneousHGCSiliconDetId::kHGCalCellVOffset
static constexpr std::int32_t kHGCalCellVOffset
Definition: HGCConditions.h:44
HeterogeneousHGCSiliconDetId::kHGCalWaferVSignMask
static constexpr std::int32_t kHGCalWaferVSignMask
Definition: HGCConditions.h:53
HeterogeneousHGCSiliconDetId::waferV
constexpr std::int32_t waferV()
Definition: HGCConditions.h:20
HeterogeneousHGCSiliconDetId::kHGCalWaferVMask
static constexpr std::int32_t kHGCalWaferVMask
Definition: HGCConditions.h:51
HeterogeneousHGCSiliconDetId::HGCalFine
Definition: HGCConditions.h:39
HeterogeneousHGCSiliconDetId::cellU
constexpr std::int32_t cellU()
Definition: HGCConditions.h:25
HeterogeneousHGCSiliconDetId::type
constexpr std::int32_t type()
Definition: HGCConditions.h:12
HeterogeneousHGCSiliconDetId::HGCalCoarseThin
Definition: HGCConditions.h:39
HeterogeneousHGCSiliconDetId::kHGCalWaferUMask
static constexpr std::int32_t kHGCalWaferUMask
Definition: HGCConditions.h:47
HeterogeneousHGCSiliconDetId::kHGCalLayerOffset
static constexpr std::int32_t kHGCalLayerOffset
Definition: HGCConditions.h:54
HeterogeneousHGCSiliconDetId::kHGCalCellUOffset
static constexpr std::int32_t kHGCalCellUOffset
Definition: HGCConditions.h:42
HeterogeneousHGCSiliconDetId::HGCalCoarseThick
Definition: HGCConditions.h:39
HeterogeneousHGCSiliconDetId::waferVAbs
constexpr std::int32_t waferVAbs()
Definition: HGCConditions.h:16