CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SimpleForwardNavigableLayer.h
Go to the documentation of this file.
1 #ifndef TkNavigation_SimpleForwardNavigableLayer_H
2 #define TkNavigation_SimpleForwardNavigableLayer_H
3 
5 
9 class SimpleForwardNavigableLayer GCC11_FINAL : public SimpleNavigableLayer {
10 
11 public:
12 
13  SimpleForwardNavigableLayer( ForwardDetLayer* detLayer,
14  const BDLC& outerBL,
15  const FDLC& outerFL,
16  const MagneticField* field,
17  float epsilon,
18  bool checkCrossingSide=true);
19 
20  // NavigableLayer interface
21  virtual std::vector<const DetLayer*>
22  nextLayers( NavigationDirection direction) const;
23 
24  virtual std::vector<const DetLayer*>
25  nextLayers( const FreeTrajectoryState& fts,
26  PropagationDirection timeDirection) const;
27 
28  virtual std::vector<const DetLayer*>
29  compatibleLayers( NavigationDirection direction) const;
30 
31  virtual std::vector<const DetLayer*>
33  PropagationDirection dir) const {
34  int counter=0;
35  return SimpleNavigableLayer::compatibleLayers(fts,dir,counter);
36  }
37 
38  virtual void setAdditionalLink(DetLayer*, NavigationDirection direction=insideOut);
39 
40  virtual DetLayer* detLayer() const { return theDetLayer;}
41  virtual void setDetLayer( DetLayer* dl);
42 
43  virtual void setInwardLinks( const BDLC&, const FDLC&, TkLayerLess sorter = TkLayerLess(outsideIn));
44 
45 private:
47  BDLC theOuterBarrelLayers;
48  BDLC theInnerBarrelLayers;
49 
52 
55 
56 };
57 
58 #endif // SimpleForwardNavigableLayer_H
59 
60 
61 
virtual std::vector< const DetLayer * > compatibleLayers(const FreeTrajectoryState &fts, PropagationDirection dir) const
virtual std::vector< const DetLayer * > compatibleLayers(const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const GCC11_FINAL
virtual DetLayer * detLayer() const
PropagationDirection
virtual void setInwardLinks(const BDLC &, const FDLC &, TkLayerLess sorter=TkLayerLess(outsideIn))=0
tuple field
Definition: statics.py:62
virtual void setDetLayer(DetLayer *dl)=0
virtual void setAdditionalLink(DetLayer *, NavigationDirection direction=insideOut)=0
std::vector< ForwardDetLayer * > FDLC
virtual std::vector< const DetLayer * > nextLayers(NavigationDirection direction) const =0
static std::atomic< unsigned int > counter
dbl *** dir
Definition: mlp_gen.cc:35
const double epsilon
ForwardDetLayer * theDetLayer
Unlimited (trivial) bounds.