CMS 3D CMS Logo

StartingLayerFinder.h
Go to the documentation of this file.
1 #ifndef TkNavigation_StartingLayerFinder_H_
2 #define TkNavigation_StartingLayerFinder_H_
3 
7 
17 
18 #include <vector>
19 
26 
28 private:
31  typedef std::pair<float, float> Range;
32 
33 public:
35  :
36 
37  thePropagator(aPropagator),
38  theMeasurementTracker(tracker),
43 
45 
46  std::vector<const DetLayer*> startingLayers(const FTS& aFts, float dr, float dz) const;
47 
48  std::vector<const DetLayer*> startingLayers(const TrajectorySeed& aSeed) const;
49 
51  const std::vector<const ForwardDetLayer*> firstNegPixelFwdLayer() const;
52  const std::vector<const ForwardDetLayer*> firstPosPixelFwdLayer() const;
53 
54  const Propagator* propagator() const { return thePropagator; }
55 
56 private:
59  mutable bool thePixelLayersValid;
61  mutable std::vector<const ForwardDetLayer*> theFirstNegPixelFwdLayer;
62  mutable std::vector<const ForwardDetLayer*> theFirstPosPixelFwdLayer;
63 
64  void checkPixelLayers() const;
65 
66  inline bool rangesIntersect(const Range& a, const Range& b) const {
67  if (a.first > b.second || b.first > a.second)
68  return false;
69  else
70  return true;
71  }
72 };
73 #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:118
void checkPixelLayers() const
FreeTrajectoryState FTS
double a
Definition: hdecay.h:119
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