HighLAND
Namespaces | Typedefs | Enumerations | Variables
ND::GeomId::Def Namespace Reference

Namespaces

 ECal
 
 FGD
 
 INGRID
 
 P0D
 
 SMRD
 
 TPC
 

Typedefs

typedef unsigned long GeomIdMask
 A bitwise mask for a field;.
 
typedef unsigned long GeomIdBit
 Bit number. The bits are counted 0 (LSB) to 31 (MSB)
 

Enumerations

enum  DetectorId {
  kROOTGeoNodeId = 0, kP0D, kTPC, kFGD,
  kDSECal, kTECal, kPECal, kSMRD,
  kINGRID
}
 

Variables

const GeomIdMask kEmptyId = 0
 
const GeomIdBit kReserved1MSB = 31
 The most significant bit of the reserved guard bit.
 
const GeomIdBit kReserved1LSB = 31
 
const GeomIdMask kReserved1Mask = MAKE_MASK(kReserved1MSB,kReserved1LSB)
 
const GeomIdBit kDetectorIdMSB = kReserved1LSB-1
 
const GeomIdBit kDetectorIdLSB = kDetectorIdMSB-5
 The least significant bit of the detector identifier.
 
const GeomIdMask kDetectorIdMask = MAKE_MASK(kDetectorIdMSB,kDetectorIdLSB)
 The mask to select the detector identifier.
 
const GeomIdBit kSubDetectorMSB = kDetectorIdLSB-1
 
const GeomIdBit kSubDetectorLSB = 0
 
const GeomIdMask kSubDetectorMask
 The mask to select the sub-detector detector fields. More...
 

Detailed Description

Define the fields used to create a unique identifier for elements in the ND280 geometry. This is a 32 bit field with the bits number from 0 (least significant bit or LSB) to 31 (most significant bit or MSB). The bit fields are defined as follows

r dddddd sssssssssssssssssssssssss
r(1) -- Reserved
d(6) -- The sub-detector identifier
s(25) -- The sub-detector specific field

The value of all constants and order of all enumerations defined below is significant and must not be changed.

Enumeration Type Documentation

§ DetectorId

Enumeration defining the detector identifiers. The detector identifiers are used to uniquely define which sub-detector containes a geometry element. All geometry elements are by definition within a single sub-detector. The identifiers are held in the bit field defined by DetectorMask. The conversion from a sub-detector identifier to a field value is (value<<DetectorLSB). The conversion from a field value to a sub-detector identifier is ((field&DetectorMask)>>DetectorLSB)

Definition at line 64 of file ND280GeomIdDef.hxx.

64  {
65  kROOTGeoNodeId = 0,
66  kP0D,
67  kTPC,
68  kFGD,
69  kDSECal,
70  kTECal,
71  kPECal,
72  kSMRD,
73  kINGRID
74  };
A special case for one of a kind global volumes.

Variable Documentation

§ kDetectorIdMSB

const GeomIdBit ND::GeomId::Def::kDetectorIdMSB = kReserved1LSB-1

The most significant bit of the detector identifier. This is a 6 bit field.

Definition at line 47 of file ND280GeomIdDef.hxx.

§ kEmptyId

const GeomIdMask ND::GeomId::Def::kEmptyId = 0

A value that can be used to initialize an empty geometry identifier.

Definition at line 31 of file ND280GeomIdDef.hxx.

§ kReserved1LSB

const GeomIdBit ND::GeomId::Def::kReserved1LSB = 31

The least significant bit of the reserved guard bit. This bit must be zero for a geometry Id. The value of 1 is reserved for future use to indicate an electronics channel number.

Definition at line 38 of file ND280GeomIdDef.hxx.

§ kReserved1Mask

const GeomIdMask ND::GeomId::Def::kReserved1Mask = MAKE_MASK(kReserved1MSB,kReserved1LSB)

The mask to select the first reserved field. The value in the first reserved field must be zero.

Definition at line 43 of file ND280GeomIdDef.hxx.

§ kSubDetectorLSB

const GeomIdBit ND::GeomId::Def::kSubDetectorLSB = 0

The least significant bit in the field reserved to the sub-detector.

Definition at line 81 of file ND280GeomIdDef.hxx.

§ kSubDetectorMask

const GeomIdMask ND::GeomId::Def::kSubDetectorMask
Initial value:
= MAKE_MASK(kSubDetectorMSB,
kSubDetectorLSB)

The mask to select the sub-detector detector fields.

Definition at line 84 of file ND280GeomIdDef.hxx.

§ kSubDetectorMSB

const GeomIdBit ND::GeomId::Def::kSubDetectorMSB = kDetectorIdLSB-1

The most significant bit in the field reserved to the sub-detector.

Definition at line 78 of file ND280GeomIdDef.hxx.