CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
StubFEWindows.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTMTT_StubFEWindows_h
2 #define L1Trigger_TrackFindingTMTT_StubFEWindows_h
3 
6 
7 #include <vector>
8 
9 // Window sizes used by FE electronics to select stubs.
10 
11 class TrackerTopology;
12 
13 namespace tmtt {
14 
15  class StubFEWindows {
16  public:
17  // Initialize stub window sizes from TTStubProducer cfg.
18  StubFEWindows(const edm::ParameterSet& pSetStubAlgo);
19 
20  // Set all FE stub bend windows to zero.
21  void setZero();
22 
23  // Access window size arrays (const functions).
24  const std::vector<double>& windowSizeBarrelLayers() const { return windowSizeBarrelLayers_; }
25  const std::vector<std::vector<double> >& windowSizeEndcapDisksRings() const { return windowSizeEndcapDisksRings_; }
26  const std::vector<std::vector<double> >& windowSizeTiltedLayersRings() const {
28  }
29 
30  // Access window size arrays (non-const functions).
31  std::vector<double>& windowSizeBarrelLayers() { return windowSizeBarrelLayers_; }
32  std::vector<std::vector<double> >& windowSizeEndcapDisksRings() { return windowSizeEndcapDisksRings_; }
33  std::vector<std::vector<double> >& windowSizeTiltedLayersRings() { return windowSizeTiltedLayersRings_; }
34 
35  // Number of tilted barrel modules each half of each PS barrel layer.
36  const std::vector<double>& numTiltedLayerRings() const { return numTiltedLayerRings_; }
37 
38  // Const/non-const access to element of array giving window size for specific module.
39  const double* storedWindowSize(const TrackerTopology* trackerTopo, const DetId& detId) const;
40  double* storedWindowSize(const TrackerTopology* trackerTopo, const DetId& detId);
41 
42  private:
43  // Stub window sizes as encoded in L1Trigger/TrackTrigger/interface/TTStubAlgorithm_official.h
44  std::vector<double> windowSizeBarrelLayers_;
45  std::vector<std::vector<double> > windowSizeEndcapDisksRings_;
46  std::vector<std::vector<double> > windowSizeTiltedLayersRings_;
47  std::vector<double> numTiltedLayerRings_;
48  };
49 
50 } // namespace tmtt
51 
52 #endif
const std::vector< double > & numTiltedLayerRings() const
Definition: StubFEWindows.h:36
const std::vector< double > & windowSizeBarrelLayers() const
Definition: StubFEWindows.h:24
std::vector< std::vector< double > > & windowSizeEndcapDisksRings()
Definition: StubFEWindows.h:32
std::vector< double > windowSizeBarrelLayers_
Definition: StubFEWindows.h:44
Definition: DetId.h:17
std::vector< double > & windowSizeBarrelLayers()
Definition: StubFEWindows.h:31
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
const double * storedWindowSize(const TrackerTopology *trackerTopo, const DetId &detId) const
std::vector< std::vector< double > > windowSizeTiltedLayersRings_
Definition: StubFEWindows.h:46
StubFEWindows(const edm::ParameterSet &pSetStubAlgo)
const std::vector< std::vector< double > > & windowSizeTiltedLayersRings() const
Definition: StubFEWindows.h:26
std::vector< std::vector< double > > & windowSizeTiltedLayersRings()
Definition: StubFEWindows.h:33
std::vector< double > numTiltedLayerRings_
Definition: StubFEWindows.h:47
std::vector< std::vector< double > > windowSizeEndcapDisksRings_
Definition: StubFEWindows.h:45
const std::vector< std::vector< double > > & windowSizeEndcapDisksRings() const
Definition: StubFEWindows.h:25