CMS 3D CMS Logo

TOBRod.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TOBRod_h
2 #define TkDetLayers_TOBRod_h
3 
4 
8 #include "SubLayerCrossings.h"
9 
10 
15 #pragma GCC visibility push(hidden)
16 class TOBRod final : public DetRod {
17  public:
19 
20  TOBRod(std::vector<const GeomDet*>& innerDets,
21  std::vector<const GeomDet*>& outerDets) __attribute__ ((cold));
22  ~TOBRod() override __attribute__ ((cold));
23 
24  // GeometricSearchDet interface
25 
26  const std::vector<const GeomDet*>& basicComponents() const override {return theDets;}
27 
28  const std::vector<const GeometricSearchDet*>& components() const override __attribute__ ((cold));
29 
30 
31  std::pair<bool, TrajectoryStateOnSurface>
33  const MeasurementEstimator&) const override __attribute__ ((cold));
34 
36  const Propagator& prop,
37  const MeasurementEstimator& est,
38  std::vector<DetGroup> & result) const override __attribute__ ((hot));
39 
40 
41  private:
42  // private methods for the implementation of groupedCompatibleDets()
43 
45  PropagationDirection propDir) const __attribute__ ((hot));
46 
47  bool addClosest( const TrajectoryStateOnSurface& tsos,
48  const Propagator& prop,
49  const MeasurementEstimator& est,
50  const SubLayerCrossing& crossing,
51  std::vector<DetGroup>& result) const __attribute__ ((hot));
52 
53  float computeWindowSize( const GeomDet* det,
54  const TrajectoryStateOnSurface& tsos,
55  const MeasurementEstimator& est) const __attribute__ ((hot));
56 
57 
58  void searchNeighbors( const TrajectoryStateOnSurface& tsos,
59  const Propagator& prop,
60  const MeasurementEstimator& est,
61  const SubLayerCrossing& crossing,
62  float window,
63  std::vector<DetGroup>& result,
64  bool checkClosest) const __attribute__ ((hot));
65 
66 
67  const std::vector<const GeomDet*>& subRod( int ind) const {
68  return (ind==0 ? theInnerDets : theOuterDets);
69  }
70 
71 
72  private:
73  std::vector<const GeomDet*> theDets;
74  std::vector<const GeomDet*> theInnerDets;
75  std::vector<const GeomDet*> theOuterDets;
76 
79 
80  BinFinderType theInnerBinFinder;
81  BinFinderType theOuterBinFinder;
82 
83 };
84 
85 
86 #pragma GCC visibility pop
87 #endif
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot))
Definition: TOBRod.cc:190
BinFinderType theOuterBinFinder
Definition: TOBRod.h:81
std::vector< const GeomDet * > theInnerDets
Definition: TOBRod.h:74
~TOBRod() override __attribute__((cold))
Definition: TOBRod.cc:76
Definition: TOBRod.h:16
PeriodicBinFinderInZ< float > BinFinderType
Definition: TOBRod.h:18
std::vector< const GeomDet * > theDets
Definition: TOBRod.h:73
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
Definition: TOBRod.cc:87
std::vector< const GeomDet * > theOuterDets
Definition: TOBRod.h:75
PropagationDirection
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TOBRod.cc:98
const std::vector< const GeomDet * > & subRod(int ind) const
Definition: TOBRod.h:67
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: TOBRod.cc:138
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:642
TOBRod(std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets) __attribute__((cold))
Definition: TOBRod.cc:29
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TOBRod.h:26
ReferenceCountingPointer< Plane > theOuterPlane
Definition: TOBRod.h:78
BinFinderType theInnerBinFinder
Definition: TOBRod.h:80
ReferenceCountingPointer< Plane > theInnerPlane
Definition: TOBRod.h:77
Definition: DetRod.h:13
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TOBRod.cc:82
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const __attribute__((hot))
Definition: TOBRod.cc:228
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TOBRod.cc:177