#include <TMuiKeyGen.h>
Public Types | |
typedef PHKey::object_key_type | key_type |
typedef std::pair< key_type, key_type > | key_range |
Static Public Methods | |
key_type | get_key (UShort_t i_arm, UShort_t i_plane, UShort_t i_panel, UShort_t i_orientation, UShort_t i_index) |
key_type | get_hash_key (UShort_t i_arm, UShort_t i_plane, UShort_t i_panel, UShort_t i_orientation) |
key_range | get_key_range (UShort_t i_arm, UShort_t i_plane, UShort_t i_panel, UShort_t i_orientation) |
key_type | get_key (UShort_t i_arm, UShort_t i_plane, UShort_t i_index) |
key_range | get_key_range (UShort_t i_arm, UShort_t i_plane) |
key_type | get_key (UShort_t i_arm, UShort_t i_index) |
key_range | get_key_range (UShort_t i_arm) |
int | get_index (key_type) |
ULong_t | get_max_index () |
Static Private Attributes | |
const ULong_t | ARM_BITS = 2 |
const ULong_t | PLANE_BITS = 4 |
const ULong_t | PANEL_BITS = 4 |
const ULong_t | ORIENTATION_BITS = 2 |
const ULong_t | INDEX_BITS = 20 |
const ULong_t | ARM_MASK = 0x00000003 |
const ULong_t | PLANE_MASK = 0x0000000F |
const ULong_t | PANEL_MASK = 0x0000000F |
const ULong_t | ORIENTATION_MASK = 0x00000003 |
const ULong_t | INDEX_MASK = 0x000FFFFF |
const ULong_t | INDEX_SHIFT = 0 |
const ULong_t | ORIENTATION_SHIFT = INDEX_BITS + INDEX_SHIFT |
const ULong_t | PANEL_SHIFT = ORIENTATION_BITS + ORIENTATION_SHIFT |
const ULong_t | PLANE_SHIFT = PANEL_SHIFT + PANEL_BITS |
const ULong_t | ARM_SHIFT = PLANE_SHIFT + PLANE_BITS |
Static utility class for generating unique keys from specification of map_key, arm, plane, panel, orientation, and index. The allowed range of input parameters is specified in the TMuiKeyGen::get_key description. The get_key method is overloaded to provide appropriate keys for each type of interface object.
Definition at line 22 of file TMuiKeyGen.h.
|
Definition at line 30 of file TMuiKeyGen.h. Referenced by TMuiRoadMapO::get, TMuiPseudoBLTMapO::get, TMuiMCHitMapO::get, TMuiHitMapO::get, TMuiEvalMap::get, TMuiClusterMapO::get, TMui1DRoadMapO::get, get_key_range, and TMui1DRoadMapO::insert_new. |
|
Import name of Key object from PHKey Definition at line 29 of file TMuiKeyGen.h. Referenced by TMuiMCHitMapO::get, TMuiHitMapO::get, TMuiRoadMapO::insert_new, TMuiPseudoBLTMapO::insert_new, TMuiMCHitMapO::insert_new, TMuiHitMapO::insert_new, TMuiEvalMap::insert_new, TMuiClusterMapO::insert_new, and TMui1DRoadMapO::insert_new. |
|
Definition at line 20 of file TMuiKeyGen.cxx. References MUIOO::MAX_ORIENTATION, MUIOO::MAX_PANEL, and MUIOO::MAX_PLANE.
00024 { 00025 return i_arm*(MAX_PLANE*MAX_PANEL*MAX_ORIENTATION) + 00026 i_plane*(MAX_PANEL*MAX_ORIENTATION) + 00027 i_panel*(MAX_ORIENTATION) + 00028 i_orientation; 00029 } |
|
Return the index from a key |
|
Generate key for: TMuiRoadO Definition at line 72 of file TMuiKeyGen.cxx. References ARM_MASK, ARM_SHIFT, INDEX_MASK, and INDEX_SHIFT.
00074 { 00075 // shift and mask 00076 // 00077 return ((ARM_MASK & i_arm) << ARM_SHIFT) | 00078 ((INDEX_MASK & i_index) << INDEX_SHIFT); 00079 } |
|
Generate key for: TMuiMCHit Definition at line 49 of file TMuiKeyGen.cxx. References ARM_MASK, ARM_SHIFT, INDEX_MASK, INDEX_SHIFT, PLANE_MASK, and PLANE_SHIFT.
00051 { 00052 // shift and mask 00053 // 00054 return ((ARM_MASK & i_arm) << ARM_SHIFT) | 00055 ((PLANE_MASK & i_plane) << PLANE_SHIFT) | 00056 ((INDEX_MASK & index) << INDEX_SHIFT); 00057 } |
|
Generate key for: TMuiHitMap, TMuiClusMap Definition at line 6 of file TMuiKeyGen.cxx. References ARM_MASK, ARM_SHIFT, INDEX_MASK, INDEX_SHIFT, ORIENTATION_MASK, ORIENTATION_SHIFT, PANEL_MASK, PANEL_SHIFT, PLANE_MASK, and PLANE_SHIFT. Referenced by TMuiMCHitMapO::get, TMuiHitMapO::get, TMuiHVMask::get_effic_twopack, get_key_range, TMuiRoadMapO::insert_new, TMuiPseudoBLTMapO::insert_new, TMuiMCHitMapO::insert_new, TMuiHitMapO::insert_new, TMuiEvalMap::insert_new, TMuiClusterMapO::insert_new, and TMui1DRoadMapO::insert_new.
00010 { 00011 // shift and mask 00012 // 00013 return ((ARM_MASK & i_arm) << ARM_SHIFT) | 00014 ((PLANE_MASK & i_plane) << PLANE_SHIFT) | 00015 ((PANEL_MASK & i_panel) << PANEL_SHIFT) | 00016 ((ORIENTATION_MASK & i_orientation) << ORIENTATION_SHIFT) | 00017 ((INDEX_MASK & i_index) << INDEX_SHIFT); 00018 } |
|
Generate a pair of keys with specified range, relevant for all MUIOO containers Definition at line 81 of file TMuiKeyGen.cxx. References get_key, and key_range.
|
|
Generate a pair of keys with specified range, used by TMuiMCHitMapO Definition at line 58 of file TMuiKeyGen.cxx. References get_key, and key_range.
|
|
Generate a pair of keys with specified range, used by TMuiClusterMapO and TMuiHitMapO Definition at line 31 of file TMuiKeyGen.cxx. References get_key, and key_range. Referenced by TMuiRoadMapO::get, TMuiPseudoBLTMapO::get, TMuiMCHitMapO::get, TMuiHitMapO::get, TMuiEvalMap::get, TMuiClusterMapO::get, TMui1DRoadMapO::get, and TMui1DRoadMapO::insert_new.
|
|
Returns the maximum value of index Definition at line 73 of file TMuiKeyGen.h. References INDEX_MASK. Referenced by TMuiRoadMapO::get_roll_count, TMuiPseudoBLTMapO::get_roll_count, TMuiMCHitMapO::get_roll_count, TMuiHitMapO::get_roll_count, TMuiEvalMap::get_roll_count, TMuiClusterMapO::get_roll_count, and TMui1DRoadMapO::get_roll_count.
00073 { return INDEX_MASK; } |
|
Definition at line 80 of file TMuiKeyGen.h. |
|
Definition at line 86 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 96 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 84 of file TMuiKeyGen.h. |
|
Definition at line 90 of file TMuiKeyGen.h. Referenced by get_key, and get_max_index. |
|
Definition at line 92 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 83 of file TMuiKeyGen.h. |
|
Definition at line 89 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 93 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 82 of file TMuiKeyGen.h. |
|
Definition at line 88 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 94 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 81 of file TMuiKeyGen.h. |
|
Definition at line 87 of file TMuiKeyGen.h. Referenced by get_key. |
|
Definition at line 95 of file TMuiKeyGen.h. Referenced by get_key. |