CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MagBLayer.h
Go to the documentation of this file.
1 #ifndef MagBLayer_H
2 #define MagBLayer_H
3 
19 #include <vector>
20 
21 class MagBSector;
22 class MagVolume;
23 template <class T> class PeriodicBinFinderInPhi;
24 
25 class MagBLayer {
26 public:
28  MagBLayer(std::vector<MagBSector*>& sectors, double rMin);
29 
31  MagBLayer(MagVolume* aVolume, double rMin);
32 
34  virtual ~MagBLayer();
35 
37  MagVolume * findVolume(const GlobalPoint & gp, double tolerance) const;
38 
40  double minR() const {return theRMin;}
41 
42 private:
43  // To support either the case of a simple one-volume layer or a
44  // composite structure we have both theSectors or theSingleVolume.
45  // Only one can be active at a time; not very elegant, but acceptable.
46  std::vector<MagBSector*> theSectors;
48  double theRMin;
49 
51 
52 };
53 #endif
54 
double theRMin
Definition: MagBLayer.h:48
PeriodicBinFinderInPhi< float > * theBinFinder
Definition: MagBLayer.h:50
MagBLayer(std::vector< MagBSector * > &sectors, double rMin)
Constructor.
Definition: MagBLayer.cc:23
MagVolume * findVolume(const GlobalPoint &gp, double tolerance) const
Find the volume containing a point, with a given tolerance.
Definition: MagBLayer.cc:62
std::vector< MagBSector * > theSectors
Definition: MagBLayer.h:46
MagVolume * theSingleVolume
Definition: MagBLayer.h:47
double minR() const
Lowest radius of the layer.
Definition: MagBLayer.h:40
virtual ~MagBLayer()
Destructor.
Definition: MagBLayer.cc:50