CMS 3D CMS Logo

VMRouterTable.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_VMRouterTable_h
2 #define L1Trigger_TrackFindingTracklet_interface_VMRouterTable_h
3 
5 
6 #include <iostream>
7 #include <fstream>
8 #include <cassert>
9 #include <cmath>
10 #include <vector>
11 
12 namespace trklet {
13 
14  class Settings;
15 
16  class VMRouterTable {
17  public:
18  VMRouterTable(Settings const& settings);
19  VMRouterTable(Settings const& settings, unsigned int layerdisk);
20 
21  ~VMRouterTable() = default;
22 
23  void init(unsigned int layerdisk);
24 
25  // negative return means that seed can not be formed
26  int getLookup(unsigned int layerdisk, double z, double r, int iseed = -1);
27 
28  int lookup(int zbin, int rbin);
29  int lookupdisk(int zbin, int rbin);
30  int lookupinner(int zbin, int rbin);
31  int lookupinneroverlap(int zbin, int rbin);
32  int lookupinnerThird(int zbin, int rbin);
33 
34  private:
36 
37  double rmin_;
38  double rmax_;
39 
40  double zmin_;
41  double zmax_;
42 
43  double dr_;
44  double dz_;
45 
46  int zbits_;
47  int rbits_;
48 
49  int zbins_;
50  int rbins_;
51 
52  //int layer_;
53  std::vector<int> vmrtable_; //used for ME and outer TE
54  std::vector<int> vmrtabletedisk_; //outer disk used by D1, D2, and D4
55  std::vector<int> vmrtableteinner_; //projection to next layer/disk
56  std::vector<int> vmrtableteinneroverlap_; //projection to disk
57  std::vector<int> vmrtableteinnerThird_; //projection to disk1 for extended - iseed=10
58  };
59 }; // namespace trklet
60 #endif
trklet::VMRouterTable::getLookup
int getLookup(unsigned int layerdisk, double z, double r, int iseed=-1)
Definition: VMRouterTable.cc:103
trklet::VMRouterTable::vmrtable_
std::vector< int > vmrtable_
Definition: VMRouterTable.h:53
trklet::VMRouterTable::vmrtableteinneroverlap_
std::vector< int > vmrtableteinneroverlap_
Definition: VMRouterTable.h:56
trklet::VMRouterTable
Definition: VMRouterTable.h:16
trklet::VMRouterTable::zmax_
double zmax_
Definition: VMRouterTable.h:41
trklet::VMRouterTable::lookupdisk
int lookupdisk(int zbin, int rbin)
Definition: VMRouterTable.cc:266
trklet::Settings
Definition: Settings.h:26
trklet::VMRouterTable::rbits_
int rbits_
Definition: VMRouterTable.h:47
trklet::VMRouterTable::lookupinneroverlap
int lookupinneroverlap(int zbin, int rbin)
Definition: VMRouterTable.cc:278
FPGAWord.h
trklet::VMRouterTable::settings_
Settings const & settings_
Definition: VMRouterTable.h:35
trklet::VMRouterTable::lookup
int lookup(int zbin, int rbin)
Definition: VMRouterTable.cc:260
trklet::VMRouterTable::dz_
double dz_
Definition: VMRouterTable.h:44
trklet::VMRouterTable::dr_
double dr_
Definition: VMRouterTable.h:43
trklet::VMRouterTable::zbits_
int zbits_
Definition: VMRouterTable.h:46
trklet::VMRouterTable::VMRouterTable
VMRouterTable(Settings const &settings)
Definition: VMRouterTable.cc:10
trklet::VMRouterTable::lookupinnerThird
int lookupinnerThird(int zbin, int rbin)
Definition: VMRouterTable.cc:284
trklet::VMRouterTable::lookupinner
int lookupinner(int zbin, int rbin)
Definition: VMRouterTable.cc:272
trklet::VMRouterTable::~VMRouterTable
~VMRouterTable()=default
iseed
int iseed
Definition: AMPTWrapper.h:134
trklet::VMRouterTable::rmin_
double rmin_
Definition: VMRouterTable.h:37
trklet
Definition: AllProjectionsMemory.h:9
trklet::VMRouterTable::zmin_
double zmin_
Definition: VMRouterTable.h:40
trklet::VMRouterTable::rbins_
int rbins_
Definition: VMRouterTable.h:50
trklet::VMRouterTable::vmrtableteinnerThird_
std::vector< int > vmrtableteinnerThird_
Definition: VMRouterTable.h:57
trklet::VMRouterTable::vmrtabletedisk_
std::vector< int > vmrtabletedisk_
Definition: VMRouterTable.h:54
alignCSCRings.r
r
Definition: alignCSCRings.py:93
trklet::VMRouterTable::init
void init(unsigned int layerdisk)
Definition: VMRouterTable.cc:16
trklet::VMRouterTable::rmax_
double rmax_
Definition: VMRouterTable.h:38
trklet::VMRouterTable::vmrtableteinner_
std::vector< int > vmrtableteinner_
Definition: VMRouterTable.h:55
trklet::VMRouterTable::zbins_
int zbins_
Definition: VMRouterTable.h:49