CMS 3D CMS Logo

Phase2OTBarrelRod.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_Phase2OTBarrelRod_h
2 #define TkDetLayers_Phase2OTBarrelRod_h
3 
7 #include "SubLayerCrossings.h"
8 
13 #pragma GCC visibility push(hidden)
14 class Phase2OTBarrelRod final : public DetRod {
15 public:
17 
18  Phase2OTBarrelRod(std::vector<const GeomDet*>& innerDets,
19  std::vector<const GeomDet*>& outerDets,
20  const std::vector<const GeomDet*>& innerDetBrothers = std::vector<const GeomDet*>(),
21  const std::vector<const GeomDet*>& outerDetBrothers = std::vector<const GeomDet*>())
22  __attribute__((cold));
23  ~Phase2OTBarrelRod() override __attribute__((cold));
24 
25  // GeometricSearchDet interface
26 
27  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
28 
29  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
30 
34  __attribute__((cold));
35 
37  const Propagator& prop,
39  std::vector<DetGroup>& result) const override __attribute__((hot));
40 
41 private:
42  // private methods for the implementation of groupedCompatibleDets()
43 
45  __attribute__((hot));
46 
48  const Propagator& prop,
50  const SubLayerCrossing& crossing,
52  std::vector<DetGroup>& brotherresult) const __attribute__((hot));
53 
54  float computeWindowSize(const GeomDet* det,
57 
59  const Propagator& prop,
61  const SubLayerCrossing& crossing,
62  float window,
64  std::vector<DetGroup>& brotherresult,
65  bool checkClosest) const __attribute__((hot));
66 
67  const std::vector<const GeomDet*>& subRod(int ind) const { return (ind == 0 ? theInnerDets : theOuterDets); }
68 
69  const std::vector<const GeomDet*>& subRodBrothers(int ind) const {
70  return (ind == 0 ? theInnerDetBrothers : theOuterDetBrothers);
71  }
72 
73 private:
74  std::vector<const GeomDet*> theDets;
75  std::vector<const GeomDet*> theInnerDets;
76  std::vector<const GeomDet*> theOuterDets;
77  std::vector<const GeomDet*> theInnerDetBrothers;
78  std::vector<const GeomDet*> theOuterDetBrothers;
79 
82 
85 };
86 
87 #pragma GCC visibility pop
88 #endif
MeasurementEstimator
Definition: MeasurementEstimator.h:19
GeomDet
Definition: GeomDet.h:27
Phase2OTBarrelRod::subRod
const std::vector< const GeomDet * > & subRod(int ind) const
Definition: Phase2OTBarrelRod.h:67
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
Phase2OTBarrelRod::theInnerDetBrothers
std::vector< const GeomDet * > theInnerDetBrothers
Definition: Phase2OTBarrelRod.h:77
Phase2OTBarrelRod::theOuterDets
std::vector< const GeomDet * > theOuterDets
Definition: Phase2OTBarrelRod.h:76
ReferenceCountingPointer< Plane >
watchdog.const
const
Definition: watchdog.py:83
Phase2OTBarrelRod::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: Phase2OTBarrelRod.cc:97
SubLayerCrossings.h
Phase2OTBarrelRod::compatible
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
Definition: Phase2OTBarrelRod.cc:90
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
Phase2OTBarrelRod
Definition: Phase2OTBarrelRod.h:14
Phase2OTBarrelRod::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: Phase2OTBarrelRod.cc:247
DetRod
Definition: DetRod.h:13
Phase2OTBarrelRod::Phase2OTBarrelRod
Phase2OTBarrelRod(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 * >()) __attribute__((cold))
Definition: Phase2OTBarrelRod.cc:27
Phase2OTBarrelRod::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: Phase2OTBarrelRod.cc:86
Phase2OTBarrelRod::subRodBrothers
const std::vector< const GeomDet * > & subRodBrothers(int ind) const
Definition: Phase2OTBarrelRod.h:69
Phase2OTBarrelRod::theOuterPlane
ReferenceCountingPointer< Plane > theOuterPlane
Definition: Phase2OTBarrelRod.h:81
Phase2OTBarrelRod::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: Phase2OTBarrelRod.h:27
Phase2OTBarrelRod::theDets
std::vector< const GeomDet * > theDets
Definition: Phase2OTBarrelRod.h:74
Phase2OTBarrelRod::computeCrossings
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: Phase2OTBarrelRod.cc:164
Phase2OTBarrelRod::theInnerPlane
ReferenceCountingPointer< Plane > theInnerPlane
Definition: Phase2OTBarrelRod.h:80
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
Phase2OTBarrelRod::theInnerBinFinder
BinFinderType theInnerBinFinder
Definition: Phase2OTBarrelRod.h:83
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
Phase2OTBarrelRod::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: Phase2OTBarrelRod.cc:197
Phase2OTBarrelRod::theOuterDetBrothers
std::vector< const GeomDet * > theOuterDetBrothers
Definition: Phase2OTBarrelRod.h:78
DetRod.h
std
Definition: JetResolutionObject.h:76
GenericBinFinderInZ< float, GeomDet >
GenericBinFinderInZ.h
Phase2OTBarrelRod::theInnerDets
std::vector< const GeomDet * > theInnerDets
Definition: Phase2OTBarrelRod.h:75
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
SubLayerCrossing
Definition: SubLayerCrossings.h:7
DetGroup
Definition: DetGroup.h:41
mps_fire.result
result
Definition: mps_fire.py:311
Phase2OTBarrelRod::theOuterBinFinder
BinFinderType theOuterBinFinder
Definition: Phase2OTBarrelRod.h:84
Phase2OTBarrelRod::computeWindowSize
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot))
Definition: Phase2OTBarrelRod.cc:216
SubLayerCrossings
Definition: SubLayerCrossings.h:22
Phase2OTBarrelRod::BinFinderType
GenericBinFinderInZ< float, GeomDet > BinFinderType
Definition: Phase2OTBarrelRod.h:16