CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Phase2OTBarrelRod.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_Phase2OTBarrelRod_h
2 #define TkDetLayers_Phase2OTBarrelRod_h
3 
4 
8 #include "SubLayerCrossings.h"
9 
10 
15 #pragma GCC visibility push(hidden)
16 class Phase2OTBarrelRod final : public DetRod {
17  public:
19 
20  Phase2OTBarrelRod(std::vector<const GeomDet*>& innerDets,
21  std::vector<const GeomDet*>& outerDets,
22  std::vector<const GeomDet*>& innerDetBrothers,
23  std::vector<const GeomDet*>& outerDetBrothers) __attribute__ ((cold));
25 
26  // GeometricSearchDet interface
27 
28  virtual const std::vector<const GeomDet*>& basicComponents() const {return theDets;}
29 
30  virtual const std::vector<const GeometricSearchDet*>& components() const __attribute__ ((cold));
31 
32 
33  virtual std::pair<bool, TrajectoryStateOnSurface>
36 
38  const Propagator& prop,
40  std::vector<DetGroup> & result) const __attribute__ ((hot));
41 
42 
43  private:
44  // private methods for the implementation of groupedCompatibleDets()
45 
47  PropagationDirection propDir) const __attribute__ ((hot));
48 
50  const Propagator& prop,
52  const SubLayerCrossing& crossing,
53  std::vector<DetGroup>& result,
54  std::vector<DetGroup>& brotherresult) const __attribute__ ((hot));
55 
56  float computeWindowSize( const GeomDet* det,
59 
60 
62  const Propagator& prop,
64  const SubLayerCrossing& crossing,
65  float window,
66  std::vector<DetGroup>& result,
67  std::vector<DetGroup>& brotherresult,
68  bool checkClosest) const __attribute__ ((hot));
69 
70  const std::vector<const GeomDet*>& subRod( int ind) const {
71  return (ind==0 ? theInnerDets : theOuterDets);
72  }
73 
74  const std::vector<const GeomDet*>& subRodBrothers( int ind) const {
75  return (ind==0 ? theInnerDetBrothers : theOuterDetBrothers);
76  }
77 
78 
79  private:
80  std::vector<const GeomDet*> theDets;
81  std::vector<const GeomDet*> theInnerDets;
82  std::vector<const GeomDet*> theOuterDets;
83  std::vector<const GeomDet*> theInnerDetBrothers;
84  std::vector<const GeomDet*> theOuterDetBrothers;
85 
88 
91 
92 };
93 
94 
95 #pragma GCC visibility pop
96 #endif
def window
Definition: svgfig.py:642
Phase2OTBarrelRod(std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets, std::vector< const GeomDet * > &innerDetBrothers, std::vector< const GeomDet * > &outerDetBrothers) __attribute__((cold))
BinFinderType theOuterBinFinder
~Phase2OTBarrelRod() __attribute__((cold))
virtual const std::vector< const GeomDet * > & basicComponents() const
PropagationDirection
std::vector< const GeomDet * > theDets
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const __attribute__((hot))
BinFinderType theInnerBinFinder
tuple result
Definition: query.py:137
std::vector< const GeomDet * > theOuterDetBrothers
virtual std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const __attribute__((cold))
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult, bool checkClosest) const __attribute__((hot))
GenericBinFinderInZ< float, GeomDet > BinFinderType
virtual const std::vector< const GeometricSearchDet * > & components() const __attribute__((cold))
Returns basic components, if any.
const std::vector< const GeomDet * > & subRodBrothers(int ind) const
Definition: DetRod.h:13
float __attribute__((vector_size(8))) float32x2_t
Definition: ExtVec.h:12
ReferenceCountingPointer< Plane > theOuterPlane
string const
Definition: compareJSON.py:14
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot))
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot))
ReferenceCountingPointer< Plane > theInnerPlane
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result, std::vector< DetGroup > &brotherresult) const __attribute__((hot))
const std::vector< const GeomDet * > & subRod(int ind) const
std::vector< const GeomDet * > theOuterDets
std::vector< const GeomDet * > theInnerDets
std::vector< const GeomDet * > theInnerDetBrothers