Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
InttMap.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file InttMap.h
1 #ifndef INTT_MAP_H
2 #define INTT_MAP_H
3 
4 #include <phool/PHObject.h>
5 
6 class InttMap : public PHObject
7 {
8  public:
9  typedef int field_t;
10  field_t static const Wildcard = 0xffff;
11 
12  struct Online_s
13  {
14  field_t lyr = 0;
15  field_t ldr = 0;
16  field_t arm = 0;
17  field_t chp = 0;
18  field_t chn = 0;
19  };
20 
21  struct RawData_s
22  {
23  field_t pid = 0;
24  field_t fee = 0;
25  field_t chp = 0;
26  field_t chn = 0;
27  };
28 
29  struct Offline_s
30  {
36  };
37 
39  {
40  bool operator()(struct Online_s const&, struct Online_s const&) const;
41  };
42 
44  {
45  bool operator()(struct Online_s const&, struct Online_s const&) const;
46  };
47 
49  {
50  bool operator()(struct RawData_s const&, struct RawData_s const&) const;
51  };
52 
54  {
55  bool operator()(struct RawData_s const&, struct RawData_s const&) const;
56  };
57 
59  {
60  bool operator()(struct Offline_s const&, struct Offline_s const&) const;
61  };
62 
64  {
65  bool operator()(struct Offline_s const&, struct Offline_s const&) const;
66  };
67 
68  private:
70 };
71 
72 #endif // INTT_MAP_H
73 
74 // |<- South | North ->|
75 // | B | A | A | B |
76 // +----------------+--------------------------+-------------------------+----------------+
77 // | 1 | 0 | 2 | 3 | ladder_z (offline)
78 // | 0 1 2 3 4 | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 | strip_z (offline)
79 // +----------------+--------------------------+-------------------------+----------------+
80 // | 0 1 2 3 4 | 5 6 7 8 9 10 11 12 | 25 24 23 22 21 20 19 18 | 17 16 15 14 13 | chp (online)
81 // | 13 14 15 16 17 | 18 19 20 21 22 23 24 25 | 12 11 10 9 8 7 6 5 | 4 3 2 1 0 | chp (online)