CMS 3D CMS Logo

PixelForwardLayer.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_PixelForwardLayer_h
2 #define TkDetLayers_PixelForwardLayer_h
3 
4 
6 #include "PixelBlade.h"
8 
9 
14 #pragma GCC visibility push(hidden)
15 class PixelForwardLayer final : public ForwardDetLayer {
16  public:
17  PixelForwardLayer(std::vector<const PixelBlade*>& blades);
18  ~PixelForwardLayer() override;
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 
35  private:
36  // methods for groupedCompatibleDets implementation
37  static int computeHelicity(const GeometricSearchDet* firstBlade,const GeometricSearchDet* secondBlade);
38 
41  SubTurbineCrossings( int ci, int ni, float nd) :
43 
44  bool isValid;
46  int nextIndex;
47  float nextDistance;
48  };
49 
50  void searchNeighbors( const TrajectoryStateOnSurface& tsos,
51  const Propagator& prop,
52  const MeasurementEstimator& est,
53  const SubTurbineCrossings& crossings,
54  float window,
55  std::vector<DetGroup>& result) const __attribute__ ((hot));
56 
58  computeCrossings( const TrajectoryStateOnSurface& startingState,
59  PropagationDirection propDir) const __attribute__ ((hot));
60 
61  static float computeWindowSize( const GeomDet* det,
62  const TrajectoryStateOnSurface& tsos,
63  const MeasurementEstimator& est);
64 
65  private:
67  BinFinderType theBinFinder;
68 
69  std::vector<const GeometricSearchDet*> theComps;
70  std::vector<const GeomDet*> theBasicComps;
71 };
72 
73 
74 #pragma GCC visibility pop
75 #endif
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
PropagationDirection
~PixelForwardLayer() override
static int computeHelicity(const GeometricSearchDet *firstBlade, const GeometricSearchDet *secondBlade)
PixelForwardLayer(std::vector< const PixelBlade * > &blades)
SubDetector subDetector() const override
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
PeriodicBinFinderInPhi< float > BinFinderType
std::vector< const GeometricSearchDet * > theComps
double f[11][100]
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
SubDetector subDetGeom[21]
static float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
const std::vector< const GeomDet * > & basicComponents() const override
SubTurbineCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot))
SubTurbineCrossings(int ci, int ni, float nd)
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubTurbineCrossings &crossings, float window, std::vector< DetGroup > &result) const __attribute__((hot))
BinFinderType theBinFinder
std::vector< const GeomDet * > theBasicComps