CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TOBRod.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TOBRod_h
2 #define TkDetLayers_TOBRod_h
3 
7 #include "SubLayerCrossings.h"
8 
13 #pragma GCC visibility push(hidden)
14 class TOBRod final : public DetRod {
15 public:
17 
18  TOBRod(std::vector<const GeomDet*>& innerDets, std::vector<const GeomDet*>& outerDets) __attribute__((cold));
19  ~TOBRod() override __attribute__((cold));
20 
21  // GeometricSearchDet interface
22 
23  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
24 
25  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
26 
30  __attribute__((cold));
31 
33  const Propagator& prop,
35  std::vector<DetGroup>& result) const override __attribute__((hot));
36 
37 private:
38  // private methods for the implementation of groupedCompatibleDets()
39 
41  __attribute__((hot));
42 
44  const Propagator& prop,
46  const SubLayerCrossing& crossing,
47  std::vector<DetGroup>& result) const __attribute__((hot));
48 
49  float computeWindowSize(const GeomDet* det,
52 
54  const Propagator& prop,
56  const SubLayerCrossing& crossing,
57  float window,
58  std::vector<DetGroup>& result,
59  bool checkClosest) const __attribute__((hot));
60 
61  const std::vector<const GeomDet*>& subRod(int ind) const { return (ind == 0 ? theInnerDets : theOuterDets); }
62 
63 private:
64  std::vector<const GeomDet*> theDets;
65  std::vector<const GeomDet*> theInnerDets;
66  std::vector<const GeomDet*> theOuterDets;
67 
70 
73 };
74 
75 #pragma GCC visibility pop
76 #endif
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot))
Definition: TOBRod.cc:147
def window
Definition: svgfig.py:643
BinFinderType theOuterBinFinder
Definition: TOBRod.h:72
std::vector< const GeomDet * > theInnerDets
Definition: TOBRod.h:65
~TOBRod() override __attribute__((cold))
Definition: TOBRod.cc:56
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TOBRod.cc:58
Definition: TOBRod.h:14
PeriodicBinFinderInZ< float > BinFinderType
Definition: TOBRod.h:16
std::vector< const GeomDet * > theDets
Definition: TOBRod.h:64
std::vector< const GeomDet * > theOuterDets
Definition: TOBRod.h:66
PropagationDirection
tuple result
Definition: mps_fire.py:311
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TOBRod.h:23
const std::vector< const GeomDet * > & subRod(int ind) const
Definition: TOBRod.h:61
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
Definition: TOBRod.cc:62
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TOBRod.cc:69
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: TOBRod.cc:105
TOBRod(std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets) __attribute__((cold))
Definition: TOBRod.cc:25
ReferenceCountingPointer< Plane > theOuterPlane
Definition: TOBRod.h:69
BinFinderType theInnerBinFinder
Definition: TOBRod.h:71
ReferenceCountingPointer< Plane > theInnerPlane
Definition: TOBRod.h:68
Definition: DetRod.h:13
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:178
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TOBRod.cc:138