CMS 3D CMS Logo

TBPLayer.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TBPLayer_h
2 #define TkDetLayers_TBPLayer_h
3 
4 #include "TBLayer.h"
5 #include "PixelRod.h"
6 #include "TOBRod.h"
7 #include "Phase2OTBarrelRod.h"
8 
10 
14 #pragma GCC visibility push(hidden)
15 class TBPLayer : public TBLayer {
16 public:
18 
19  TBPLayer(std::vector<const PixelRod*>& inner, std::vector<const PixelRod*>& outer) __attribute__((cold))
21  construct();
22  }
23 
24  TBPLayer(std::vector<const TOBRod*>& inner, std::vector<const TOBRod*>& outer) __attribute__((cold))
26  construct();
27  }
28 
29  TBPLayer(std::vector<const Phase2OTBarrelRod*>& inner, std::vector<const Phase2OTBarrelRod*>& outer)
30  __attribute__((cold))
32  construct();
33  }
34 
35  ~TBPLayer() override __attribute__((cold));
36 
37  BoundCylinder* cylinder(const std::vector<const GeometricSearchDet*>& rods) const __attribute__((cold));
38 
39 private:
40  // private methods for the implementation of groupedCompatibleDets()
41 
42  void construct() __attribute__((cold));
43 
44  std::tuple<bool, int, int> computeIndexes(GlobalPoint gInnerPoint, GlobalPoint gOuterPoint) const override
45  __attribute__((hot));
46 
47  float computeWindowSize(const GeomDet* det,
48  const TrajectoryStateOnSurface& tsos,
49  const MeasurementEstimator& est) const override __attribute__((hot));
50 
51  static float calculatePhiWindow(float Xmax, const GeomDet& det, const TrajectoryStateOnSurface& state)
52  __attribute__((hot));
53 
55  const Propagator& prop,
56  const MeasurementEstimator& est,
57  const SubLayerCrossing& crossing,
58  float window,
59  std::vector<DetGroup>& result,
60  bool checkClosest) const override __attribute__((hot));
61 
62  BinFinderType theInnerBinFinder;
63  BinFinderType theOuterBinFinder;
64 };
65 
66 #pragma GCC visibility pop
67 #endif
BoundCylinder * cylinder(const std::vector< const GeometricSearchDet * > &rods) const __attribute__((cold))
Definition: TBPLayer.cc:66
TBPLayer(std::vector< const Phase2OTBarrelRod * > &inner, std::vector< const Phase2OTBarrelRod * > &outer) __attribute__((cold))
Definition: TBPLayer.h:29
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
BinFinderType theOuterBinFinder
Definition: TBPLayer.h:63
TBPLayer(std::vector< const PixelRod * > &inner, std::vector< const PixelRod * > &outer) __attribute__((cold))
Definition: TBPLayer.h:19
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const override __attribute__((hot))
Definition: TBPLayer.cc:95
void construct() __attribute__((cold))
Definition: TBPLayer.cc:20
~TBPLayer() override __attribute__((cold))
Definition: TBPLayer.cc:64
TBPLayer(std::vector< const TOBRod * > &inner, std::vector< const TOBRod * > &outer) __attribute__((cold))
Definition: TBPLayer.h:24
PeriodicBinFinderInPhi< float > BinFinderType
Definition: TBPLayer.h:17
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:643
std::tuple< bool, int, int > computeIndexes(GlobalPoint gInnerPoint, GlobalPoint gOuterPoint) const override __attribute__((hot))
Definition: TBPLayer.cc:76
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const override __attribute__((hot))
Definition: TBPLayer.cc:101
BinFinderType theInnerBinFinder
Definition: TBPLayer.h:62
static float calculatePhiWindow(float Xmax, const GeomDet &det, const TrajectoryStateOnSurface &state) __attribute__((hot))