CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PixelBlade.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_PixelBlade_h
2 #define TkDetLayers_PixelBlade_h
3 
6 
9 
10 
15  public:
16 
17  PixelBlade(std::vector<const GeomDet*>& frontDets,
18  std::vector<const GeomDet*>& backDets );
19 
21 
22  // GeometricSearchDet interface
23  virtual const BoundSurface& surface() const {return *theDiskSector;}
24 
25  virtual const std::vector<const GeomDet*>& basicComponents() const {return theDets;}
26 
27  virtual const std::vector<const GeometricSearchDet*>& components() const;
28 
29  std::pair<bool, TrajectoryStateOnSurface>
31  const MeasurementEstimator&) const;
32 
33  virtual void
35  const Propagator& prop,
36  const MeasurementEstimator& est,
37  std::vector<DetGroup> & result) const;
38 
39  //Extension of the interface
40  virtual const BoundDiskSector& specificSurface() const {return *theDiskSector;}
41 
42  private:
43  // private methods for the implementation of groupedCompatibleDets()
44 
46  PropagationDirection propDir) const;
47 
48  bool addClosest( const TrajectoryStateOnSurface& tsos,
49  const Propagator& prop,
50  const MeasurementEstimator& est,
51  const SubLayerCrossing& crossing,
52  std::vector<DetGroup>& result) const;
53 
54  float computeWindowSize( const GeomDet* det,
55  const TrajectoryStateOnSurface& tsos,
56  const MeasurementEstimator& est) const;
57 
58 
59  void searchNeighbors( const TrajectoryStateOnSurface& tsos,
60  const Propagator& prop,
61  const MeasurementEstimator& est,
62  const SubLayerCrossing& crossing,
63  float window,
64  std::vector<DetGroup>& result,
65  bool checkClosest) const;
66 
67  bool overlap( const GlobalPoint& gpos, const GeomDet& det, float phiWin) const;
68 
69  // This 2 find methods should be substituted with the use
70  // of a GeneralBinFinderInR
71 
72  int findBin( float R,int layer) const;
73 
74  GlobalPoint findPosition(int index,int diskSectorIndex) const ;
75 
76  const std::vector<const GeomDet*>& subBlade( int ind) const {
77  return (ind==0 ? theFrontDets : theBackDets);
78  }
79 
80 
81 
82  private:
83  std::vector<const GeomDet*> theDets;
84  std::vector<const GeomDet*> theFrontDets;
85  std::vector<const GeomDet*> theBackDets;
86 
90 };
91 
92 
93 #endif
def window
Definition: svgfig.py:642
ReferenceCountingPointer< BoundDiskSector > theFrontDiskSector
Definition: PixelBlade.h:88
ReferenceCountingPointer< BoundDiskSector > theBackDiskSector
Definition: PixelBlade.h:89
virtual const BoundSurface & surface() const
The surface of the GeometricSearchDet.
Definition: PixelBlade.h:23
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const
Definition: PixelBlade.cc:169
PropagationDirection
std::vector< const GeomDet * > theFrontDets
Definition: PixelBlade.h:84
GlobalPoint findPosition(int index, int diskSectorIndex) const
Definition: PixelBlade.cc:264
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const
Definition: PixelBlade.cc:113
std::vector< const GeomDet * > theBackDets
Definition: PixelBlade.h:85
const std::vector< const GeomDet * > & subBlade(int ind) const
Definition: PixelBlade.h:76
virtual const std::vector< const GeometricSearchDet * > & components() const
Returns basic components, if any.
Definition: PixelBlade.cc:59
bool overlap(const GlobalPoint &gpos, const GeomDet &det, float phiWin) const
Definition: PixelBlade.cc:218
int findBin(float R, int layer) const
Definition: PixelBlade.cc:245
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const
Definition: PixelBlade.cc:156
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const
Definition: PixelBlade.cc:180
virtual const std::vector< const GeomDet * > & basicComponents() const
Definition: PixelBlade.h:25
tuple result
Definition: query.py:137
PixelBlade(std::vector< const GeomDet * > &frontDets, std::vector< const GeomDet * > &backDets)
Definition: PixelBlade.cc:18
virtual const BoundDiskSector & specificSurface() const
Definition: PixelBlade.h:40
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const
Definition: PixelBlade.cc:64
virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
Definition: PixelBlade.cc:73
std::vector< const GeomDet * > theDets
Definition: PixelBlade.h:83
ReferenceCountingPointer< BoundDiskSector > theDiskSector
Definition: PixelBlade.h:87