CMS 3D CMS Logo

Phase1PixelBlade.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_Phase1PixelBlade_h
2 #define TkDetLayers_Phase1PixelBlade_h
3 
4 #include "BoundDiskSector.h"
6 
8 #include "SubLayerCrossings.h"
9 
10 #include <utility>
11 
15 #pragma GCC visibility push(hidden)
16 class Phase1PixelBlade final : public GeometricSearchDet {
17 public:
18  Phase1PixelBlade(std::vector<const GeomDet*>& frontDets, std::vector<const GeomDet*>& backDets) __attribute__((cold));
19 
20  ~Phase1PixelBlade() override __attribute__((cold));
21 
22  // GeometricSearchDet interface
23  const BoundSurface& surface() const override { return *theDiskSector; }
24 
25  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
26 
27  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
28 
32  __attribute__((cold));
33 
35  const Propagator& prop,
37  std::vector<DetGroup>& result) const override __attribute__((hot));
38 
39  //Extension of the interface
40  virtual const BoundDiskSector& specificSurface() const { return *theDiskSector; }
41 
42 private:
43  // private methods for the implementation of groupedCompatibleDets()
44 
46  __attribute__((hot));
47 
48  bool addClosest(const TrajectoryStateOnSurface& tsos,
49  const Propagator& prop,
50  const MeasurementEstimator& est,
51  const SubLayerCrossing& crossing,
52  std::vector<DetGroup>& result) const __attribute__((hot));
53 
54  float computeWindowSize(const GeomDet* det,
55  const TrajectoryStateOnSurface& tsos,
56  const MeasurementEstimator& est) const;
57 
59  const Propagator& prop,
60  const MeasurementEstimator& est,
61  const SubLayerCrossing& crossing,
62  float window,
63  std::vector<DetGroup>& result,
64  bool checkClosest) const __attribute__((hot));
65 
66  bool overlap(const GlobalPoint& gpos, const GeomDet& det, float phiWin) const;
67 
68  // This 2 find methods should be substituted with the use
69  // of a GeneralBinFinderInR
70 
71  int findBin(float R, int layer) const;
72  int findBin2(GlobalPoint thispoint, int layer) const;
73 
74  GlobalPoint findPosition(int index, int diskSectorIndex) const;
75 
76  const std::vector<const GeomDet*>& subBlade(int ind) const { return (ind == 0 ? theFrontDets : theBackDets); }
77 
78  std::pair<float, float> computeRadiusRanges(const std::vector<const GeomDet*>&);
79 
80 private:
81  std::vector<const GeomDet*> theDets;
82  std::vector<const GeomDet*> theFrontDets;
83  std::vector<const GeomDet*> theBackDets;
84  std::pair<float, float> front_radius_range_;
85  std::pair<float, float> back_radius_range_;
86 
90 };
91 
92 #pragma GCC visibility pop
93 #endif
Phase1PixelBlade::computeCrossings
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: Phase1PixelBlade.cc:115
MeasurementEstimator
Definition: MeasurementEstimator.h:19
Phase1PixelBlade::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: Phase1PixelBlade.cc:68
Phase1PixelBlade::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: Phase1PixelBlade.cc:57
GeomDet
Definition: GeomDet.h:27
Phase1PixelBlade::findPosition
GlobalPoint findPosition(int index, int diskSectorIndex) const
Definition: Phase1PixelBlade.cc:271
Phase1PixelBlade::~Phase1PixelBlade
~Phase1PixelBlade() override __attribute__((cold))
Definition: Phase1PixelBlade.cc:19
Phase1PixelBlade::theDiskSector
ReferenceCountingPointer< BoundDiskSector > theDiskSector
Definition: Phase1PixelBlade.h:87
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
Phase1PixelBlade::findBin2
int findBin2(GlobalPoint thispoint, int layer) const
Definition: Phase1PixelBlade.cc:255
Surface
Definition: Surface.h:36
ReferenceCountingPointer< BoundDiskSector >
watchdog.const
const
Definition: watchdog.py:83
Phase1PixelBlade::specificSurface
virtual const BoundDiskSector & specificSurface() const
Definition: Phase1PixelBlade.h:40
Phase1PixelBlade::theFrontDiskSector
ReferenceCountingPointer< BoundDiskSector > theFrontDiskSector
Definition: Phase1PixelBlade.h:88
SubLayerCrossings.h
Phase1PixelBlade::back_radius_range_
std::pair< float, float > back_radius_range_
Definition: Phase1PixelBlade.h:85
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
Phase1PixelBlade::surface
const BoundSurface & surface() const override
The surface of the GeometricSearchDet.
Definition: Phase1PixelBlade.h:23
PeriodicBinFinderInZ.h
Phase1PixelBlade::theFrontDets
std::vector< const GeomDet * > theFrontDets
Definition: Phase1PixelBlade.h:82
Phase1PixelBlade::theBackDiskSector
ReferenceCountingPointer< BoundDiskSector > theBackDiskSector
Definition: Phase1PixelBlade.h:89
Phase1PixelBlade::computeWindowSize
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const
Definition: Phase1PixelBlade.cc:172
Phase1PixelBlade::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: Phase1PixelBlade.cc:178
Point3DBase< float, GlobalTag >
Phase1PixelBlade::front_radius_range_
std::pair< float, float > front_radius_range_
Definition: Phase1PixelBlade.h:84
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
Phase1PixelBlade::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: Phase1PixelBlade.h:25
Phase1PixelBlade::theBackDets
std::vector< const GeomDet * > theBackDets
Definition: Phase1PixelBlade.h:83
Phase1PixelBlade::computeRadiusRanges
std::pair< float, float > computeRadiusRanges(const std::vector< const GeomDet * > &)
Definition: Phase1PixelBlade.cc:276
Phase1PixelBlade::Phase1PixelBlade
Phase1PixelBlade(std::vector< const GeomDet * > &frontDets, std::vector< const GeomDet * > &backDets) __attribute__((cold))
Definition: Phase1PixelBlade.cc:21
BoundDiskSector
Definition: BoundDiskSector.h:8
Phase1PixelBlade::subBlade
const std::vector< const GeomDet * > & subBlade(int ind) const
Definition: Phase1PixelBlade.h:76
Phase1PixelBlade::findBin
int findBin(float R, int layer) const
Definition: Phase1PixelBlade.cc:240
std
Definition: JetResolutionObject.h:76
Phase1PixelBlade::compatible
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
Definition: Phase1PixelBlade.cc:61
Phase1PixelBlade::overlap
bool overlap(const GlobalPoint &gpos, const GeomDet &det, float phiWin) const
Definition: Phase1PixelBlade.cc:215
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
BoundDiskSector.h
Phase1PixelBlade
Definition: Phase1PixelBlade.h:16
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
SubLayerCrossing
Definition: SubLayerCrossings.h:7
DetGroup
Definition: DetGroup.h:41
mps_fire.result
result
Definition: mps_fire.py:303
GeometricSearchDet
Definition: GeometricSearchDet.h:17
Phase1PixelBlade::addClosest
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: Phase1PixelBlade.cc:162
dttmaxenums::R
Definition: DTTMax.h:29
Phase1PixelBlade::theDets
std::vector< const GeomDet * > theDets
Definition: Phase1PixelBlade.h:81
SubLayerCrossings
Definition: SubLayerCrossings.h:22