CMS 3D CMS Logo

CompositeTECWedge.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_CompositeTECWedge_h
2 #define TkDetLayers_CompositeTECWedge_h
3 
4 
5 #include "TECWedge.h"
6 #include "SubLayerCrossings.h"
7 
8 
13 #pragma GCC visibility push(hidden)
14 class CompositeTECWedge final : public TECWedge{
15  public:
16  CompositeTECWedge(std::vector<const GeomDet*>& innerDets,
17  std::vector<const GeomDet*>& outerDets) __attribute__ ((cold));
18 
20 
21  // GeometricSearchDet interface
22  virtual const std::vector<const GeomDet*>& basicComponents() const {return theDets;}
23 
24  virtual const std::vector<const GeometricSearchDet*>& components() const __attribute__ ((cold));
25 
26  virtual std::pair<bool, TrajectoryStateOnSurface>
28  const MeasurementEstimator&) const __attribute__ ((cold));
29 
30  virtual void
32  const Propagator& prop,
33  const MeasurementEstimator& est,
34  std::vector<DetGroup> & result) const __attribute__ ((hot));
35 
36  private:
37  // private methods for the implementation of groupedCompatibleDets()
39  PropagationDirection propDir) const __attribute__ ((hot));
40 
41  bool addClosest( const TrajectoryStateOnSurface& tsos,
42  const Propagator& prop,
43  const MeasurementEstimator& est,
44  const SubLayerCrossing& crossing,
45  std::vector<DetGroup>& result) const __attribute__ ((hot));
46 
47  void searchNeighbors( const TrajectoryStateOnSurface& tsos,
48  const Propagator& prop,
49  const MeasurementEstimator& est,
50  const SubLayerCrossing& crossing,
51  float window,
52  std::vector<DetGroup>& result,
53  bool checkClosest) const __attribute__ ((hot));
54 
55  int findClosestDet( const GlobalPoint& startPos,int sectorId) const;
56 
57  const std::vector<const GeomDet*>& subWedge( int ind) const {
58  return (ind==0 ? theFrontDets : theBackDets);
59  }
60 
61 
62  private:
63  std::vector<const GeomDet*> theFrontDets;
64  std::vector<const GeomDet*> theBackDets;
65  std::vector<const GeomDet*> theDets;
66 
69 
70 };
71 
72 
73 #pragma GCC visibility pop
74 #endif
virtual const std::vector< const GeometricSearchDet * > & components() const __attribute__((cold))
Returns basic components, if any.
CompositeTECWedge(std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets) __attribute__((cold))
std::vector< const GeomDet * > theDets
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
PropagationDirection
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
virtual std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const __attribute__((cold))
std::vector< const GeomDet * > theFrontDets
int findClosestDet(const GlobalPoint &startPos, int sectorId) const
const std::vector< const GeomDet * > & subWedge(int ind) const
std::vector< const GeomDet * > theBackDets
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:642
~CompositeTECWedge() __attribute__((cold))
ReferenceCountingPointer< BoundDiskSector > theBackSector
virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const __attribute__((hot))
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))
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
virtual const std::vector< const GeomDet * > & basicComponents() const
ReferenceCountingPointer< BoundDiskSector > theFrontSector