CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/MagneticField/GeomBuilder/src/bSlab.h

Go to the documentation of this file.
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