CMS 3D CMS Logo

TIBRing.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TIBRing_h
2 #define TkDetLayers_TIBRing_h
3 
7 
11 #pragma GCC visibility push(hidden)
12 class TIBRing final : public GeometricSearchDet {
13 public:
14  TIBRing(std::vector<const GeomDet*>& theGeomDets) __attribute__((cold));
15  ~TIBRing() override __attribute__((cold));
16 
17  // GeometricSearchDet interface
18  const BoundSurface& surface() const override { return *theCylinder; }
19 
20  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
21 
22  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
23 
27  __attribute__((cold));
28 
30  const Propagator& prop,
32  std::vector<DetGroup>& result) const override __attribute__((hot));
33 
34  //--- Extension of the interface
35 
37  virtual const BoundCylinder& specificSurface() const { return *theCylinder; }
38 
39 private:
40  //general private methods
41 
42  void checkPeriodicity(std::vector<const GeomDet*>::const_iterator first,
43  std::vector<const GeomDet*>::const_iterator last) __attribute__((cold));
44 
45  void checkRadius(std::vector<const GeomDet*>::const_iterator first, std::vector<const GeomDet*>::const_iterator last)
46  __attribute__((cold));
47 
48  void computeHelicity() __attribute__((cold));
49 
50  // methods for groupedCompatibleDets implementation
53  SubRingCrossings(int ci, int ni, float nd) : isValid_(true), closestIndex(ci), nextIndex(ni), nextDistance(nd) {}
54 
55  bool isValid_;
57  int nextIndex;
58  float nextDistance;
59  };
60 
62  const Propagator& prop,
63  const MeasurementEstimator& est,
64  const SubRingCrossings& crossings,
65  float window,
66  std::vector<DetGroup>& result) const __attribute__((hot));
67 
69  __attribute__((hot));
70 
71  float computeWindowSize(const GeomDet* det,
72  const TrajectoryStateOnSurface& tsos,
73  const MeasurementEstimator& est) const __attribute__((hot));
74 
75 private:
78 
79  std::vector<const GeomDet*> theDets;
82 };
83 
84 #pragma GCC visibility pop
85 #endif
TIBRing::checkRadius
void checkRadius(std::vector< const GeomDet * >::const_iterator first, std::vector< const GeomDet * >::const_iterator last) __attribute__((cold))
Definition: TIBRing.cc:49
MeasurementEstimator
Definition: MeasurementEstimator.h:19
PeriodicBinFinderInPhi.h
funct::false
false
Definition: Factorize.h:34
GeomDet
Definition: GeomDet.h:27
TIBRing
Definition: TIBRing.h:12
TIBRing::SubRingCrossings::closestIndex
int closestIndex
Definition: TIBRing.h:56
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
GeometricSearchDet.h
TIBRing::SubRingCrossings::SubRingCrossings
SubRingCrossings(int ci, int ni, float nd)
Definition: TIBRing.h:53
edm::hash_detail::isValid_
bool isValid_(value_type const &hash)
Definition: Hash.cc:63
Surface
Definition: Surface.h:36
ReferenceCountingPointer< BoundCylinder >
BoundCylinder.h
watchdog.const
const
Definition: watchdog.py:83
dqmdumpme.first
first
Definition: dqmdumpme.py:55
TIBRing::TIBRing
TIBRing(std::vector< const GeomDet * > &theGeomDets) __attribute__((cold))
Definition: TIBRing.cc:21
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
dqmdumpme.last
last
Definition: dqmdumpme.py:56
TIBRing::SubRingCrossings::isValid_
bool isValid_
Definition: TIBRing.h:55
TIBRing::compatible
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold))
Definition: TIBRing.cc:102
TIBRing::theBinFinder
BinFinderType theBinFinder
Definition: TIBRing.h:77
TIBRing::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TIBRing.h:20
funct::true
true
Definition: Factorize.h:173
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
TIBRing::SubRingCrossings::nextDistance
float nextDistance
Definition: TIBRing.h:58
TIBRing::theCylinder
ReferenceCountingPointer< BoundCylinder > theCylinder
Definition: TIBRing.h:80
TIBRing::~TIBRing
~TIBRing() override __attribute__((cold))
Definition: TIBRing.cc:100
TIBRing::theDets
std::vector< const GeomDet * > theDets
Definition: TIBRing.h:79
TIBRing::computeCrossings
SubRingCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot))
Definition: TIBRing.cc:197
std
Definition: JetResolutionObject.h:76
TIBRing::SubRingCrossings::SubRingCrossings
SubRingCrossings()
Definition: TIBRing.h:52
PeriodicBinFinderInPhi< float >
TIBRing::computeWindowSize
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot))
Definition: TIBRing.cc:236
TIBRing::specificSurface
virtual const BoundCylinder & specificSurface() const
Return the ring surface as a.
Definition: TIBRing.h:37
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
BoundCylinder
TIBRing::SubRingCrossings
Definition: TIBRing.h:51
DetGroup
Definition: DetGroup.h:41
mps_fire.result
result
Definition: mps_fire.py:303
TIBRing::checkPeriodicity
void checkPeriodicity(std::vector< const GeomDet * >::const_iterator first, std::vector< const GeomDet * >::const_iterator last) __attribute__((cold))
Definition: TIBRing.cc:64
TIBRing::surface
const BoundSurface & surface() const override
The surface of the GeometricSearchDet.
Definition: TIBRing.h:18
GeometricSearchDet
Definition: GeometricSearchDet.h:17
TIBRing::theHelicity
int theHelicity
Definition: TIBRing.h:81
TIBRing::SubRingCrossings::nextIndex
int nextIndex
Definition: TIBRing.h:57
TIBRing::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TIBRing.cc:45
TIBRing::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TIBRing.cc:109
TIBRing::searchNeighbors
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubRingCrossings &crossings, float window, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TIBRing.cc:155
TIBRing::BinFinderType
PeriodicBinFinderInPhi< float > BinFinderType
Definition: TIBRing.h:76
TIBRing::computeHelicity
void computeHelicity() __attribute__((cold))
Definition: TIBRing.cc:85