CMS 3D CMS Logo

ModulesSoA.h
Go to the documentation of this file.
1 #ifndef RecoTracker_LSTCore_interface_ModulesSoA_h
2 #define RecoTracker_LSTCore_interface_ModulesSoA_h
3 
6 
8 
9 namespace lst {
10 
11  enum SubDet { InnerPixel = 0, Barrel = 5, Endcap = 4 };
12 
13  enum Side { NegZ = 1, PosZ = 2, Center = 3 };
14 
16 
18 
19  GENERATE_SOA_LAYOUT(ModulesSoALayout,
20  SOA_COLUMN(unsigned int, detIds),
22  SOA_COLUMN(unsigned int, mapdetId),
23  SOA_COLUMN(uint16_t, mapIdx),
24  SOA_COLUMN(uint16_t, nConnectedModules),
25  SOA_COLUMN(float, drdzs),
26  SOA_COLUMN(float, dxdys),
27  SOA_COLUMN(uint16_t, partnerModuleIndices),
28  SOA_COLUMN(short, layers),
29  SOA_COLUMN(short, rings),
30  SOA_COLUMN(short, modules),
31  SOA_COLUMN(short, rods),
32  SOA_COLUMN(short, subdets),
33  SOA_COLUMN(short, sides),
34  SOA_COLUMN(float, eta),
35  SOA_COLUMN(float, r),
36  SOA_COLUMN(bool, isInverted),
37  SOA_COLUMN(bool, isLower),
38  SOA_COLUMN(bool, isAnchor),
39  SOA_COLUMN(ModuleType, moduleType),
40  SOA_COLUMN(ModuleLayerType, moduleLayerType),
41  SOA_COLUMN(int, lstLayers),
42  SOA_SCALAR(uint16_t, nModules),
43  SOA_SCALAR(uint16_t, nLowerModules))
44 
45  GENERATE_SOA_LAYOUT(ModulesPixelSoALayout, SOA_COLUMN(unsigned int, connectedPixels))
46 
49 
50  using Modules = ModulesSoA::View;
51  using ModulesConst = ModulesSoA::ConstView;
53  using ModulesPixelConst = ModulesPixelSoA::ConstView;
54 
55 } // namespace lst
56 
57 #endif
ModuleType
Definition: ModulesSoA.h:15
Definition: Common.h:15
#define GENERATE_SOA_LAYOUT(CLASS,...)
Definition: SoALayout.h:431
SubDet
Definition: ModulesSoA.h:11
#define SOA_SCALAR(TYPE, NAME)
Definition: SoACommon.h:563
ModuleLayerType
Definition: ModulesSoA.h:17
Side
Definition: ModulesSoA.h:13
edm::StdArray< uint16_t, max_connected_modules > ArrayU16xMaxConnected
Definition: Common.h:68
static const std::string subdets[7]
Definition: TrackUtils.cc:60
#define SOA_COLUMN(TYPE, NAME)
Definition: SoACommon.h:564