CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TIBRing.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TIBRing_h
2 #define TkDetLayers_TIBRing_h
3 
4 
8 
12 #pragma GCC visibility push(hidden)
13 class TIBRing GCC11_FINAL : public GeometricSearchDet{
14  public:
15  TIBRing(std::vector<const GeomDet*>& theGeomDets) __attribute__ ((cold));
16  ~TIBRing() __attribute__ ((cold));
17 
18  // GeometricSearchDet interface
19  virtual const BoundSurface& surface() const {return *theCylinder;}
20 
21  virtual const std::vector<const GeomDet*>& basicComponents() const {return theDets;}
22 
23  virtual const std::vector<const GeometricSearchDet*>& components() const __attribute__ ((cold));
24 
25 
26  virtual std::pair<bool, TrajectoryStateOnSurface>
29 
30 
31  virtual void
32  groupedCompatibleDetsV( const TrajectoryStateOnSurface& startingState,
33  const Propagator& prop,
35  std::vector<DetGroup> & result) const __attribute__ ((hot));
36 
37 
38  //--- Extension of the interface
39 
41  virtual const BoundCylinder& specificSurface() const {return *theCylinder;}
42 
43  private:
44  //general private methods
45 
46  void checkPeriodicity(std::vector<const GeomDet*>::const_iterator first,
47  std::vector<const GeomDet*>::const_iterator last) __attribute__ ((cold));
48 
49  void checkRadius(std::vector<const GeomDet*>::const_iterator first,
50  std::vector<const GeomDet*>::const_iterator last) __attribute__ ((cold));
51 
52  void computeHelicity() __attribute__ ((cold));
53 
54  // methods for groupedCompatibleDets implementation
57  SubRingCrossings( int ci, int ni, float nd) :
58  isValid_(true),closestIndex(ci), nextIndex(ni), nextDistance(nd) {}
59 
60  bool isValid_;
62  int nextIndex;
63  float nextDistance;
64  };
65 
66 
67  void searchNeighbors( const TrajectoryStateOnSurface& tsos,
68  const Propagator& prop,
69  const MeasurementEstimator& est,
70  const SubRingCrossings& crossings,
71  float window,
72  std::vector<DetGroup>& result) const __attribute__ ((hot));
73 
75  computeCrossings( const TrajectoryStateOnSurface& startingState,
76  PropagationDirection propDir) const __attribute__ ((hot));
77 
78  float computeWindowSize( const GeomDet* det,
79  const TrajectoryStateOnSurface& tsos,
80  const MeasurementEstimator& est) const __attribute__ ((hot));
81 
82 
83 
84 
85  private:
87  BinFinderType theBinFinder;
88 
89  std::vector<const GeomDet*> theDets;
92 };
93 
94 
95 #pragma GCC visibility pop
96 #endif
def window
Definition: svgfig.py:642
bool isValid_(value_type const &hash)
Definition: Hash.cc:72
ReferenceCountingPointer< BoundCylinder > theCylinder
Definition: TIBRing.h:90
virtual const std::vector< const GeometricSearchDet * > & components() const =0
Returns basic components, if any.
PropagationDirection
virtual const std::vector< const GeomDet * > & basicComponents() const
Definition: TIBRing.h:21
tuple result
Definition: query.py:137
int theHelicity
Definition: TIBRing.h:91
bool first
Definition: L1TdeRCT.cc:75
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: BarrelUtil.h:35
float __attribute__((vector_size(8))) float32x2_t
Definition: ExtVec.h:6
string const
Definition: compareJSON.py:14
PeriodicBinFinderInPhi< float > BinFinderType
Definition: TIBRing.h:86
volatile std::atomic< bool > shutdown_flag false
SubRingCrossings(int ci, int ni, float nd)
Definition: TIBRing.h:57
Unlimited (trivial) bounds.