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 public:
28  : thePropagator(aPropagator),
32 
33  std::vector<const DetLayer*> operator()(const FreeTrajectoryState& aFts, float dr, float dz) const;
34 
35 private:
37  const std::vector<const ForwardDetLayer*> firstNegPixelFwdLayer() const;
38  const std::vector<const ForwardDetLayer*> firstPosPixelFwdLayer() const;
39 
42  mutable bool thePixelLayersValid = false;
43  mutable const BarrelDetLayer* theFirstPixelBarrelLayer = nullptr;
44  mutable std::vector<const ForwardDetLayer*> theFirstNegPixelFwdLayer;
45  mutable std::vector<const ForwardDetLayer*> theFirstPosPixelFwdLayer;
46 
47  void checkPixelLayers() const;
48 };
49 
50 #endif
const std::vector< const ForwardDetLayer * > firstNegPixelFwdLayer() const
MeasurementTracker const & theMeasurementTracker
const BarrelDetLayer * theFirstPixelBarrelLayer
std::vector< const ForwardDetLayer * > theFirstNegPixelFwdLayer
std::vector< const DetLayer * > operator()(const FreeTrajectoryState &aFts, float dr, float dz) const
const std::vector< const ForwardDetLayer * > firstPosPixelFwdLayer() const
const BarrelDetLayer * firstPixelBarrelLayer() const
std::vector< const ForwardDetLayer * > theFirstPosPixelFwdLayer
StartingLayerFinder(Propagator const &aPropagator, MeasurementTracker const &tracker)
Propagator const & thePropagator