CMS 3D CMS Logo

List of all members | Public Member Functions
std::hash< DTCELinkId > Struct Template Reference

#include <DTCELinkId.h>

Public Member Functions

size_t operator() (const DTCELinkId &k) const noexcept
 

Detailed Description

template<>
struct std::hash< DTCELinkId >

Definition at line 60 of file DTCELinkId.h.

Member Function Documentation

size_t std::hash< DTCELinkId >::operator() ( const DTCELinkId k) const
inlinenoexcept

Definition at line 62 of file DTCELinkId.h.

References constexpr, gen::k, and SiStripPI::max.

63  {
64  // With
65  constexpr const size_t shift_gbtlink_id = numeric_limits< decltype( k.elink_id() ) >::max() + 1u;
66  constexpr const size_t shift_dtc_id = (numeric_limits< decltype( k.gbtlink_id() ) >::max() + 1u) * shift_gbtlink_id;
67 
68  return k.elink_id() + k.gbtlink_id() * shift_gbtlink_id + k.dtc_id() * shift_dtc_id;
69  }
auto gbtlink_id() const noexcept
Definition: DTCELinkId.h:41
auto dtc_id() const noexcept
Definition: DTCELinkId.h:42
auto elink_id() const noexcept
Definition: DTCELinkId.h:40
#define constexpr