00001 #ifndef bSlab_H 00002 #define bSlab_H 00003 00014 #include "MagneticField/GeomBuilder/src/MagGeoBuilderFromDDD.h" 00015 #include "MagneticField/GeomBuilder/src/volumeHandle.h" 00016 #include "DataFormats/GeometryVector/interface/Pi.h" 00017 00018 class MagBSlab; 00019 00020 class MagGeoBuilderFromDDD::bSlab { 00021 public: 00023 bSlab(handles::const_iterator begin, handles::const_iterator end); 00024 00026 ~bSlab(); 00027 00029 const float RN() const { 00030 return volumes.front()->RN(); 00031 } 00032 00034 // FIXME: use volumeHandle [max|min]Phi, which returns phi at median of 00035 // phi plane (not absolute limits). Used by: bRod ctor (only for dphi) 00036 Geom::Phi<float> minPhi() const; 00037 00039 Geom::Phi<float> maxPhi() const; 00040 00042 MagBSlab* buildMagBSlab() const; 00043 00044 private: 00045 handles volumes; // pointers to all volumes in the slab 00046 mutable MagBSlab* mslab; 00047 }; 00048 00049 #endif