CMS 3D CMS Logo

TIDRing.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TIDRing_h
2 #define TkDetLayers_TIDRing_h
3 
4 
7 #include "SubLayerCrossings.h"
9 
13 #pragma GCC visibility push(hidden)
14 class TIDRing final : public GeometricSearchDet {
15  public:
16  TIDRing(std::vector<const GeomDet*>& innerDets,
17  std::vector<const GeomDet*>& outerDets);
18  ~TIDRing() override;
19 
20  // GeometricSearchDet interface
21  const BoundSurface& surface() const override {return *theDisk;}
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 
27  std::pair<bool, TrajectoryStateOnSurface>
29  const MeasurementEstimator&) const override;
30 
32  const Propagator& prop,
33  const MeasurementEstimator& est,
34  std::vector<DetGroup> & result) const override __attribute__ ((hot));
35 
36 
37  //Extension of interface
38  virtual const BoundDisk& specificSurface() const {return *theDisk;}
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  void searchNeighbors( const TrajectoryStateOnSurface& tsos,
54  const Propagator& prop,
55  const MeasurementEstimator& est,
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*>& subLayer( int ind) const {
62  return (ind==0 ? theFrontDets : theBackDets);
63  }
64 
65 
66  private:
67  std::vector<const GeomDet*> theDets;
68  std::vector<const GeomDet*> theFrontDets;
69  std::vector<const GeomDet*> theBackDets;
70 
74 
76 
77  BinFinderType theFrontBinFinder;
78  BinFinderType theBackBinFinder;
79 
80 
81 
82  };
83 
84 
85 #pragma GCC visibility pop
86 #endif
PeriodicBinFinderInPhi< float > BinFinderType
Definition: TIDRing.h:75
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:175
std::vector< const GeomDet * > theDets
Definition: TIDRing.h:67
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: TIDRing.cc:120
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override
Definition: TIDRing.cc:82
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TIDRing.cc:91
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
PropagationDirection
BinFinderType theFrontBinFinder
Definition: TIDRing.h:77
const BoundSurface & surface() const override
The surface of the GeometricSearchDet.
Definition: TIDRing.h:21
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TIDRing.cc:75
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TIDRing.cc:162
~TIDRing() override
Definition: TIDRing.cc:70
std::vector< const GeomDet * > theFrontDets
Definition: TIDRing.h:68
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: TIDRing.h:73
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
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TIDRing.h:23
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: TIDRing.h:72
ReferenceCountingPointer< BoundDisk > theDisk
Definition: TIDRing.h:71
BinFinderType theBackBinFinder
Definition: TIDRing.h:78
virtual const BoundDisk & specificSurface() const
Definition: TIDRing.h:38
const std::vector< const GeomDet * > & subLayer(int ind) const
Definition: TIDRing.h:61
TIDRing(std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets)
Definition: TIDRing.cc:24
std::vector< const GeomDet * > theBackDets
Definition: TIDRing.h:69