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 
13 
14 public:
15 
17  const BDLC& outerBLC,
18  const FDLC& outerLeftFL,
19  const FDLC& outerRightFL,
20  const MagneticField* field,
21  float epsilon,
22  bool checkCrossingSide=true);
23 
25  const BDLC& outerBLC,
26  const BDLC& innerBLC,
27  const BDLC& allOuterBLC,
28  const BDLC& allInnerBLC,
29  const FDLC& outerLeftFL,
30  const FDLC& outerRightFL,
31  const FDLC& allOuterLeftFL,
32  const FDLC& allOuterRightFL,
33  const FDLC& innerLeftFL,
34  const FDLC& innerRightFL,
35  const FDLC& allInnerLeftFL,
36  const FDLC& allInnerRightFL,
37  const MagneticField* field,
38  float epsilon,
39  bool checkCrossingSide=true);
40 
41  // NavigableLayer interface
42  virtual std::vector<const DetLayer*>
43  nextLayers( NavigationDirection direction) const;
44 
45  virtual std::vector<const DetLayer*>
46  nextLayers( const FreeTrajectoryState& fts,
47  PropagationDirection timeDirection) const;
48 
49  virtual std::vector<const DetLayer*>
50  compatibleLayers( NavigationDirection direction) const;
51 
52  virtual std::vector<const DetLayer*>
54  PropagationDirection timeDirection) const;
55 
56  virtual void setAdditionalLink(DetLayer*, NavigationDirection direction=insideOut);
57 
58  virtual DetLayer* detLayer() const;
59  virtual void setDetLayer( DetLayer* dl);
60 
61  virtual void setInwardLinks(const BDLC& theBarrelv, const FDLC& theForwardv,TkLayerLess sorter = TkLayerLess(outsideIn));
62 
63 private:
65 
71 
76 
81 
86 
87 };
88 
89 #endif // SimpleBarrelNavigableLayer_H
std::vector< BarrelDetLayer * > BDLC
PropagationDirection
SimpleBarrelNavigableLayer(BarrelDetLayer *detLayer, const BDLC &outerBLC, const FDLC &outerLeftFL, const FDLC &outerRightFL, const MagneticField *field, float epsilon, bool checkCrossingSide=true)
std::vector< const DetLayer * > DLC
virtual void setAdditionalLink(DetLayer *, NavigationDirection direction=insideOut)
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection direction) const
std::vector< ForwardDetLayer * > FDLC
virtual std::vector< const DetLayer * > nextLayers(NavigationDirection direction) const
const double epsilon
virtual DetLayer * detLayer() const
virtual void setInwardLinks(const BDLC &theBarrelv, const FDLC &theForwardv, TkLayerLess sorter=TkLayerLess(outsideIn))
virtual void setDetLayer(DetLayer *dl)