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,
43  std::vector<DetGroup>& result) const __attribute__((hot));
44 
46  const Propagator& prop,
48  const SubLayerCrossing& crossing,
49  float window,
50  std::vector<DetGroup>& result,
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
MeasurementEstimator
Definition: MeasurementEstimator.h:19
CompositeTECWedge::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: CompositeTECWedge.cc:67
CompositeTECWedge::~CompositeTECWedge
~CompositeTECWedge() override __attribute__((cold))
Definition: CompositeTECWedge.cc:65
CompositeTECWedge::searchNeighbors
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))
Definition: CompositeTECWedge.cc:177
GeomDet
Definition: GeomDet.h:27
CompositeTECWedge::compatible
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
Definition: CompositeTECWedge.cc:71
CompositeTECWedge::findClosestDet
int findClosestDet(const GlobalPoint &startPos, int sectorId) const
Definition: CompositeTECWedge.cc:217
svgfig.window
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
CompositeTECWedge::computeCrossings
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: CompositeTECWedge.cc:110
ReferenceCountingPointer< BoundDiskSector >
CompositeTECWedge::theDets
std::vector< const GeomDet * > theDets
Definition: CompositeTECWedge.h:60
watchdog.const
const
Definition: watchdog.py:83
SubLayerCrossings.h
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
CompositeTECWedge::subWedge
const std::vector< const GeomDet * > & subWedge(int ind) const
Definition: CompositeTECWedge.h:55
Point3DBase< float, GlobalTag >
CompositeTECWedge::theBackDets
std::vector< const GeomDet * > theBackDets
Definition: CompositeTECWedge.h:59
CompositeTECWedge::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: CompositeTECWedge.h:20
CompositeTECWedge::theBackSector
ReferenceCountingPointer< BoundDiskSector > theBackSector
Definition: CompositeTECWedge.h:63
CompositeTECWedge::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: CompositeTECWedge.cc:78
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
TECWedge
Definition: TECWedge.h:12
CompositeTECWedge::addClosest
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: CompositeTECWedge.cc:162
CompositeTECWedge
Definition: CompositeTECWedge.h:12
CompositeTECWedge::CompositeTECWedge
CompositeTECWedge(std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets) __attribute__((cold))
Definition: CompositeTECWedge.cc:33
std
Definition: JetResolutionObject.h:76
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
SubLayerCrossing
Definition: SubLayerCrossings.h:7
TECWedge.h
DetGroup
Definition: DetGroup.h:41
mps_fire.result
result
Definition: mps_fire.py:303
SubLayerCrossings
Definition: SubLayerCrossings.h:22
CompositeTECWedge::theFrontSector
ReferenceCountingPointer< BoundDiskSector > theFrontSector
Definition: CompositeTECWedge.h:62
CompositeTECWedge::theFrontDets
std::vector< const GeomDet * > theFrontDets
Definition: CompositeTECWedge.h:58