CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CompositeTECPetal.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_CompositeTECPetal_h
2 #define TkDetLayers_CompositeTECPetal_h
3 
4 
6 #include "TECPetal.h"
7 #include "TECWedge.h"
8 #include "SubLayerCrossings.h"
9 
11 
12 
16 #pragma GCC visibility push(hidden)
18  public:
19  CompositeTECPetal(std::vector<const TECWedge*>& innerWedges,
20  std::vector<const TECWedge*>& outerWedges);
21 
23 
24  // GeometricSearchDet interface
25  virtual const std::vector<const GeomDet*>& basicComponents() const {return theBasicComps;}
26 
27  virtual const std::vector<const GeometricSearchDet*>& components() const {return theComps;}
28 
29  virtual 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 
40  private:
41  // private methods for the implementation of groupedCompatibleDets()
43  PropagationDirection propDir) const dso_internal;
44 
45 
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 dso_internal;
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 dso_internal;
60 
61  static
62  bool overlap( const GlobalPoint& gpos, const GeometricSearchDet& rod, float window) dso_internal;
63 
64  static
65  float computeWindowSize( const GeomDet* det,
66  const TrajectoryStateOnSurface& tsos,
68 
69  int findBin( float R,int layer) const dso_internal;
70 
71  GlobalPoint findPosition(int index,int diskSectorIndex) const dso_internal;
72 
73  const std::vector<const GeometricSearchDet*>& subLayer( int ind) const dso_internal {
74  return (ind==0 ? theFrontComps : theBackComps);
75  }
76 
77 
78  private:
79  std::vector<const GeometricSearchDet*> theComps;
80  std::vector<const GeometricSearchDet*> theFrontComps;
81  std::vector<const GeometricSearchDet*> theBackComps;
82  std::vector<const GeomDet*> theBasicComps;
83 
84  std::vector<float> theFrontBoundaries;
85  std::vector<float> theBackBoundaries;
86 
89 
90 };
91 
92 
93 #pragma GCC visibility pop
94 #endif
std::vector< float > theFrontBoundaries
int findBin(float R, int layer) const
def window
Definition: svgfig.py:642
std::vector< const GeometricSearchDet * > theFrontComps
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const
const std::vector< const GeometricSearchDet * > & subLayer(int ind) const
std::vector< const GeometricSearchDet * > theComps
static bool overlap(const GlobalPoint &gpos, const GeometricSearchDet &rod, float window)
PropagationDirection
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const
CompositeTECPetal(std::vector< const TECWedge * > &innerWedges, std::vector< const TECWedge * > &outerWedges)
#define GCC11_FINAL
tuple result
Definition: query.py:137
#define dso_internal
Definition: Visibility.h:13
std::vector< const GeometricSearchDet * > theBackComps
static float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
ReferenceCountingPointer< BoundDiskSector > theFrontSector
GlobalPoint findPosition(int index, int diskSectorIndex) const
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const
ReferenceCountingPointer< BoundDiskSector > theBackSector
virtual std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const
std::vector< const GeomDet * > theBasicComps
virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
virtual const std::vector< const GeometricSearchDet * > & components() const
Returns basic components, if any.
virtual const std::vector< const GeomDet * > & basicComponents() const
std::vector< float > theBackBoundaries