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, std::string const& name);
20 
21  ~VMRouterTable() = default;
22 
23  void init(unsigned int layerdisk, std::string const& name);
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  void writeVMTable(std::string const& name, std::vector<int> const& table);
34 
35  private:
37 
38  double rmin_;
39  double rmax_;
40 
41  double zmin_;
42  double zmax_;
43 
44  double dr_;
45  double dz_;
46 
47  int zbits_;
48  int rbits_;
49 
50  int zbins_;
51  int rbins_;
52 
53  //int layer_;
54  std::vector<int> vmrtable_; //used for ME and outer TE
55  std::vector<int> vmrtabletedisk_; //outer disk used by D1, D2, and D4
56  std::vector<int> vmrtableteinner_; //projection to next layer/disk
57  std::vector<int> vmrtableteinneroverlap_; //projection to disk
58  std::vector<int> vmrtableteinnerThird_; //projection to disk1 for extended - iseed=10
59  };
60 }; // namespace trklet
61 #endif
trklet::VMRouterTable::getLookup
int getLookup(unsigned int layerdisk, double z, double r, int iseed=-1)
Definition: VMRouterTable.cc:141
trklet::VMRouterTable::vmrtable_
std::vector< int > vmrtable_
Definition: VMRouterTable.h:54
trklet::VMRouterTable::init
void init(unsigned int layerdisk, std::string const &name)
Definition: VMRouterTable.cc:17
trklet::VMRouterTable::vmrtableteinneroverlap_
std::vector< int > vmrtableteinneroverlap_
Definition: VMRouterTable.h:57
trklet::VMRouterTable
Definition: VMRouterTable.h:16
trklet::VMRouterTable::zmax_
double zmax_
Definition: VMRouterTable.h:42
trklet::VMRouterTable::lookupdisk
int lookupdisk(int zbin, int rbin)
Definition: VMRouterTable.cc:304
trklet::Settings
Definition: Settings.h:31
trklet::VMRouterTable::rbits_
int rbits_
Definition: VMRouterTable.h:48
trklet::VMRouterTable::lookupinneroverlap
int lookupinneroverlap(int zbin, int rbin)
Definition: VMRouterTable.cc:316
trklet::VMRouterTable::writeVMTable
void writeVMTable(std::string const &name, std::vector< int > const &table)
Definition: VMRouterTable.cc:328
FPGAWord.h
trklet::VMRouterTable::settings_
Settings const & settings_
Definition: VMRouterTable.h:36
trklet::VMRouterTable::lookup
int lookup(int zbin, int rbin)
Definition: VMRouterTable.cc:298
trklet::VMRouterTable::dz_
double dz_
Definition: VMRouterTable.h:45
trklet::VMRouterTable::dr_
double dr_
Definition: VMRouterTable.h:44
trklet::VMRouterTable::zbits_
int zbits_
Definition: VMRouterTable.h:47
trklet::VMRouterTable::VMRouterTable
VMRouterTable(Settings const &settings)
Definition: VMRouterTable.cc:10
trklet::VMRouterTable::lookupinnerThird
int lookupinnerThird(int zbin, int rbin)
Definition: VMRouterTable.cc:322
trklet::VMRouterTable::lookupinner
int lookupinner(int zbin, int rbin)
Definition: VMRouterTable.cc:310
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::VMRouterTable::~VMRouterTable
~VMRouterTable()=default
iseed
int iseed
Definition: AMPTWrapper.h:134
trklet::VMRouterTable::rmin_
double rmin_
Definition: VMRouterTable.h:38
trklet
Definition: AllProjectionsMemory.h:9
trklet::VMRouterTable::zmin_
double zmin_
Definition: VMRouterTable.h:41
trklet::VMRouterTable::rbins_
int rbins_
Definition: VMRouterTable.h:51
trklet::VMRouterTable::vmrtableteinnerThird_
std::vector< int > vmrtableteinnerThird_
Definition: VMRouterTable.h:58
trklet::VMRouterTable::vmrtabletedisk_
std::vector< int > vmrtabletedisk_
Definition: VMRouterTable.h:55
alignCSCRings.r
r
Definition: alignCSCRings.py:93
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::VMRouterTable::rmax_
double rmax_
Definition: VMRouterTable.h:39
TableParser.table
table
Definition: TableParser.py:111
trklet::VMRouterTable::vmrtableteinner_
std::vector< int > vmrtableteinner_
Definition: VMRouterTable.h:56
trklet::VMRouterTable::zbins_
int zbins_
Definition: VMRouterTable.h:50