CMS 3D CMS Logo

CompositeTECPetal.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_CompositeTECPetal_h
2 #define TkDetLayers_CompositeTECPetal_h
3 
5 
6 #include "TECWedge.h"
7 
9 
10 #include "SubLayerCrossings.h"
11 
13 
17 #pragma GCC visibility push(hidden)
18 class CompositeTECPetal final : public GeometricSearchDet {
19 public:
20  struct WedgePar {
22  };
23 
24  CompositeTECPetal(std::vector<const TECWedge*>& innerWedges, std::vector<const TECWedge*>& outerWedges)
25  __attribute__((cold));
26 
27  ~CompositeTECPetal() override __attribute__((cold));
28 
29  // GeometricSearchDet interface
31  //Extension of the interface
32  virtual const BoundDiskSector& specificSurface() const final { return *theDiskSector; }
33 
34  // GeometricSearchDet interface
35  const std::vector<const GeomDet*>& basicComponents() const override { return theBasicComps; }
36 
37  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold)) { return theComps; }
38 
39  std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
40  const Propagator&,
41  const MeasurementEstimator&) const override
42  __attribute__((cold));
43 
44  void groupedCompatibleDetsV(const TrajectoryStateOnSurface& startingState,
45  const Propagator& prop,
46  const MeasurementEstimator& est,
47  std::vector<DetGroup>& result) const override __attribute__((hot));
48 
49 private:
51 
52  // private methods for the implementation of groupedCompatibleDets()
55 
56  bool addClosest(const TrajectoryStateOnSurface& tsos,
57  const Propagator& prop,
58  const MeasurementEstimator& est,
59  const SubLayerCrossing& crossing,
60  std::vector<DetGroup>& result) const __attribute__((hot)) dso_internal;
61 
63  const Propagator& prop,
64  const MeasurementEstimator& est,
65  const SubLayerCrossing& crossing,
66  float window,
67  std::vector<DetGroup>& result,
68  bool checkClosest) const __attribute__((hot)) dso_internal;
69 
70  static float computeWindowSize(const GeomDet* det,
71  const TrajectoryStateOnSurface& tsos,
73 
74  int findBin(float R, int layer) const dso_internal;
75 
76  WedgePar const& findPar(int index, int diskSectorType) const dso_internal {
77  return (diskSectorType == 0) ? theFrontPars[index] : theBackPars[index];
78  }
79 
80  const std::vector<const TECWedge*>& subLayer(int ind) const dso_internal {
81  return (ind == 0 ? theFrontComps : theBackComps);
82  }
83 
84 private:
85  std::vector<const GeomDet*> theBasicComps;
86  std::vector<const GeometricSearchDet*> theComps;
87 
88  std::vector<const TECWedge*> theFrontComps;
89  std::vector<const TECWedge*> theBackComps;
90 
91  std::vector<float> theFrontBoundaries;
92  std::vector<float> theBackBoundaries;
93  std::vector<WedgePar> theFrontPars;
94  std::vector<WedgePar> theBackPars;
95 
98 };
99 
100 #pragma GCC visibility pop
101 #endif
MeasurementEstimator
Definition: MeasurementEstimator.h:19
Visibility.h
CompositeTECPetal
Definition: CompositeTECPetal.h:18
CompositeTECPetal::theBasicComps
std::vector< const GeomDet * > theBasicComps
Definition: CompositeTECPetal.h:85
GeomDet
Definition: GeomDet.h:27
CompositeTECPetal::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: CompositeTECPetal.cc:135
CompositeTECPetal::theBackSector
ReferenceCountingPointer< BoundDiskSector > theBackSector
Definition: CompositeTECPetal.h:97
CompositeTECPetal::theFrontPars
std::vector< WedgePar > theFrontPars
Definition: CompositeTECPetal.h:93
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
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
ReferenceCountingPointer< BoundDiskSector >
watchdog.const
const
Definition: watchdog.py:83
SubLayerCrossings.h
CompositeTECPetal::subLayer
const std::vector< const TECWedge * > & subLayer(int ind) const
Definition: CompositeTECPetal.h:80
CompositeTECPetal::findBin
int findBin(float R, int layer) const
Definition: CompositeTECPetal.cc:288
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
CompositeTECPetal::WedgePar::theR
float theR
Definition: CompositeTECPetal.h:21
CompositeTECPetal::theFrontComps
std::vector< const TECWedge * > theFrontComps
Definition: CompositeTECPetal.h:88
CompositeTECPetal::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: CompositeTECPetal.h:37
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
CompositeTECPetal::theFrontSector
ReferenceCountingPointer< BoundDiskSector > theFrontSector
Definition: CompositeTECPetal.h:96
CompositeTECPetal::CompositeTECPetal
CompositeTECPetal(std::vector< const TECWedge * > &innerWedges, std::vector< const TECWedge * > &outerWedges) __attribute__((cold))
Definition: CompositeTECPetal.cc:80
CompositeTECPetal::~CompositeTECPetal
~CompositeTECPetal() override __attribute__((cold))
Definition: CompositeTECPetal.cc:121
CompositeTECPetal::specificSurface
virtual const BoundDiskSector & specificSurface() const final
Definition: CompositeTECPetal.h:32
CompositeTECPetal::surface
const BoundSurface & surface() const final
The surface of the GeometricSearchDet.
Definition: CompositeTECPetal.h:30
dso_internal
#define dso_internal
Definition: Visibility.h:13
CompositeTECPetal::findPar
WedgePar const & findPar(int index, int diskSectorType) const
Definition: CompositeTECPetal.h:76
CompositeTECPetal::theComps
std::vector< const GeometricSearchDet * > theComps
Definition: CompositeTECPetal.h:86
CompositeTECPetal::theBackComps
std::vector< const TECWedge * > theBackComps
Definition: CompositeTECPetal.h:89
CompositeTECPetal::computeCrossings
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
Definition: CompositeTECPetal.cc:174
CompositeTECPetal::theBackBoundaries
std::vector< float > theBackBoundaries
Definition: CompositeTECPetal.h:92
BoundDiskSector
Definition: BoundDiskSector.h:7
CompositeTECPetal::WedgePar::thetaMax
float thetaMax
Definition: CompositeTECPetal.h:21
CompositeTECPetal::WedgePar::thetaMin
float thetaMin
Definition: CompositeTECPetal.h:21
CompositeTECPetal::computeWindowSize
static float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) __attribute__((hot))
Definition: CompositeTECPetal.cc:282
CompositeTECPetal::theDiskSector
ReferenceCountingPointer< BoundDiskSector > theDiskSector
Definition: CompositeTECPetal.h:50
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
CompositeTECPetal::WedgePar
Definition: CompositeTECPetal.h:20
CompositeTECPetal::compatible
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
Definition: CompositeTECPetal.cc:128
BoundDiskSector.h
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
SubLayerCrossing
Definition: SubLayerCrossings.h:7
TECWedge.h
mps_fire.result
result
Definition: mps_fire.py:311
GeometricSearchDet
Definition: GeometricSearchDet.h:17
CompositeTECPetal::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: CompositeTECPetal.h:35
CompositeTECPetal::theBackPars
std::vector< WedgePar > theBackPars
Definition: CompositeTECPetal.h:94
dttmaxenums::R
Definition: DTTMax.h:29
CompositeTECPetal::addClosest
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: CompositeTECPetal.cc:217
CompositeTECPetal::theFrontBoundaries
std::vector< float > theFrontBoundaries
Definition: CompositeTECPetal.h:91
SubLayerCrossings
Definition: SubLayerCrossings.h:22
CompositeTECPetal::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: CompositeTECPetal.cc:231