1 #ifndef SiStripLatency_h
2 #define SiStripLatency_h
13 #define READMODEMASK 8
65 Latency(
const uint32_t inputDetIdAndApv,
const uint16_t inputLatency,
const uint16_t inputMode)
75 typedef std::vector<Latency>::iterator
latIt;
84 bool put(
const uint32_t detId,
const uint16_t apv,
const uint16_t
latency,
const uint16_t
mode);
85 uint16_t
latency(
const uint32_t detId,
const uint16_t apv)
const;
86 uint16_t
mode(
const uint32_t detId,
const uint16_t apv)
const;
87 std::pair<uint16_t, uint16_t>
latencyAndMode(
const uint32_t detId,
const uint16_t apv)
const;
91 void allLatencies(std::vector<uint16_t>& allLatenciesVector)
const;
93 void allModes(std::vector<uint16_t>& allModesVector)
const;
121 int latencyAndModeSortValue1 = int(lat1.
latency) + 1000 * int(lat1.
mode);
122 int latencyAndModeSortValue2 = int(lat2.
latency) + 1000 * int(lat2.
mode);
123 return (latencyAndModeSortValue1 < latencyAndModeSortValue2);
140 uint32_t detIdAndApv = (detId << 3) | apv;
Latency()
Default constructor needed by genreflex.
bool put(const uint32_t detId, const uint16_t apv, const uint16_t latency, const uint16_t mode)
std::vector< Latency > allUniqueLatencyAndModes()
int16_t singleReadOutMode() const
Latency(const uint32_t inputDetIdAndApv, const uint16_t inputLatency, const uint16_t inputMode)
std::vector< Latency >::iterator latIt
bool operator()(const Latency &lat1, const Latency &lat2)
uint16_t mode(const uint32_t detId, const uint16_t apv) const
void allLatencies(std::vector< uint16_t > &allLatenciesVector) const
Fills the passed vector with all the possible latencies in the Tracker.
bool operator()(const Latency &lat1, const uint32_t detIdAndApv) const
uint16_t singleLatency() const
If all the latency values stored are equal return that value, otherwise return -1.
void allModes(std::vector< uint16_t > &allModesVector) const
Fills the passed vector with all the possible modes in the Tracker.
uint16_t singleMode() const
void printDebug(std::stringstream &ss, const TrackerTopology *trackerTopo) const
Prints the full list of all ranges and corresponding values of latency and mode.
const latConstIt position(const uint32_t detId, const uint16_t apv) const
Used to compute the position with the lower_bound binary search.
bool operator()(const Latency &lat1, const Latency &lat2)
uint16_t latency(const uint32_t detId, const uint16_t apv) const
std::vector< Latency > latencies_
#define COND_SERIALIZABLE
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
std::vector< Latency >::const_iterator latConstIt
std::vector< Latency > allLatencyAndModes() const
std::pair< uint16_t, uint16_t > latencyAndMode(const uint32_t detId, const uint16_t apv) const
void printSummary(std::stringstream &ss, const TrackerTopology *trackerTopo) const
Prints the number of ranges as well as the value of singleLatency and singleMode. ...