File indexing completed on 2024-04-06 12:22:33
0001 #ifndef MagBRod_H
0002 #define MagBRod_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #include <vector>
0019
0020 class MagBSlab;
0021 class MagVolume;
0022 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0023 #include "MagneticField/Layers/interface/MagBinFinders.h"
0024
0025 class MagBRod {
0026 public:
0027
0028 MagBRod(std::vector<MagBSlab*>& slabs, Geom::Phi<float> phiMin);
0029
0030
0031 virtual ~MagBRod();
0032
0033
0034 const MagVolume* findVolume(const GlobalPoint& gp, double tolerance) const;
0035
0036
0037 Geom::Phi<float> minPhi() const { return thePhiMin; }
0038
0039 private:
0040 std::vector<MagBSlab*> theSlabs;
0041 Geom::Phi<float> thePhiMin;
0042 MagBinFinders::GeneralBinFinderInZ<double>* theBinFinder;
0043 };
0044 #endif