CMS 3D CMS Logo

Phase2EndcapRing.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_Phase2EndcapRing_h
2 #define TkDetLayers_Phase2EndcapRing_h
3 
6 #include "SubLayerCrossings.h"
8 
12 #pragma GCC visibility push(hidden)
13 class Phase2EndcapRing final : public GeometricSearchDet {
14 public:
15  Phase2EndcapRing(std::vector<const GeomDet*>& innerDets,
16  std::vector<const GeomDet*>& outerDets,
17  const std::vector<const GeomDet*>& innerDetBrothers = std::vector<const GeomDet*>(),
18  const std::vector<const GeomDet*>& outerDetBrothers = std::vector<const GeomDet*>());
19  ~Phase2EndcapRing() override;
20 
21  // GeometricSearchDet interface
22  const BoundSurface& surface() const override { return *theDisk; }
23 
24  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
25 
26  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
27 
30  const MeasurementEstimator&) const override;
31 
33  const Propagator& prop,
35  std::vector<DetGroup>& result) const override __attribute__((hot));
36 
37  //Extension of interface
38  virtual const BoundDisk& specificSurface() const { return *theDisk; }
39 
40 private:
41  // private methods for the implementation of groupedCompatibleDets()
42 
44  __attribute__((hot));
45 
46  bool addClosest(const TrajectoryStateOnSurface& tsos,
47  const Propagator& prop,
48  const MeasurementEstimator& est,
49  const SubLayerCrossing& crossing,
50  std::vector<DetGroup>& result,
51  std::vector<DetGroup>& brotherresult) const __attribute__((hot));
52 
54  const Propagator& prop,
55  const MeasurementEstimator& est,
56  const SubLayerCrossing& crossing,
57  float window,
58  std::vector<DetGroup>& result,
59  std::vector<DetGroup>& brotherresult,
60  bool checkClosest) const __attribute__((hot));
61 
62  const std::vector<const GeomDet*>& subLayer(int ind) const { return (ind == 0 ? theFrontDets : theBackDets); }
63 
64  const std::vector<const GeomDet*>& subLayerBrothers(int ind) const {
65  return (ind == 0 ? theFrontDetBrothers : theBackDetBrothers);
66  }
67 
68 private:
69  std::vector<const GeomDet*> theDets;
70  std::vector<const GeomDet*> theFrontDets;
71  std::vector<const GeomDet*> theBackDets;
72  std::vector<const GeomDet*> theFrontDetBrothers;
73  std::vector<const GeomDet*> theBackDetBrothers;
74 
78 
80 
83 };
84 
85 #pragma GCC visibility pop
86 #endif
MeasurementEstimator
Definition: MeasurementEstimator.h:19
Phase2EndcapRing::~Phase2EndcapRing
~Phase2EndcapRing() override
Definition: Phase2EndcapRing.cc:89
Phase2EndcapRing::Phase2EndcapRing
Phase2EndcapRing(std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets, const std::vector< const GeomDet * > &innerDetBrothers=std::vector< const GeomDet * >(), const std::vector< const GeomDet * > &outerDetBrothers=std::vector< const GeomDet * >())
Definition: Phase2EndcapRing.cc:30
PeriodicBinFinderInPhi.h
Phase2EndcapRing::theBackBinFinder
BinFinderType theBackBinFinder
Definition: Phase2EndcapRing.h:82
Phase2EndcapRing::surface
const BoundSurface & surface() const override
The surface of the GeometricSearchDet.
Definition: Phase2EndcapRing.h:22
Phase2EndcapRing::theBackDisk
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: Phase2EndcapRing.h:77
Phase2EndcapRing::theFrontDetBrothers
std::vector< const GeomDet * > theFrontDetBrothers
Definition: Phase2EndcapRing.h:72
BoundDisk.h
Phase2EndcapRing::theFrontDisk
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: Phase2EndcapRing.h:76
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
GeometricSearchDet.h
Surface
Definition: Surface.h:36
ReferenceCountingPointer< BoundDisk >
watchdog.const
const
Definition: watchdog.py:83
BoundDisk
SubLayerCrossings.h
Propagator
Definition: Propagator.h:44
Phase2EndcapRing::computeCrossings
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: Phase2EndcapRing.cc:156
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
Phase2EndcapRing::searchNeighbors
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult, bool checkClosest) const __attribute__((hot))
Definition: Phase2EndcapRing.cc:210
Phase2EndcapRing::addClosest
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult) const __attribute__((hot))
Definition: Phase2EndcapRing.cc:192
Phase2EndcapRing::BinFinderType
PeriodicBinFinderInPhi< float > BinFinderType
Definition: Phase2EndcapRing.h:79
Phase2EndcapRing::subLayerBrothers
const std::vector< const GeomDet * > & subLayerBrothers(int ind) const
Definition: Phase2EndcapRing.h:64
Phase2EndcapRing::theDisk
ReferenceCountingPointer< BoundDisk > theDisk
Definition: Phase2EndcapRing.h:75
Phase2EndcapRing
Definition: Phase2EndcapRing.h:13
Phase2EndcapRing::theDets
std::vector< const GeomDet * > theDets
Definition: Phase2EndcapRing.h:69
Phase2EndcapRing::specificSurface
virtual const BoundDisk & specificSurface() const
Definition: Phase2EndcapRing.h:38
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
Phase2EndcapRing::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: Phase2EndcapRing.h:24
std
Definition: JetResolutionObject.h:76
Phase2EndcapRing::theBackDetBrothers
std::vector< const GeomDet * > theBackDetBrothers
Definition: Phase2EndcapRing.h:73
Phase2EndcapRing::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: Phase2EndcapRing.cc:102
PeriodicBinFinderInPhi< float >
Phase2EndcapRing::theBackDets
std::vector< const GeomDet * > theBackDets
Definition: Phase2EndcapRing.h:71
Phase2EndcapRing::compatible
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override
Definition: Phase2EndcapRing.cc:95
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
Phase2EndcapRing::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: Phase2EndcapRing.cc:91
SubLayerCrossing
Definition: SubLayerCrossings.h:7
Phase2EndcapRing::theFrontBinFinder
BinFinderType theFrontBinFinder
Definition: Phase2EndcapRing.h:81
Phase2EndcapRing::theFrontDets
std::vector< const GeomDet * > theFrontDets
Definition: Phase2EndcapRing.h:70
DetGroup
Definition: DetGroup.h:41
mps_fire.result
result
Definition: mps_fire.py:303
GeometricSearchDet
Definition: GeometricSearchDet.h:17
Phase2EndcapRing::subLayer
const std::vector< const GeomDet * > & subLayer(int ind) const
Definition: Phase2EndcapRing.h:62
SubLayerCrossings
Definition: SubLayerCrossings.h:22