CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Projection.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_Projection_h
2 #define L1Trigger_TrackFindingTracklet_interface_Projection_h
3 
5 
6 namespace trklet {
7 
8  class Settings;
9 
10  class Projection {
11  public:
12  Projection() { valid_ = false; }
13 
14  ~Projection() = default;
15 
16  void init(Settings const& settings,
17  unsigned int layerdisk,
18  int iphiproj,
19  int irzproj,
20  int iphider,
21  int irzder,
22  double phiproj,
23  double rzproj,
24  double phiprojder,
25  double rzprojder,
26  double phiprojapprox,
27  double rzprojapprox,
28  double phiprojderapprox,
29  double rzprojderapprox,
30  bool isPSseed);
31 
32  bool valid() const { return valid_; }
33 
34  unsigned int layerdisk() const {
35  assert(valid_);
36  return layerdisk_;
37  };
38 
39  const FPGAWord& fpgaphiproj() const {
40  assert(valid_);
41  return fpgaphiproj_;
42  };
43 
44  const FPGAWord& fpgarzproj() const {
45  assert(valid_);
46  return fpgarzproj_;
47  };
48 
49  const FPGAWord& fpgaphiprojder() const {
50  assert(valid_);
51  return fpgaphiprojder_;
52  };
53 
54  const FPGAWord& fpgarzprojder() const {
55  assert(valid_);
56  return fpgarzprojder_;
57  };
58 
59  const FPGAWord& fpgarzbin1projvm() const {
60  assert(valid_);
61  return fpgarzbin1projvm_;
62  };
63 
64  const FPGAWord& fpgarzbin2projvm() const {
65  assert(valid_);
66  return fpgarzbin2projvm_;
67  };
68 
69  const FPGAWord& fpgafinerzvm() const {
70  assert(valid_);
71  return fpgafinerzvm_;
72  };
73 
74  const FPGAWord& fpgafinephivm() const {
75  assert(valid_);
76  return fpgafinephivm_;
77  };
78 
79  double phiproj() const {
80  assert(valid_);
81  return phiproj_;
82  };
83 
84  double rzproj() const {
85  assert(valid_);
86  return rzproj_;
87  };
88 
89  double phiprojder() const {
90  assert(valid_);
91  return phiprojder_;
92  };
93 
94  double rzprojder() const {
95  assert(valid_);
96  return rzprojder_;
97  };
98 
99  double phiprojapprox() const {
100  assert(valid_);
101  return phiprojapprox_;
102  };
103 
104  double rzprojapprox() const {
105  assert(valid_);
106  return rzprojapprox_;
107  };
108 
109  double phiprojderapprox() const {
110  assert(valid_);
111  return phiprojderapprox_;
112  };
113 
114  double rzprojderapprox() const {
115  assert(valid_);
116  return rzprojderapprox_;
117  };
118 
119  void setBendIndex(int bendindex) { fpgabendindex_.set(bendindex, 5, true, __LINE__, __FILE__); }
120 
121  const FPGAWord& getBendIndex() const { return fpgabendindex_; }
122 
123  protected:
124  bool valid_;
125 
126  unsigned int layerdisk_;
127 
132 
137 
138  double phiproj_;
139  double rzproj_;
140  double phiprojder_;
141  double rzprojder_;
142 
147 
148  //used by projections to disks
150  };
151 }; // namespace trklet
152 #endif
double rzproj() const
Definition: Projection.h:84
const FPGAWord & fpgafinerzvm() const
Definition: Projection.h:69
const FPGAWord & fpgaphiproj() const
Definition: Projection.h:39
const FPGAWord & fpgaphiprojder() const
Definition: Projection.h:49
FPGAWord fpgafinephivm_
Definition: Projection.h:136
unsigned int layerdisk() const
Definition: Projection.h:34
double rzprojderapprox_
Definition: Projection.h:146
FPGAWord fpgafinerzvm_
Definition: Projection.h:135
assert(be >=bs)
const FPGAWord & fpgafinephivm() const
Definition: Projection.h:74
const FPGAWord & getBendIndex() const
Definition: Projection.h:121
void init(Settings const &settings, unsigned int layerdisk, int iphiproj, int irzproj, int iphider, int irzder, double phiproj, double rzproj, double phiprojder, double rzprojder, double phiprojapprox, double rzprojapprox, double phiprojderapprox, double rzprojderapprox, bool isPSseed)
Definition: Projection.cc:11
const FPGAWord & fpgarzprojder() const
Definition: Projection.h:54
FPGAWord fpgarzbin1projvm_
Definition: Projection.h:133
bool valid() const
Definition: Projection.h:32
FPGAWord fpgabendindex_
Definition: Projection.h:149
FPGAWord fpgarzprojder_
Definition: Projection.h:131
const FPGAWord & fpgarzbin1projvm() const
Definition: Projection.h:59
double phiprojderapprox_
Definition: Projection.h:145
FPGAWord fpgarzproj_
Definition: Projection.h:129
void set(int value, int nbits, bool positive=true, int line=-1, const char *file=nullptr)
Definition: FPGAWord.cc:14
const FPGAWord & fpgarzproj() const
Definition: Projection.h:44
double phiprojderapprox() const
Definition: Projection.h:109
FPGAWord fpgaphiprojder_
Definition: Projection.h:130
double rzprojapprox() const
Definition: Projection.h:104
FPGAWord fpgaphiproj_
Definition: Projection.h:128
void setBendIndex(int bendindex)
Definition: Projection.h:119
double phiproj() const
Definition: Projection.h:79
const FPGAWord & fpgarzbin2projvm() const
Definition: Projection.h:64
~Projection()=default
double rzprojderapprox() const
Definition: Projection.h:114
FPGAWord fpgarzbin2projvm_
Definition: Projection.h:134
double phiprojapprox() const
Definition: Projection.h:99
unsigned int layerdisk_
Definition: Projection.h:126
double phiprojder() const
Definition: Projection.h:89
double rzprojder() const
Definition: Projection.h:94