CMS 3D CMS Logo

PixelForwardLayerPhase1.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_PixelForwardLayerPhase1_h
2 #define TkDetLayers_PixelForwardLayerPhase1_h
3 
5 #include "Phase1PixelBlade.h"
7 
12 #pragma GCC visibility push(hidden)
13 
15 public:
16  PixelForwardLayerPhase1(std::vector<const Phase1PixelBlade*>& blades);
17  ~PixelForwardLayerPhase1() override;
18 
19  // GeometricSearchDet interface
20 
21  const std::vector<const GeomDet*>& basicComponents() const override { return theBasicComps; }
22 
23  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold)) { return theComps; }
24 
26  const Propagator& prop,
27  const MeasurementEstimator& est,
28  std::vector<DetGroup>& result) const override __attribute__((hot));
29 
30  // DetLayer interface
32 
33 private:
34  // methods for groupedCompatibleDets implementation
35  static int computeHelicity(const GeometricSearchDet* firstBlade, const GeometricSearchDet* secondBlade);
36 
39  SubTurbineCrossings(int ci, int ni, float nd) : isValid(true), closestIndex(ci), nextIndex(ni), nextDistance(nd) {}
40 
41  bool isValid;
43  int nextIndex;
44  float nextDistance;
45  };
46 
48  const Propagator& prop,
49  const MeasurementEstimator& est,
50  const SubTurbineCrossings& crossings,
51  float window,
52  std::vector<DetGroup>& result,
53  bool innerDisk) const __attribute__((hot));
54 
56  PropagationDirection propDir,
57  bool innerDisk) const __attribute__((hot));
58 
59  static float computeWindowSize(const GeomDet* det,
60  const TrajectoryStateOnSurface& tsos,
61  const MeasurementEstimator& est);
62 
63 private:
65  // need separate objects for inner and outer disk
66  // or a smarter bin finder class
69  unsigned int _num_innerpanels;
70  unsigned int _num_outerpanels;
71 
72  std::vector<float> theBinFinder_byR;
73  std::vector<unsigned int> theBinFinder_byR_index;
74  std::vector<unsigned int> theBinFinder_byR_nextindex;
75  // bool useR;
76  std::vector<const GeometricSearchDet*> theComps;
77  std::vector<const GeomDet*> theBasicComps;
78 };
79 
80 #pragma GCC visibility pop
81 #endif
PixelForwardLayerPhase1::theBinFinder_byR_nextindex
std::vector< unsigned int > theBinFinder_byR_nextindex
Definition: PixelForwardLayerPhase1.h:74
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
MeasurementEstimator
Definition: MeasurementEstimator.h:19
PixelForwardLayerPhase1::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: PixelForwardLayerPhase1.h:23
PeriodicBinFinderInPhi.h
funct::false
false
Definition: Factorize.h:34
PixelForwardLayerPhase1::BinFinderType
PeriodicBinFinderInPhi< float > BinFinderType
Definition: PixelForwardLayerPhase1.h:64
GeomDet
Definition: GeomDet.h:27
PixelForwardLayerPhase1::_num_innerpanels
unsigned int _num_innerpanels
Definition: PixelForwardLayerPhase1.h:69
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
PixelForwardLayerPhase1::SubTurbineCrossings::nextIndex
int nextIndex
Definition: PixelForwardLayerPhase1.h:43
PixelForwardLayerPhase1::~PixelForwardLayerPhase1
~PixelForwardLayerPhase1() override
Definition: PixelForwardLayerPhase1.cc:91
PixelForwardLayerPhase1::SubTurbineCrossings::SubTurbineCrossings
SubTurbineCrossings(int ci, int ni, float nd)
Definition: PixelForwardLayerPhase1.h:39
PixelForwardLayerPhase1::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: PixelForwardLayerPhase1.cc:98
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
PixelForwardLayerPhase1::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: PixelForwardLayerPhase1.h:21
PixelForwardLayerPhase1::SubTurbineCrossings
Definition: PixelForwardLayerPhase1.h:37
PixelForwardLayerPhase1::SubTurbineCrossings::nextDistance
float nextDistance
Definition: PixelForwardLayerPhase1.h:44
PixelForwardLayerPhase1::theComps
std::vector< const GeometricSearchDet * > theComps
Definition: PixelForwardLayerPhase1.h:76
PixelForwardLayerPhase1::SubTurbineCrossings::SubTurbineCrossings
SubTurbineCrossings()
Definition: PixelForwardLayerPhase1.h:38
watchdog.const
const
Definition: watchdog.py:83
PixelForwardLayerPhase1::computeHelicity
static int computeHelicity(const GeometricSearchDet *firstBlade, const GeometricSearchDet *secondBlade)
Definition: PixelForwardLayerPhase1.cc:294
PixelForwardLayerPhase1::searchNeighbors
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubTurbineCrossings &crossings, float window, std::vector< DetGroup > &result, bool innerDisk) const __attribute__((hot))
Definition: PixelForwardLayerPhase1.cc:220
PixelForwardLayerPhase1::subDetector
SubDetector subDetector() const override
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel,...
Definition: PixelForwardLayerPhase1.h:31
PixelForwardLayerPhase1::theBasicComps
std::vector< const GeomDet * > theBasicComps
Definition: PixelForwardLayerPhase1.h:77
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
GeomDetEnumerators::P1PXEC
Definition: GeomDetEnumerators.h:26
Phase1PixelBlade.h
PixelForwardLayerPhase1::SubTurbineCrossings::closestIndex
int closestIndex
Definition: PixelForwardLayerPhase1.h:42
funct::true
true
Definition: Factorize.h:173
PixelForwardLayerPhase1::PixelForwardLayerPhase1
PixelForwardLayerPhase1(std::vector< const Phase1PixelBlade * > &blades)
Definition: PixelForwardLayerPhase1.cc:26
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
PixelForwardLayerPhase1::_num_outerpanels
unsigned int _num_outerpanels
Definition: PixelForwardLayerPhase1.h:70
PixelForwardLayerPhase1::computeWindowSize
static float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: PixelForwardLayerPhase1.cc:367
PixelForwardLayerPhase1::theBinFinder_byR
std::vector< float > theBinFinder_byR
Definition: PixelForwardLayerPhase1.h:72
PixelForwardLayerPhase1::theBinFinder_inner
BinFinderType theBinFinder_inner
Definition: PixelForwardLayerPhase1.h:67
PixelForwardLayerPhase1::SubTurbineCrossings::isValid
bool isValid
Definition: PixelForwardLayerPhase1.h:41
ForwardDetLayer
Definition: ForwardDetLayer.h:22
PeriodicBinFinderInPhi< float >
GeomDetEnumerators::subDetGeom
constexpr SubDetector subDetGeom[21]
Definition: GeomDetEnumerators.h:40
ForwardDetLayer.h
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
mps_fire.result
result
Definition: mps_fire.py:303
PixelForwardLayerPhase1
Definition: PixelForwardLayerPhase1.h:14
GeometricSearchDet
Definition: GeometricSearchDet.h:17
PixelForwardLayerPhase1::theBinFinder_outer
BinFinderType theBinFinder_outer
Definition: PixelForwardLayerPhase1.h:68
PixelForwardLayerPhase1::computeCrossings
SubTurbineCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir, bool innerDisk) const __attribute__((hot))
Definition: PixelForwardLayerPhase1.cc:299
PixelForwardLayerPhase1::theBinFinder_byR_index
std::vector< unsigned int > theBinFinder_byR_index
Definition: PixelForwardLayerPhase1.h:73