CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MagVolume6Faces.h
Go to the documentation of this file.
1 #ifndef MagVolume6Faces_h
2 #define MagVolume6Faces_h
3 
17 
18 #include <vector>
19 
20 template <class T>
22 
23 class MagVolume6Faces final : public MagVolume {
24 public:
25  MagVolume6Faces(const PositionType& pos,
26  const RotationType& rot,
27  const std::vector<VolumeSide>& faces,
29  double sf = 1.);
30 
31  using MagVolume::inside;
32  bool inside(const GlobalPoint& gp, double tolerance = 0.) const override;
33 
35  const std::vector<VolumeSide>& faces() const override { return theFaces; }
36 
37  //--> These are used for debugging purposes only
38  short volumeNo;
39  char copyno;
40  //<--
41 
42 private:
43  std::vector<VolumeSide> theFaces;
44 };
45 
46 #endif
GloballyPositioned< float >::GlobalPoint GlobalPoint
Definition: MagVolume.h:18
const double tolerance
bool inside(const GlobalPoint &gp, double tolerance=0.) const override
virtual bool inside(const GlobalPoint &gp, double tolerance=0.) const =0
const std::vector< VolumeSide > & faces() const override
Access to volume faces.
std::vector< VolumeSide > theFaces
MagVolume6Faces(const PositionType &pos, const RotationType &rot, const std::vector< VolumeSide > &faces, const MagneticFieldProvider< float > *mfp, double sf=1.)