CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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)
17  public:
19 
20  TOBRod(std::vector<const GeomDet*>& innerDets,
21  std::vector<const GeomDet*>& outerDets);
22  ~TOBRod();
23 
24  // GeometricSearchDet interface
25 
26  virtual const std::vector<const GeomDet*>& basicComponents() const {return theDets;}
27 
28  virtual const std::vector<const GeometricSearchDet*>& components() const;
29 
30 
31  virtual std::pair<bool, TrajectoryStateOnSurface>
33  const MeasurementEstimator&) const;
34 
36  const Propagator& prop,
37  const MeasurementEstimator& est,
38  std::vector<DetGroup> & result) const;
39 
40 
41  private:
42  // private methods for the implementation of groupedCompatibleDets()
43 
44  SubLayerCrossings computeCrossings( const TrajectoryStateOnSurface& tsos,
45  PropagationDirection propDir) const;
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;
52 
53  float computeWindowSize( const GeomDet* det,
54  const TrajectoryStateOnSurface& tsos,
55  const MeasurementEstimator& est) const;
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;
65 
66  bool overlap( const GlobalPoint& gpos, const GeomDet& rod, float phiWin) const;
67 
68  const std::vector<const GeomDet*>& subRod( int ind) const {
69  return (ind==0 ? theInnerDets : theOuterDets);
70  }
71 
72 
73  private:
74  std::vector<const GeomDet*> theDets;
75  std::vector<const GeomDet*> theInnerDets;
76  std::vector<const GeomDet*> theOuterDets;
77 
80 
81  BinFinderType theInnerBinFinder;
82  BinFinderType theOuterBinFinder;
83 
84 };
85 
86 
87 #pragma GCC visibility pop
88 #endif
virtual std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const =0
def window
Definition: svgfig.py:642
ReferenceCountingPointer< Plane > theOuterPlane
Definition: TOBRod.h:79
PeriodicBinFinderInZ< float > BinFinderType
Definition: TOBRod.h:18
const std::vector< const GeomDet * > & subRod(int ind) const
Definition: TOBRod.h:68
virtual const std::vector< const GeometricSearchDet * > & components() const =0
Returns basic components, if any.
virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
PropagationDirection
virtual const std::vector< const GeomDet * > & basicComponents() const
Definition: TOBRod.h:26
bool overlap(const reco::Muon &muon1, const reco::Muon &muon2, double pullX=1.0, double pullY=1.0, bool checkAdjacentChambers=false)
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: TkDetUtil.cc:31
std::vector< const GeomDet * > theInnerDets
Definition: TOBRod.h:75
tuple result
Definition: query.py:137
Definition: DetRod.h:13
std::vector< const GeomDet * > theOuterDets
Definition: TOBRod.h:76
ReferenceCountingPointer< Plane > theInnerPlane
Definition: TOBRod.h:78
Unlimited (trivial) bounds.