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 #include "TECWedge.h"
5 #include "SubLayerCrossings.h"
6 
11 #pragma GCC visibility push(hidden)
12 class CompositeTECWedge final : public TECWedge {
13 public:
14  CompositeTECWedge(std::vector<const GeomDet*>& innerDets, std::vector<const GeomDet*>& outerDets)
15  __attribute__((cold));
16 
17  ~CompositeTECWedge() override __attribute__((cold));
18 
19  // GeometricSearchDet interface
20  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
21 
22  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
23 
27  __attribute__((cold));
28 
30  const Propagator& prop,
32  std::vector<DetGroup>& result) const override __attribute__((hot));
33 
34 private:
35  // private methods for the implementation of groupedCompatibleDets()
37  __attribute__((hot));
38 
40  const Propagator& prop,
42  const SubLayerCrossing& crossing,
44 
46  const Propagator& prop,
48  const SubLayerCrossing& crossing,
49  float window,
51  bool checkClosest) const __attribute__((hot));
52 
53  int findClosestDet(const GlobalPoint& startPos, int sectorId) const;
54 
55  const std::vector<const GeomDet*>& subWedge(int ind) const { return (ind == 0 ? theFrontDets : theBackDets); }
56 
57 private:
58  std::vector<const GeomDet*> theFrontDets;
59  std::vector<const GeomDet*> theBackDets;
60  std::vector<const GeomDet*> theDets;
61 
64 };
65 
66 #pragma GCC visibility pop
67 #endif
std::vector< const GeomDet * > theDets
const std::vector< const GeomDet * > & basicComponents() const override
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
PropagationDirection
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
~CompositeTECWedge() override __attribute__((cold))
std::vector< const GeomDet * > theFrontDets
const std::vector< const GeomDet * > & subWedge(int ind) const
std::vector< const GeomDet * > theBackDets
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
int findClosestDet(const GlobalPoint &startPos, int sectorId) 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
ReferenceCountingPointer< BoundDiskSector > theBackSector
CompositeTECWedge(std::vector< const GeomDet *> &innerDets, std::vector< const GeomDet *> &outerDets) __attribute__((cold))
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
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))
ReferenceCountingPointer< BoundDiskSector > theFrontSector