CMS 3D CMS Logo

TECLayer.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TECLayer_h
2 #define TkDetLayers_TECLayer_h
3 
5 #include "TECPetal.h"
7 #include "SubLayerCrossings.h"
9 
14 #pragma GCC visibility push(hidden)
15 class TECLayer : public ForwardDetLayer {
16 public:
17  TECLayer(std::vector<const TECPetal*>& innerPetals, std::vector<const TECPetal*>& outerPetals) __attribute__((cold));
18  ~TECLayer() override __attribute__((cold));
19 
20  // GeometricSearchDet interface
21 
22  const std::vector<const GeomDet*>& basicComponents() const override { return theBasicComps; }
23 
24  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold)) { return theComps; }
25 
27  const Propagator& prop,
28  const MeasurementEstimator& est,
29  std::vector<DetGroup>& result) const override __attribute__((hot));
30 
31  // DetLayer interface
33 
34 private:
35  // private methods for the implementation of groupedCompatibleDets()
37  __attribute__((hot));
38 
39  bool addClosest(const TrajectoryStateOnSurface& tsos,
40  const Propagator& prop,
41  const MeasurementEstimator& est,
42  const SubLayerCrossing& crossing,
43  std::vector<DetGroup>& result) const __attribute__((hot));
44 
46  const Propagator& prop,
47  const MeasurementEstimator& est,
48  const SubLayerCrossing& crossing,
49  float window,
50  std::vector<DetGroup>& result,
51  bool checkClosest) const __attribute__((hot));
52 
53  const std::vector<const TECPetal*>& subLayer(int ind) const { return (ind == 0 ? theFrontComps : theBackComps); }
54 
55 protected:
56  std::vector<const GeometricSearchDet*> theComps;
57  std::vector<const GeomDet*> theBasicComps;
58 
59  std::vector<const TECPetal*> theFrontComps;
60  std::vector<const TECPetal*> theBackComps;
61 
64 
66 
69 };
70 
71 #pragma GCC visibility pop
72 #endif
std::vector< const TECPetal * > theBackComps
Definition: TECLayer.h:60
std::vector< const GeomDet * > theBasicComps
Definition: TECLayer.h:57
constexpr SubDetector subDetGeom[21]
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: TECLayer.h:62
PropagationDirection
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TECLayer.h:24
std::vector< const GeometricSearchDet * > theComps
Definition: TECLayer.h:56
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: TECLayer.cc:205
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: TECLayer.h:63
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TECLayer.cc:179
TECLayer(std::vector< const TECPetal *> &innerPetals, std::vector< const TECPetal *> &outerPetals) __attribute__((cold))
Definition: TECLayer.cc:50
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot))
Definition: TECLayer.cc:137
SubDetector subDetector() const override
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Definition: TECLayer.h:32
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
BinFinderPhi theBackBinFinder
Definition: TECLayer.h:68
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
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TECLayer.cc:99
BinFinderPhi theFrontBinFinder
Definition: TECLayer.h:67
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TECLayer.h:22
std::vector< const TECPetal * > theFrontComps
Definition: TECLayer.h:59
PeriodicBinFinderInPhi< float > BinFinderPhi
Definition: TECLayer.h:65
~TECLayer() override __attribute__((cold))
Definition: TECLayer.cc:93
const std::vector< const TECPetal * > & subLayer(int ind) const
Definition: TECLayer.h:53