00001 #ifndef MagBRod_H 00002 #define MagBRod_H 00003 00020 #include <vector> 00021 00022 class MagBSlab; 00023 class MagVolume; 00024 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00025 #include "MagneticField/Layers/src/MagBinFinders.h" 00026 00027 class MagBRod { 00028 public: 00030 MagBRod(std::vector<MagBSlab*>& slabs, Geom::Phi<float> phiMin); 00031 00033 virtual ~MagBRod(); 00034 00036 MagVolume * findVolume(const GlobalPoint & gp, double tolerance) const; 00037 00039 Geom::Phi<float> minPhi() const {return thePhiMin;} 00040 00041 private: 00042 std::vector<MagBSlab*> theSlabs; 00043 Geom::Phi<float> thePhiMin; 00044 MagBinFinders::GeneralBinFinderInZ<double>* theBinFinder; 00045 00046 }; 00047 #endif 00048 00049