CMS 3D CMS Logo

SimpleForwardNavigableLayer.h

Go to the documentation of this file.
00001 #ifndef TkNavigation_SimpleForwardNavigableLayer_H
00002 #define TkNavigation_SimpleForwardNavigableLayer_H
00003 
00004 #include "RecoTracker/TkNavigation/interface/SimpleNavigableLayer.h"
00005 
00009 class SimpleForwardNavigableLayer : public SimpleNavigableLayer {
00010 
00011 public:
00012 
00013   SimpleForwardNavigableLayer( ForwardDetLayer* detLayer,
00014                                const BDLC& outerBL, 
00015                                const FDLC& outerFL, 
00016                                const MagneticField* field,
00017                                float epsilon,
00018                                bool checkCrossingSide=true);
00019 
00020   SimpleForwardNavigableLayer( ForwardDetLayer* detLayer,
00021                                const BDLC& outerBL, 
00022                                const BDLC& allOuterBL,
00023                                const BDLC& innerBL,
00024                                const BDLC& allInnerBL,
00025                                const FDLC& outerFL, 
00026                                const FDLC& allOuterFL,
00027                                const FDLC& innerFL,
00028                                const FDLC& allInnerFL,
00029                                const MagneticField* field,
00030                                float epsilon,
00031                                bool checkCrossingSide=true);
00032 
00033   // NavigableLayer interface
00034   virtual std::vector<const DetLayer*> 
00035   nextLayers( NavigationDirection direction) const;
00036 
00037   virtual std::vector<const DetLayer*> 
00038   nextLayers( const FreeTrajectoryState& fts, 
00039               PropagationDirection timeDirection) const;
00040 
00041   virtual std::vector<const DetLayer*> 
00042   compatibleLayers( NavigationDirection direction) const;
00043 
00044   virtual std::vector<const DetLayer*> 
00045   compatibleLayers( const FreeTrajectoryState& fts, 
00046                     PropagationDirection timeDirection) const;
00047 
00048   virtual void setAdditionalLink(DetLayer*, NavigationDirection direction=insideOut);
00049 
00050   virtual DetLayer* detLayer() const;
00051   virtual void   setDetLayer( DetLayer* dl);
00052 
00053   virtual void setInwardLinks( const BDLC&, const FDLC&, TkLayerLess sorter = TkLayerLess(outsideIn));
00054 
00055 private:
00056   bool areAllReachableLayersSet;
00057 
00058   ForwardDetLayer*  theDetLayer;
00059   BDLC              theOuterBarrelLayers;
00060   BDLC              theAllOuterBarrelLayers;
00061   BDLC              theInnerBarrelLayers;
00062   BDLC              theAllInnerBarrelLayers;
00063   FDLC              theOuterForwardLayers;
00064   FDLC              theAllOuterForwardLayers;
00065   FDLC              theInnerForwardLayers;
00066   FDLC              theAllInnerForwardLayers;
00067   DLC               theOuterLayers;
00068   DLC               theInnerLayers;
00069   DLC               theAllOuterLayers;
00070   DLC               theAllInnerLayers;
00071 
00072 };
00073 
00074 #endif // SimpleForwardNavigableLayer_H
00075 
00076 
00077 

Generated on Tue Jun 9 17:45:54 2009 for CMSSW by  doxygen 1.5.4