CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
rctDataBase.h
Go to the documentation of this file.
1 #ifndef _rctDATABASE_h
2 #define _rctDATABASE_h
3 
4 #include <iostream>
5 #include <stdexcept>
6 #include <vector>
7 #include <stdint.h>
8 
9 namespace l1t{
10  class rctDataBase {
11  public:
26 
27  private:
28 
29  int RCEt_start[7][2]; //card, region
30  int RCTau_start[7][2]; //card, region
31  int RCOf_start[7][2]; //card, region
32  int HFEt_start[8]; //region
33  int HFFg_start[8]; //region
34  int IEEt_start[4]; //candidate
35  int IEReg_start[4]; //candidate
36  int IECard_start[4]; //candidate
37  int NEEt_start[4]; //candidate
38  int NEReg_start[4]; //candidate
39  int NECard_start[4]; //candidate
40  int RCHad_start[7][2]; //card, region
41 
43 
44  int link[nObjects];
46 
47  public:
48  rctDataBase();
50 
52  {
53  return length[t];
54  }
55 
57  {
58  return link[t];
59  }
60 
61  void GetLinkRCT(int linkMP7,unsigned int &RCTcrate, bool &RCTeven){
62  int oRSClink=indexfromMP7toRCT[linkMP7];
63  RCTcrate=(int)(oRSClink/2);
64  if (oRSClink%2==0) RCTeven=true;
65  else RCTeven=false;
66  }
67 
68 
69  int GetIndices(rctObjectType t, int firstindex, int secondindex = -1)
70  {
71  switch (t){
72  case RCEt:
73  return RCEt_start[firstindex][secondindex];
74  case RCTau:
75  return RCTau_start[firstindex][secondindex];
76  case RCOf:
77  return RCOf_start[firstindex][secondindex];
78  case HFEt:
79  return HFEt_start[firstindex];
80  case HFFg:
81  return HFFg_start[firstindex];
82  case IEEt:
83  return IEEt_start[firstindex];
84  case IEReg:
85  return IEReg_start[firstindex];
86  case IECard:
87  return IECard_start[firstindex];
88  case NEEt:
89  return NEEt_start[firstindex];
90  case NEReg:
91  return NEReg_start[firstindex];
92  case NECard:
93  return NECard_start[firstindex];
94  case RCHad:
95  return RCHad_start[firstindex][secondindex];
96  default:
97  return -1;
98  }
99  }
100  };
101 }
102 #endif
int RCOf_start[7][2]
Definition: rctDataBase.h:31
int RCHad_start[7][2]
Definition: rctDataBase.h:40
int GetLength(rctObjectType t)
Definition: rctDataBase.h:51
int NECard_start[4]
Definition: rctDataBase.h:39
int GetLink(rctObjectType t)
Definition: rctDataBase.h:56
int RCEt_start[7][2]
Definition: rctDataBase.h:29
void GetLinkRCT(int linkMP7, unsigned int &RCTcrate, bool &RCTeven)
Definition: rctDataBase.h:61
int NEReg_start[4]
Definition: rctDataBase.h:38
int IECard_start[4]
Definition: rctDataBase.h:36
int IEReg_start[4]
Definition: rctDataBase.h:35
int GetIndices(rctObjectType t, int firstindex, int secondindex=-1)
Definition: rctDataBase.h:69
int link[nObjects]
Definition: rctDataBase.h:44
int indexfromMP7toRCT[36]
Definition: rctDataBase.h:45
int length[nObjects]
Definition: rctDataBase.h:42
int RCTau_start[7][2]
Definition: rctDataBase.h:30