CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/MagneticField/GeomBuilder/src/bLayer.h

Go to the documentation of this file.
00001 #ifndef bLayer_H
00002 #define bLayer_H
00003 
00013 #include "MagneticField/GeomBuilder/src/MagGeoBuilderFromDDD.h"
00014 #include "MagneticField/GeomBuilder/src/volumeHandle.h"
00015 #include "MagneticField/GeomBuilder/src/bSector.h"
00016 
00017 class MagBLayer;
00018 
00019 class MagGeoBuilderFromDDD::bLayer {
00020 public:
00022   bLayer(handles::const_iterator begin, handles::const_iterator end);
00023 
00025   ~bLayer();
00026 
00028   const float RN() const {
00029     return theVolumes.front()->RN();
00030   }
00031 
00033   const handles & volumes() const {return theVolumes;}
00034 
00036   //   const bSector & sector(int i) const;
00037 
00039   double minR() const;
00040 
00041   // Depends on volumeHandle::maxR(), which actually returns max RN.
00042   // (should be changed?)
00043   // double maxR() const;
00044 
00046   MagBLayer * buildMagBLayer() const;
00047 
00048 private:
00049   int size; //< the number of volumes
00050 
00051   // Check periodicity;
00052   int bin(int i) const;
00053 
00054   std::vector<bSector> sectors; // the sectors in this layer
00055   handles theVolumes;  // pointer to all volumes in this layer
00056 
00057   mutable MagBLayer * mlayer;
00058 };
00059 #endif
00060