00001 #ifndef TkDetLayers_GeometricSearchTracker_h 00002 #define TkDetLayers_GeometricSearchTracker_h 00003 00004 #include "TrackingTools/DetLayers/interface/BarrelDetLayer.h" 00005 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h" 00006 00007 00012 class GeometricSearchTracker { 00013 public: 00014 00015 GeometricSearchTracker(const std::vector<BarrelDetLayer*>& pxlBar, 00016 const std::vector<BarrelDetLayer*>& tib, 00017 const std::vector<BarrelDetLayer*>& tob, 00018 const std::vector<ForwardDetLayer*>& negPxlFwd, 00019 const std::vector<ForwardDetLayer*>& negTid, 00020 const std::vector<ForwardDetLayer*>& negTec, 00021 const std::vector<ForwardDetLayer*>& posPxlFwd, 00022 const std::vector<ForwardDetLayer*>& posTid, 00023 const std::vector<ForwardDetLayer*>& posTec); 00024 00025 ~GeometricSearchTracker(); 00026 00027 std::vector<DetLayer*> const & allLayers() const {return theAllLayers;} 00028 00029 std::vector<BarrelDetLayer*> const & barrelLayers() const {return theBarrelLayers;} 00030 00031 std::vector<ForwardDetLayer*> const & forwardLayers() const {return theForwardLayers;} 00032 std::vector<ForwardDetLayer*> const & negForwardLayers() const {return theNegForwardLayers;} 00033 std::vector<ForwardDetLayer*> const & posForwardLayers() const {return thePosForwardLayers;} 00034 00035 std::vector<BarrelDetLayer*> const & pixelBarrelLayers() const {return thePixelBarrelLayers;} 00036 std::vector<BarrelDetLayer*> const & tibLayers() const {return theTibLayers;} 00037 std::vector<BarrelDetLayer*> const & tobLayers() const {return theTobLayers;} 00038 00039 std::vector<ForwardDetLayer*> const & negPixelForwardLayers() const {return theNegPixelForwardLayers;} 00040 std::vector<ForwardDetLayer*> const & negTidLayers() const {return theNegTidLayers;} 00041 std::vector<ForwardDetLayer*> const & negTecLayers() const {return theNegTecLayers;} 00042 00043 std::vector<ForwardDetLayer*> const & posPixelForwardLayers() const {return thePosPixelForwardLayers;} 00044 std::vector<ForwardDetLayer*> const & posTidLayers() const {return thePosTidLayers;} 00045 std::vector<ForwardDetLayer*> const & posTecLayers() const {return thePosTecLayers;} 00046 00047 const DetLayer* detLayer( const DetId& id) const; 00048 00049 private: 00050 std::vector<DetLayer*> theAllLayers; 00051 std::vector<BarrelDetLayer*> theBarrelLayers; 00052 std::vector<ForwardDetLayer*> theForwardLayers; 00053 std::vector<ForwardDetLayer*> theNegForwardLayers; 00054 std::vector<ForwardDetLayer*> thePosForwardLayers; 00055 00056 std::vector<BarrelDetLayer*> thePixelBarrelLayers; 00057 std::vector<BarrelDetLayer*> theTibLayers; 00058 std::vector<BarrelDetLayer*> theTobLayers; 00059 00060 std::vector<ForwardDetLayer*> theNegPixelForwardLayers; 00061 std::vector<ForwardDetLayer*> theNegTidLayers; 00062 std::vector<ForwardDetLayer*> theNegTecLayers; 00063 std::vector<ForwardDetLayer*> thePosPixelForwardLayers; 00064 std::vector<ForwardDetLayer*> thePosTidLayers; 00065 std::vector<ForwardDetLayer*> thePosTecLayers; 00066 }; 00067 00068 00069 #endif