LDMX Software
|
Extension of DetectorID providing access to ECal layers and cell numbers in a hex grid. More...
#include <EcalID.h>
Public Member Functions | |
EcalID () | |
Empty ECAL id (but not null!) | |
EcalID (RawValue rawid) | |
Create from raw number. | |
EcalID (const DetectorID id) | |
Create from a DetectorID, but check. | |
EcalID (unsigned int layer, unsigned int module, unsigned int cell) | |
Create from pieces. | |
EcalID (unsigned int layer, unsigned int module, unsigned int u, unsigned int v) | |
Create from pieces including u/v cell. | |
EcalID (unsigned int layer, unsigned int module, std::pair< unsigned int, unsigned int > uv) | |
Create from pieces including u/v cell. | |
int | module () const |
Get the value of the module field from the ID. | |
int | getModuleID () const |
Get the value of the module field from the ID. | |
int | layer () const |
Get the value of the layer field from the ID. | |
int | getLayerID () const |
Get the value of the layer field from the ID. | |
int | cell () const |
Get the value of the cell field from the ID. | |
int | getCellID () const |
Get the value of the cell field from the ID. | |
std::pair< unsigned int, unsigned int > | getCellUV () const |
Get the cell u,v index assuming a CMS-standard 432-cell sensor. | |
Public Member Functions inherited from ldmx::EcalAbstractID | |
EcalAbstractID () | |
Empty ECAL id (but not null!) | |
EcalAbstractID (RawValue rawid) | |
Create from raw number. | |
EcalAbstractID (const DetectorID id) | |
Create from a DetectorID, but check. | |
EcalAbstractID (unsigned int cell_type, unsigned int payload) | |
Create from pieces. | |
int | cell_type () const |
Get the value of the cell field from the ID. | |
int | payload () const |
Get the value of the payload field from the ID. | |
Public Member Functions inherited from ldmx::DetectorID | |
DetectorID () | |
Class constructor for a null DetectorID. | |
DetectorID (RawValue rawid) | |
Class constructor from a raw 32-bit integer. | |
DetectorID (SubdetectorIDType sdtype, RawValue raw_subpayload) | |
Class constructor from a subdetector id and a subdetector-specific section (masked to. | |
bool | null () const |
SubdetectorIDType | subdet () const |
RawValue | raw () const |
void | setRawValue (RawValue rawValue) |
Set the raw value of the detector ID. | |
bool | operator< (const DetectorID &id) const |
bool | operator== (const DetectorID &id) const |
bool | operator!= (const DetectorID &id) const |
Static Public Member Functions | |
static void | createInterpreters () |
Static Public Attributes | |
static const RawValue | LAYER_MASK {0x3F} |
static const RawValue | LAYER_SHIFT {17} |
static const RawValue | MODULE_MASK {0x1F} |
static const RawValue | MODULE_SHIFT {12} |
static const RawValue | CELL_MASK {0xFFF} |
static const RawValue | CELL_SHIFT {0} |
Static Public Attributes inherited from ldmx::EcalAbstractID | |
static const RawValue | CELL_TYPE_MASK |
static const RawValue | CELL_TYPE_SHIFT {23} |
static const RawValue | ECAL_PAYLOAD_MASK {0x007FFFFF} |
Static Public Attributes inherited from ldmx::DetectorID | |
static const RawValue | SUBDETECTORID_MASK {0x3F} |
static const RawValue | SUBDETECTORID_SHIFT {26} |
static const RawValue | SUBDETECTOR_PAYLOAD_MASK {0x3FFFFFF} |
Additional Inherited Members | |
Public Types inherited from ldmx::EcalAbstractID | |
enum | EcalCellType { PrecisionGlobal = 0 , PrecisionLocal = 1 , TriggerCell = 2 , Special = 7 } |
Public Types inherited from ldmx::DetectorID | |
typedef uint32_t | RawValue |
Protected Attributes inherited from ldmx::DetectorID | |
RawValue | id_ |
The raw, packed value of the ID. | |
Extension of DetectorID providing access to ECal layers and cell numbers in a hex grid.
|
inline |
Empty ECAL id (but not null!)
Definition at line 32 of file EcalID.h.
|
inline |
Create from raw number.
Definition at line 37 of file EcalID.h.
References ldmx::EcalAbstractID::cell_type(), and ldmx::DetectorID::null().
|
inline |
Create from a DetectorID, but check.
Definition at line 50 of file EcalID.h.
References ldmx::EcalAbstractID::cell_type(), and ldmx::DetectorID::null().
|
inline |
Create from pieces.
Definition at line 63 of file EcalID.h.
References cell(), ldmx::DetectorID::id_, and layer().
ldmx::EcalID::EcalID | ( | unsigned int | layer, |
unsigned int | module, | ||
unsigned int | u, | ||
unsigned int | v | ||
) |
Create from pieces including u/v cell.
Definition at line 42 of file EcalID.cxx.
References cell(), ldmx::DetectorID::id_, and layer().
|
inline |
Create from pieces including u/v cell.
Definition at line 79 of file EcalID.h.
|
inline |
Get the value of the cell field from the ID.
Definition at line 111 of file EcalID.h.
References ldmx::DetectorID::id_.
Referenced by ecal::EcalTriggerGeometry::belongsTo(), EcalID(), EcalID(), getCellUV(), ecal::EcalTriggerGeometry::localPosition(), and TEST_CASE().
|
static |
Definition at line 14 of file EcalID.cxx.
|
inline |
Get the value of the cell field from the ID.
Definition at line 117 of file EcalID.h.
References ldmx::DetectorID::id_.
Referenced by getCellUV(), and TEST_CASE().
std::pair< unsigned int, unsigned int > ldmx::EcalID::getCellUV | ( | ) | const |
Get the cell u,v index assuming a CMS-standard 432-cell sensor.
Definition at line 81 of file EcalID.cxx.
References cell(), and getCellID().
|
inline |
Get the value of the layer field from the ID.
Definition at line 105 of file EcalID.h.
References ldmx::DetectorID::id_.
Referenced by TEST_CASE().
|
inline |
Get the value of the module field from the ID.
Definition at line 93 of file EcalID.h.
References ldmx::DetectorID::id_.
Referenced by TEST_CASE().
|
inline |
Get the value of the layer field from the ID.
Definition at line 99 of file EcalID.h.
References ldmx::DetectorID::id_.
Referenced by ecal::EcalTriggerGeometry::belongsTo(), EcalID(), EcalID(), and TEST_CASE().
|
inline |
Get the value of the module field from the ID.
Definition at line 87 of file EcalID.h.
References ldmx::DetectorID::id_.
Referenced by ecal::EcalTriggerGeometry::belongsTo(), and TEST_CASE().
|
static |
|
static |
|
static |
|
static |
|
static |