CMS 3D CMS Logo

StartingLayerFinder.h
Go to the documentation of this file.
1 #ifndef TkNavigation_StartingLayerFinder_H_
2 #define TkNavigation_StartingLayerFinder_H_
3 
4 
8 
9 
19 
20 #include <vector>
21 
28 
30 
31 private:
32 
35  typedef std::pair<float, float> Range;
36 
37 public:
38 
40 
41  thePropagator(aPropagator),
42  theMeasurementTracker(tracker),
47 
49 
50  std::vector<const DetLayer*> startingLayers(const FTS& aFts, float dr, float dz) const;
51 
52 
53  std::vector<const DetLayer*> startingLayers(const TrajectorySeed& aSeed) const;
54 
56  const std::vector<const ForwardDetLayer*> firstNegPixelFwdLayer() const;
57  const std::vector<const ForwardDetLayer*> firstPosPixelFwdLayer() const;
58 
59  const Propagator* propagator() const {return thePropagator;}
60 
61 
62 
63 private:
64 
67  mutable bool thePixelLayersValid;
69  mutable std::vector<const ForwardDetLayer*> theFirstNegPixelFwdLayer;
70  mutable std::vector<const ForwardDetLayer*> theFirstPosPixelFwdLayer;
71 
72 
73  void checkPixelLayers() const;
74 
75 
76 
77  inline bool rangesIntersect( const Range& a, const Range& b) const {
78  if ( a.first > b.second || b.first > a.second) return false;
79  else return true;
80  }
81 
82 
83 
84 
85 };
86 #endif //TR_StartingLayerFinder_H_
bool rangesIntersect(const Range &a, const Range &b) const
TrajectoryStateOnSurface TSOS
const BarrelDetLayer * theFirstPixelBarrelLayer
const std::vector< const ForwardDetLayer * > firstPosPixelFwdLayer() const
std::vector< const ForwardDetLayer * > theFirstNegPixelFwdLayer
#define nullptr
const BarrelDetLayer * firstPixelBarrelLayer() const
std::pair< float, float > Range
const Propagator * propagator() const
const MeasurementTracker * theMeasurementTracker
std::vector< const ForwardDetLayer * > theFirstPosPixelFwdLayer
double b
Definition: hdecay.h:120
void checkPixelLayers() const
FreeTrajectoryState FTS
double a
Definition: hdecay.h:121
std::vector< const DetLayer * > startingLayers(const FTS &aFts, float dr, float dz) const
StartingLayerFinder(const Propagator *aPropagator, const MeasurementTracker *tracker)
const std::vector< const ForwardDetLayer * > firstNegPixelFwdLayer() const
const Propagator * thePropagator