|
||||
File indexing completed on 2024-04-06 12:22:29
0001 #ifndef bLayer_H 0002 #define bLayer_H 0003 0004 /** \class bLayer 0005 * A layer of barrel volumes. Holds a list of volumes and 12 sectors. 0006 * It is assumed that the geometry is 12-fold periodic in phi! 0007 * 0008 * \author N. Amapane - INFN Torino 0009 */ 0010 0011 #include "bSector.h" 0012 0013 class MagBLayer; 0014 0015 namespace magneticfield { 0016 0017 class bLayer { 0018 public: 0019 /// Constructor from list of volumes 0020 bLayer(handles::const_iterator begin, handles::const_iterator end, bool debugFlag = false); 0021 0022 /// Destructor 0023 ~bLayer() = default; 0024 0025 /// Distance from center along normal of sectors. 0026 const float RN() const { return theVolumes.front()->RN(); } 0027 0028 /// Return the list of all volumes. 0029 const handles& volumes() const { return theVolumes; } 0030 0031 /// Return sector at i (handling periodicity) 0032 // const bSector & sector(int i) const; 0033 0034 /// Min R (conservative guess). 0035 double minR() const; 0036 0037 // Depends on volumeHandle::maxR(), which actually returns max RN. 0038 // (should be changed?) 0039 // double maxR() const; 0040 0041 /// Construct the MagBLayer upon request. 0042 MagBLayer* buildMagBLayer() const; 0043 0044 private: 0045 int size; //< the number of volumes 0046 0047 // Check periodicity; 0048 int bin(int i) const; 0049 0050 std::vector<bSector> sectors; // the sectors in this layer 0051 handles theVolumes; // pointer to all volumes in this layer 0052 0053 mutable MagBLayer* mlayer; 0054 const bool debug; 0055 }; 0056 } // namespace magneticfield 0057 0058 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |