CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SimpleBarrelNavigableLayer.h
Go to the documentation of this file.
1 #ifndef TkNavigation_SimpleBarrelNavigableLayer_H
2 #define TkNavigation_SimpleBarrelNavigableLayer_H
3 
5 
6 #include <vector>
7 
8 
12 class SimpleBarrelNavigableLayer GCC11_FINAL : public SimpleNavigableLayer {
13 
14 public:
15 
16  SimpleBarrelNavigableLayer( BarrelDetLayer* detLayer,
17  const BDLC& outerBLC,
18  const FDLC& outerLeftFL,
19  const FDLC& outerRightFL,
20  const MagneticField* field,
21  float epsilon,
22  bool checkCrossingSide=true);
23 
24 
25  // NavigableLayer interface
26  virtual std::vector<const DetLayer*>
27  nextLayers( NavigationDirection direction) const;
28 
29  virtual std::vector<const DetLayer*>
30  nextLayers( const FreeTrajectoryState& fts,
31  PropagationDirection timeDirection) const;
32 
33  virtual std::vector<const DetLayer*>
34  compatibleLayers( NavigationDirection direction) const;
35 
36  virtual std::vector<const DetLayer*>
38  PropagationDirection dir) const {
39  int counter=0;
40  return SimpleNavigableLayer::compatibleLayers(fts,dir,counter);
41  }
42 
43  virtual void setAdditionalLink(DetLayer*, NavigationDirection direction=insideOut);
44 
45  virtual DetLayer* detLayer() const { return theDetLayer;}
46  virtual void setDetLayer( DetLayer* dl);
47 
48  virtual void setInwardLinks(const BDLC& theBarrelv, const FDLC& theForwardv,TkLayerLess sorter = TkLayerLess(outsideIn));
49 
50 private:
54 
57 
60 
65 
66 };
67 
68 #endif // SimpleBarrelNavigableLayer_H
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
BarrelDetLayer * theDetLayer
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
Unlimited (trivial) bounds.