Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AlignmentDefs.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file AlignmentDefs.h
1 #ifndef ALIGNMENTDEFS_H
2 #define ALIGNMENTDEFS_H
3 
5 #include <trackbase/TrkrDefs.h>
6 
7 namespace AlignmentDefs
8 {
9  enum mvtxGrp
10  {
12  stv,
15  };
16 
17  enum inttGrp
18  {
19  chp,
20  lad,
23  };
24 
25  enum tpcGrp
26  {
30  };
31  enum mmsGrp
32  {
33  tl,
35  };
36 
37  static constexpr int NGLVTX = 3;
38  static constexpr int NGL = 6;
39  static constexpr int NLC = 5;
40 
42  static const std::map<unsigned int, unsigned int> base_layer_map = {{10, 0}, {12, 3}, {14, 7}, {16, 55}};
43  static constexpr int nsensors_stave[7] = {9, 9, 9, 4, 4, 4, 4};
44  static constexpr int nstaves_layer_intt[4] = {12, 12, 16, 16};
45  static constexpr int nstaves_layer_mvtx[3] = {12, 16, 20};
46 
47  static constexpr int clamshell_stave_list[3][2][10] = { // [layer][clamshell][stave]
48  {{3,4,5,6,7,8,0,0,0,0},
49  {0,1,2,9,10,11,0,0,0,0}},
50  {{4,5,6,7,8,9,10,11,0,0},
51  {0,1,2,3,12,13,14,15,0,0}},
52  {{5,6,7,8,9,10,11,12,13,14},
53  {0,1,2,3,4,15,16,17,18,19 }} };
54 
55  static constexpr int glbl_vtx_label[NGLVTX] = {60000000,60000001,60000002};
56 
57  int getTpcRegion(int layer);
58  void getMvtxGlobalLabels(Surface surf, int glbl_label[], mvtxGrp grp);
59  void getInttGlobalLabels(Surface surf, int glbl_label[], inttGrp grp);
60  void getTpcGlobalLabels(Surface surf, TrkrDefs::cluskey cluskey, int glbl_label[], tpcGrp grp);
61  void getMMGlobalLabels(Surface surf, int glbl_label[], mmsGrp grp);
62  int getMvtxClamshell(int layer, int stave);
63 
64  std::vector<int> getAllMvtxGlobalLabels(int grp);
65  std::vector<int> getAllInttGlobalLabels(int grp);
66  std::vector<int> getAllTpcGlobalLabels(int grp);
67  std::vector<int> makeLabelsFromBase(std::vector<int>& label_base);
68 
70 
71  void printBuffers(int index, Acts::Vector2 residual,
72  Acts::Vector2 clus_sigma, float lcl_derivative[],
73  float glbl_derivative[], int glbl_label[]);
74 
75 } // namespace AlignmentDefs
76 #endif