CMS 3D CMS Logo

TIDRing.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TIDRing_h
2 #define TkDetLayers_TIDRing_h
3 
6 #include "SubLayerCrossings.h"
8 
12 #pragma GCC visibility push(hidden)
13 class TIDRing final : public GeometricSearchDet {
14 public:
15  TIDRing(std::vector<const GeomDet*>& innerDets, std::vector<const GeomDet*>& outerDets);
16  ~TIDRing() override;
17 
18  // GeometricSearchDet interface
19  const BoundSurface& surface() const override { return *theDisk; }
20 
21  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
22 
23  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
24 
27  const MeasurementEstimator&) const override;
28 
30  const Propagator& prop,
32  std::vector<DetGroup>& result) const override __attribute__((hot));
33 
34  //Extension of interface
35  virtual const BoundDisk& specificSurface() const { return *theDisk; }
36 
37 private:
38  // private methods for the implementation of groupedCompatibleDets()
39 
41  __attribute__((hot));
42 
43  bool addClosest(const TrajectoryStateOnSurface& tsos,
44  const Propagator& prop,
45  const MeasurementEstimator& est,
46  const SubLayerCrossing& crossing,
47  std::vector<DetGroup>& result) const __attribute__((hot));
48 
50  const Propagator& prop,
51  const MeasurementEstimator& est,
52  const SubLayerCrossing& crossing,
53  float window,
54  std::vector<DetGroup>& result,
55  bool checkClosest) const __attribute__((hot));
56 
57  const std::vector<const GeomDet*>& subLayer(int ind) const { return (ind == 0 ? theFrontDets : theBackDets); }
58 
59 private:
60  std::vector<const GeomDet*> theDets;
61  std::vector<const GeomDet*> theFrontDets;
62  std::vector<const GeomDet*> theBackDets;
63 
67 
69 
72 };
73 
74 #pragma GCC visibility pop
75 #endif
PeriodicBinFinderInPhi< float > BinFinderType
Definition: TIDRing.h:68
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: TIDRing.cc:141
std::vector< const GeomDet * > theDets
Definition: TIDRing.h:60
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: TIDRing.cc:94
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override
Definition: TIDRing.cc:60
virtual const BoundDisk & specificSurface() const
Definition: TIDRing.h:35
PropagationDirection
BinFinderType theFrontBinFinder
Definition: TIDRing.h:70
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TIDRing.cc:131
const BoundSurface & surface() const override
The surface of the GeometricSearchDet.
Definition: TIDRing.h:19
~TIDRing() override
Definition: TIDRing.cc:54
std::vector< const GeomDet * > theFrontDets
Definition: TIDRing.h:61
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
TIDRing(std::vector< const GeomDet *> &innerDets, std::vector< const GeomDet *> &outerDets)
Definition: TIDRing.cc:23
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: TIDRing.h:66
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
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: TIDRing.h:65
ReferenceCountingPointer< BoundDisk > theDisk
Definition: TIDRing.h:64
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TIDRing.cc:56
BinFinderType theBackBinFinder
Definition: TIDRing.h:71
const std::vector< const GeomDet * > & subLayer(int ind) const
Definition: TIDRing.h:57
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TIDRing.h:21
std::vector< const GeomDet * > theBackDets
Definition: TIDRing.h:62
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TIDRing.cc:67