ATLAS Offline Software
Loading...
Searching...
No Matches
NswZebraData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONMDT_CABLING_MICROMEGA_ZEBRADATA_H
5#define MUONMDT_CABLING_MICROMEGA_ZEBRADATA_H
6
7/*
8 * @brief: Helper struct containing the information about which strip range in
9 * the MM requires a shift. The connectors in the MMs are called ZEBRA
10 * connectors. Since it is assumed at the moment that zebra connector is the
11 * smallest shiftable object in the MMs, this gives the name to this struct. But
12 * in principle it can handle any arbitrary channel range.
13 */
14
15#include <set>
16#include <cstdint>
17
19 public:
20 int16_t firstChannel{0};
21 int16_t lastChannel{0};
22 int16_t shiftChannel{0};
23};
24
25// overriding operators for NswZebraData struct to allow finding them in
26// maps and to sort them.
27inline bool operator<(const NswZebraData& a,
28 const NswZebraData& b) {
29 return a.lastChannel < b.firstChannel;
30}
31inline bool operator<(const NswZebraData& a, const int b) {
32 return a.lastChannel < b;
33}
34inline bool operator<(const int a, const NswZebraData& b) {
35 return a < b.firstChannel;
36}
37
38using NswZebraSet = std::set<NswZebraData, std::less<>>;
39
40#endif
static Double_t a
bool operator<(const NswZebraData &a, const NswZebraData &b)
std::set< NswZebraData, std::less<> > NswZebraSet
int16_t lastChannel
int16_t firstChannel
int16_t shiftChannel