CMS 3D CMS Logo

Phase2EndcapSingleRing.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_Phase2EndcapSingleRing_h
2 #define TkDetLayers_Phase2EndcapSingleRing_h
3 
6 #include "SubLayerCrossings.h"
8 
12 #pragma GCC visibility push(hidden)
14 public:
15  Phase2EndcapSingleRing(std::vector<const GeomDet*>& allDets);
16  ~Phase2EndcapSingleRing() 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;
24 
25  std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface&,
26  const Propagator&,
27  const MeasurementEstimator&) const override;
28 
30  const Propagator& prop,
31  const MeasurementEstimator& est,
32  std::vector<DetGroup>& result) const override;
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 
42  bool addClosest(const TrajectoryStateOnSurface& tsos,
43  const Propagator& prop,
44  const MeasurementEstimator& est,
45  const SubLayerCrossing& crossing,
46  std::vector<DetGroup>& result) const;
47 
49  const Propagator& prop,
50  const MeasurementEstimator& est,
51  const SubLayerCrossing& crossing,
52  float window,
53  std::vector<DetGroup>& result,
54  bool checkClosest) const;
55 
56  const std::vector<const GeomDet*>& subLayer(int ind) const { return theDets; }
57 
58 private:
59  std::vector<const GeomDet*> theDets;
60 
62 
64 
66 };
67 
68 #pragma GCC visibility pop
69 #endif
const std::vector< const GeomDet * > & basicComponents() const override
PeriodicBinFinderInPhi< float > BinFinderType
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override
const BoundSurface & surface() const override
The surface of the GeometricSearchDet.
Phase2EndcapSingleRing(std::vector< const GeomDet *> &allDets)
SubLayerCrossing computeCrossing(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const
PropagationDirection
const std::vector< const GeometricSearchDet * > & components() const override
Returns basic components, if any.
const std::vector< const GeomDet * > & subLayer(int ind) const
virtual const BoundDisk & specificSurface() const
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
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override
std::vector< const GeomDet * > theDets
ReferenceCountingPointer< BoundDisk > theDisk
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const
~Phase2EndcapSingleRing() override