CMS 3D CMS Logo

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